Mr.Combet Webshell
Your IP :
216.73.216.136
Server IP :
103.233.58.157
Server :
Windows NT WIN-4PGF72KEHKB 10.0 build 17763 (Windows Server 2016) AMD64
Server Software :
Microsoft-IIS/10.0
PHP Version :
7.3.25
Add File :
Submit
Add Directory :
Submit
Dir :
C:
/
inetpub
/
wwwroot
/
map
/
Views
/
FarmerDiary
/
View File Name :
_FarmerDiaryExpenseTab.cshtml
@model RER_Project.DataAccess.ViewModels.Baseline.BaselineViewModel @using RER_Project.Core.Helpers; @using RER_Project.BusinessLayer.BusinessService @{ var meta = AppUserService.GetCurrent(); } @{ var memberStatus = Model.MemberDetailView.IsActive; } @if (memberStatus) { <form id="CreateExpenses"> <input type="hidden" id="ExpenseId" name="Id" /> <input type="hidden" name="ExpenseDate" id="ExpenseDate" /> <input type="hidden" name="ExpenseDateNepali" id="ExpenseDateNepali" /> <div id="eror_msg"></div> <div class="row"> <div class="form-group col-md-3"> <label><strong>Data Collection Date</strong></label> <input type="text" class="required form-control" id="expenseDateNepaliDatePicker" disabled /> </div> <div class="form-group col-md-3"> <label><strong>Commodity</strong></label> <select type="text" class="form-control required" name="Commodity" id="CommodityExpense" data-api="/commodity/select" data-api-selected-value="@Model.MemberDetailView.Commodity" disabled></select> </div> <div class="form-group col-md-3"> <label><strong>Product Name</strong></label> <select type="text" class="form-control required" name="Category" id="CategoryExpense" data-api="/commodity_subtype/select"></select> </div> <div class="form-group col-md-3"> <label><strong>Expense Head</strong></label> <select type="text" class="form-control required" name="ExpenseHead" id="ExpenseHead" data-api="/expense-head/select"></select> </div> @*<div class="form-group col-md-3"> <label><strong>Unit</strong></label> <select type="text" class="form-control required" name="Unit" id="CommodityWiseUnit"></select> </div>*@ <div class="form-group col-md-3"> <label><strong>Expense Amount</strong></label> <div class="inputWithIcon"> <input type="text" class="curr form-control required currencyFormatter" onkeypress="return isNumberKey(this,event)" maxlength="12" name="ExpenseAmount" id="ExpenseAmount"> <span><strong>Rs</strong></span> </div> @* <input type="text" onkeypress="return isNumberKey(this,event)" maxlength="8" id="ExpenseAmount" class="form-control required" name="ExpenseAmount" />*@ </div> <div class="form-group col-md-3"> <label><strong>Loan Amount</strong></label> <div class="inputWithIcon"> <input type="text" class="curr form-control required currencyFormatter" onkeypress="return isNumberKey(this,event)" maxlength="12" name="LoanAccess" id="LoanAccess" q> <span><strong>Rs</strong></span> </div> </div> <div class="form-group col-md-3"> <label><strong>Subsidized Amount</strong></label> <div class="inputWithIcon"> <input type="text" class="curr form-control required currencyFormatter" onkeypress="return isNumberKey(this,event)" maxlength="12" name="SubsidizedLoan" id="SubsidizedLoan"> <span><strong>Rs</strong></span> </div> </div> <div class="form-group col-md-3"> <label><strong>BFIs/Coop</strong></label> <select type="text" class="form-control required" name="ClassId" id="BfiCoop" data-api="/banks-class/select" onchange="showDiv(this)"></select> </div> <div class="form-group col-md-3"> <label><strong>BFI</strong></label> <select type="text" class="form-control" name="BankId" id="Bfi" data-api="/banks-name-by-type/select" disabled=""></select> </div> <div class="form-group col-md-3 hide-div" > <label><strong>Coop Name/Others</strong> :</label> <input type="text" id="CoopOther" name="CoopOther" class="form-control" /> </div> </div> </form> } <div class="row"> <div class="form-group col-md-12"> @if (memberStatus) { <div class="pull-right"> @if (meta.RoleId == (int)EnumRoleHelper.Roles.Admin || meta.RoleId == (int)EnumRoleHelper.Roles.MnE || meta.RoleId == (int)EnumRoleHelper.Roles.MnEOfficer) { <input type="button" value="Save" class="btn btn-primary" id="SubmitExpenses" /> } <a href="/farmer_diary/time_frame/member/@Model.MemberDetailView.Id" class="btn btn-default"><i class="fa fa-arrow-circle-o-left" aria-hidden="true"></i> Back</a> </div> } <div class="pull-left"> <a class="btn btn-primary btnPrevious"><i class="fa fa-arrow-circle-o-left" aria-hidden="true"></i> Previous</a> <a class="btn btn-primary btnNext">Next <i class="fa fa-arrow-circle-o-right" aria-hidden="true"></i></a> </div> </div> </div> <div class="table-responsive" style="margin-top: 16px;"> <table class="table table-bordered table-hover" name="tblExpenses" id="tblExpenses"> <thead> <tr> @*<th>Product Name</th>*@ <th>Expense Head</th> <th style="text-align:center">Expense Amount (Rs)</th> @* <th>Unit</th>*@ <th style="text-align:center">Expense Date (BS)</th> @if (memberStatus) { <th> Action</th> } </tr> </thead> <tbody> </tbody> </table> <h3>Total Expense : <span id="totalExpense"></span></h3> </div> <script type="text/javascript"> $(document).ready(function () { $('.hide-div').hide(); }); $("#SubmitExpenses").off("click").on("click", function () { function request(model) { const url = "/farmer_diary/expense/create"; const data = JSON.stringify(model); return window.getAjaxRequest(url, "POST", data); } const form = $("#CreateExpenses"); $.validator.unobtrusive.parse(form); if (!form.valid()) { return false; }; if (!window.confirmAction()) { return; }; WorkForce.loader.show(); var allFormData = window.serializeForm(form); function getModel() { return (getFarmerDiaryExpenses()); } function getFarmerDiaryExpenses() { var farmerDiaryExpense = {}; farmerDiaryExpense.Id = allFormData.Id; farmerDiaryExpense.Commodity = allFormData.Commodity; farmerDiaryExpense.Category = allFormData.Category; farmerDiaryExpense.ExpenseHead = allFormData.ExpenseHead; farmerDiaryExpense.LoanAmount = allFormData.LoanAmount; farmerDiaryExpense.SubsidizedAmount = allFormData.SubsidizedAmount; farmerDiaryExpense.BFI = allFormData.ClassId; farmerDiaryExpense.BFICoop = allFormData.BankNameId; //farmerDiaryExpense.Unit = allFormData.Unit; farmerDiaryExpense.ExpenseAmount = removeCommaFromString(allFormData.ExpenseAmount); farmerDiaryExpense.ExpenseDate = allFormData.ExpenseDate; farmerDiaryExpense.ExpenseDateNepali = allFormData.ExpenseDateNepali; farmerDiaryExpense.FiscalYear = '@ViewBag.FiscalYear'; farmerDiaryExpense.Quadtrimester = '@ViewBag.Quadrimester'; farmerDiaryExpense.MemberId = @Model.MemberDetailView.Id; farmerDiaryExpense.BaselineId = @Model.Baseline.Id; farmerDiaryExpense.GroupId = @Model.MemberDetailView.GroupId; farmerDiaryExpense.DistrictId = '@Model.MemberDetailView.DistrictId'; return farmerDiaryExpense; } const model = getModel(); const ajax = request(model); ajax.done(function (response) { WorkForce.loader.hide(); showNotification("success"); loadExpense(); clearAllExpenseData(); }); ajax.fail(function (xhr) { WorkForce.loader.hide(); ShowMessage("error", xhr.responseText); }); }); function showDiv(select) { if (select.value === "5" || select.value === "6") { $(".hide-div").show(); } else { $(".hide-div").hide(); } }; function clearAllExpenseData() { $("#ExpenseId").val(''); $('#ExpenseAmount').val(''); $('#CommodityWiseUnit').val(''); $('#ExpenseHead').val(''); $('#CategoryExpense').val(''); $('#LoanAccess').val(''); $('#SubsidizedLoan').val(''); $('#ClassId').val(''); $('#BankNameId').val(''); $('#CoopOther').val(''); } function loadExpense() { setCurrentDateInDatePicker(); const ajax = request(); function request() { const url = '/farmer_diary/expense/member/' + @Model.MemberDetailView.Id + '/fiscal/' + @ViewBag.FiscalYear + "/quad/" + '@ViewBag.Quadrimester'; return window.getAjaxRequest(url, "Get", @Model.MemberDetailView.Id); } ajax.done(function (response) { addFarmerDiaryExpenseListToTable(response); }); ajax.fail(function (xhr) { ShowMessage("error", xhr.responseText); }); } function setCurrentDateInDatePicker() { var expenseDate = new Date(); var expenseNepaliDate = calendarFunctions.getBsDateByAdDate(expenseDate.getFullYear(), expenseDate.getMonth() + 1, expenseDate.getDate()); var formatedNepaliDate = calendarFunctions.bsDateFormat("%y-%M-%d", expenseNepaliDate.bsYear, expenseNepaliDate.bsMonth, expenseNepaliDate.bsDate); $("#expenseDateNepaliDatePicker").val(formatedNepaliDate); $("#ExpenseDate").val(formatDate(new Date())); $("#ExpenseDateNepali").val(`${expenseNepaliDate.bsYear}-${expenseNepaliDate.bsMonth}-${expenseNepaliDate.bsDate}`); } function addFarmerDiaryExpenseListToTable(response) { var status = '@memberStatus'; console.log(response); $('#tblExpenses tbody > tr').remove(); var table = $("#tblExpenses tbody"); var totalExpense = 0; let group = response.reduce((r, a) => { r[a.category] = [...r[a.category] || [], a]; return r; }, {}); for (var key in group) { var row = "<tr style='line-height:30px;background-color:#edf0ee;color:black'>"; var obj = group[key]; row += "<th >Product - " + key + " ( " + '@Model.MemberDetailView.CommodityName' +" )" + "</th>"; var sum = 0; obj.forEach(function (x) { sum += parseFloat(x.expense_amount); }); row += "<th style='text-align:right'><span> Total : Rs." + getNumberWithComma(sum) + "</span></th><th colspan='2'></th><th class='hideshow'></th></tr>"; sum = 0; obj.forEach(function (x) { totalExpense += parseFloat(x.expense_amount); row += "<td> <strong>-</strong> " + x.expense_head + "</td>"; row += "<td><strong><center>" + Number(parseFloat(x.expense_amount).toFixed(2)).toLocaleString("en-IN", { minimumFractionDigits: 2 }) + "</center></strong></td>"; //row += "<td>" + x.unit + "</td>"; row += "<td><center>" + x.expense_date_nepali + "</center></td>"; row += "<td class='hideshow'>" + "<a class='btn btn-default btn-xs' style='color:dodgerblue' onclick=editFarmerDiaryExpenseForm(" + x.id + ") ><i class='fa fa-edit'></i ></a>" + " <a class='btn btn-default btn-xs' style='color:dodgerblue' onclick=deleteFarmerDiaryExpense(" + x.id + ") ><i class='fa fa-trash'></i ></a> " + " <span onclick=showFarmerDiaryExpenseRecommendPopUp(" + x.id + ") class='badge'>Recommend</span> </center></td ></tr>"; $('#totalExpense').text('Rs.' + getNumberWithComma(totalExpense)); }) table.append(row); } if (status === 'False') { $('.hideshow').hide(); } } function editFarmerDiaryExpenseForm(expenseId) { clearAllExpenseData(); const ajax = request(expenseId); function request(expenseId) { const url = '/farmer_diary/expense/' + expenseId; return window.getAjaxRequest(url, "Get", expenseId); } ajax.done(function (response) { window.scrollTo(200, 0); console.log(response); $('#ExpenseId').val(response.Id); $('#CategoryExpense').val(response.Category); $('#ExpenseHead').val(response.ExpenseHead); $('#CommodityWiseUnit').val(response.Unit); $('#ExpenseAmount').val(getNumberWithComma(response.ExpenseAmount)); $('#ExpenseDateNepali').val(response.ExpenseDateNepali); $('#ExpenseDate').val(response.ExpenseDate); $('#FiscalYear').val(response.FiscalYear); $('#Quadtrimester').val(response.Quadtrimester); if (response.ExpenseDate === null) { response.ExpenseDate = ''; } var expenseDate = new Date(formatDate(response.ExpenseDate)); var expenseNepaliDate = calendarFunctions.getBsDateByAdDate(expenseDate.getFullYear(), expenseDate.getMonth() + 1, expenseDate.getDate()); var formatedNepaliDate = calendarFunctions.bsDateFormat("%y-%M-%d", expenseNepaliDate.bsYear, expenseNepaliDate.bsMonth, expenseNepaliDate.bsDate); $("#expenseDateNepaliDatePicker").val(formatedNepaliDate); }); ajax.fail(function (xhr) { ShowMessage("error", xhr.responseText); }); } function deleteFarmerDiaryExpense(expenseId) { let conf = confirm(`Are you sure you want to delete this Expense ?`); if (!conf) { return; } else { const ajaxResponse = requestFarmerDiaryExpenseToDelete(expenseId); ajaxResponse.done(function (response) { WorkForce.loader.hide(); if (response) { loadExpense(); ShowMessage("success", "Successfully Deleted this Expense"); } WorkForce.loader.hide(); }); ajaxResponse.fail(function (xhr) { WorkForce.loader.hide(); ShowMessage("Error", xhr.responseText); }); WorkForce.loader.hide(); } } function requestFarmerDiaryExpenseToDelete(expenseId) { const url = "/farmer_diary/expense/delete/"; const data = JSON.stringify({ "Id": expenseId}); return window.getAjaxRequest(url, "POST", data); } function showFarmerDiaryExpenseRecommendPopUp(id) { $('#recommendFarmerDiaryModel').modal('show'); $('#RowIdInPopUp').val(id); $('#TableName').val('FarmerDiaryExpense'); } </script>