public static ContributionDates GetContributionDatesFromService(string SchemeName, string MemberNumber) { ContributionSummary_Service contributionService = new ContributionSummary_Service(); contributionService.Url = "http://" + PensionSetup.ServerName + ":" + PensionSetup.ServerPort + "/" + PensionSetup.ServerInstance + "/WS/" + SchemeName + "/Page/ContributionSummary"; contributionService.UseDefaultCredentials = false; contributionService.Credentials = new NetworkCredential(PensionSetup.SoapUsername, PensionSetup.SoapPassword); List <ContributionSummary_Filter> filterArray = new List <ContributionSummary_Filter>(); ContributionSummary_Filter nameFilter = new ContributionSummary_Filter(); //ContributionSummary_Filter nameFilter1 = new ContributionSummary_Filter(); nameFilter.Field = ContributionSummary_Fields.Vendor_No; nameFilter.Criteria = MemberNumber; //nameFilter1.Field = ContributionSummary_Fields.Contribution_Period; //nameFilter1.Criteria = "01/01/2015..12/31/2015"; filterArray.Add(nameFilter); //filterArray.Add(nameFilter1); ContributionSummary[] contribution = contributionService.ReadMultiple(filterArray.ToArray(), null, 0); DateTime startDate = contribution.Where(m => m.Vendor_No == MemberNumber).Select(d => d.Min_Cont_Date).First(); DateTime endDate = contribution.Where(m => m.Vendor_No == MemberNumber).First().Max_Cont_Date; ContributionDates contributionDates = new ContributionDates(); contributionDates.startDate = startDate; contributionDates.endDate = endDate; return(contributionDates); }
public ActionResult GetMonthlyContributionSummary(string start, string end) { var user = UserManager.Users.Where(x => x.UserName == User.Identity.Name).First(); string SchemeName = PensionSetup.GetSchemeNameAsync(user.SponsorNumber); ContributionSummary_Service contributionService = new ContributionSummary_Service(); contributionService.Url = "http://" + PensionSetup.ServerName + ":" + PensionSetup.ServerPort + "/" + PensionSetup.ServerInstance + "/WS/" + SchemeName + "/Page/ContributionSummary"; contributionService.UseDefaultCredentials = false; contributionService.Credentials = new NetworkCredential(PensionSetup.SoapUsername, PensionSetup.SoapPassword); List <ContributionSummary_Filter> filterArray = new List <ContributionSummary_Filter>(); ContributionSummary_Filter nameFilter = new ContributionSummary_Filter(); string MemberNumber = user.MemberNumber; nameFilter.Field = ContributionSummary_Fields.Vendor_No; nameFilter.Criteria = MemberNumber; filterArray.Add(nameFilter); ContributionSummary[] contribution = contributionService.ReadMultiple(filterArray.ToArray(), null, 0); var contributionStartDate = contribution.Where(m => m.Vendor_No == MemberNumber).Select(d => d.Min_Cont_Date).First(); var contributionEndDate = contribution.Where(m => m.Vendor_No == MemberNumber).First().Max_Cont_Date; DateTime startDate; DateTime endDate; if (start == "" || end == "") { startDate = contributionStartDate; endDate = contributionEndDate; } else { startDate = DateTime.ParseExact(start, "dd/MM/yyyy", CultureInfo.InvariantCulture); endDate = DateTime.ParseExact(end, "dd/MM/yyyy", CultureInfo.InvariantCulture); } startDate = startDate.Date; endDate = endDate.Date; var startDateObj = new DateTime(startDate.Year, startDate.Month, startDate.Day); var endDateObj = new DateTime(endDate.Year, endDate.Month, endDate.Day); //var contributionStartDateObj = new DateTime(contributionStartDate.Year, contributionStartDate.Month, contributionStartDate.Day); //var contributionEndDateObj = new DateTime(contributionEndDate.Year, contributionEndDate.Month, contributionEndDate.Day); //if (startDateObj < contributionStartDateObj) //{ // startDateObj = contributionStartDateObj; //} //if (endDateObj < contributionEndDate) //{ // endDateObj = contributionEndDateObj; //} decimal result = 0; decimal unregEmployeeAmount = 0; decimal regEmployeeAmount = 0; decimal unregEmployerAmount = 0; decimal regEmployerAmount = 0; decimal regEmployeeAdditionalAmount = 0; decimal regEmployerAdditionalAmount = 0; decimal unregEmployeeAdditionalAmount = 0; decimal unregEmployerAdditionalAmount = 0; decimal Pre90EEAmount = 0; decimal Pre90ERAmount = 0; List <Contributions> monthlyContributionArray = new List <Contributions>(); DateTime curDateObj = startDateObj; while (startDateObj <= endDateObj) { var currentYear = startDateObj.Year; var currentMonth = startDateObj.Month; //Registered Employee Contribution result = contribution.Where(r => (int)r.Contribution_Type == 1 && (int)r.Exemption_Type == 1 && (int)r.Transaction_Type == 1 && r.Contribution_Period.Year == currentYear && r.Contribution_Period.Month == currentMonth) .Select(r => r.Amount_LCY) .Sum(); if (result == 0) { regEmployeeAmount = 0; } else { regEmployeeAmount = result; } //Unregistered Employee Contribution result = contribution.Where(r => (int)r.Contribution_Type == 5 && (int)r.Transaction_Type == 1 && (int)r.Exemption_Type == 2 && r.Contribution_Period.Year == currentYear && r.Contribution_Period.Month == currentMonth) .Select(x => x.Amount_LCY) .Sum(); if (result == 0) { unregEmployeeAmount = 0; } else { unregEmployeeAmount = result; } var totalEmployeeContribution = regEmployeeAmount + unregEmployeeAmount; //Registered Employer Contribution result = contribution.Where(c => (int)c.Contribution_Type == 2 && (int)c.Transaction_Type == 1 && (int)c.Exemption_Type == 1 && c.Contribution_Period.Year == currentYear && c.Contribution_Period.Month == currentMonth).Select(x => x.Amount_LCY).Sum(); if (result == 0) { regEmployerAmount = 0; } else { regEmployerAmount = result; } //Unregistered Employer Contribution result = contribution.Where(c => (int)c.Contribution_Type == 6 && (int)c.Transaction_Type == 1 && (int)c.Exemption_Type == 2 && c.Contribution_Period.Year == currentYear && c.Contribution_Period.Month == currentMonth) .Select(x => x.Amount_LCY) .Sum(); if (result == 0) { unregEmployerAmount = 0; } else { unregEmployerAmount = result; } var totalEmployerContribution = regEmployerAmount + unregEmployerAmount; //Registered Employee Additional Contribution result = contribution.Where(c => (int)c.Contribution_Type == 4 && (int)c.Transaction_Type == 1 && (int)c.Exemption_Type == 1 && c.Contribution_Period.Year == currentYear && c.Contribution_Period.Month == currentMonth) .Select(x => x.Amount_LCY) .Sum(); if (result == 0) { regEmployeeAdditionalAmount = 0; } else { regEmployeeAdditionalAmount = result; } //Unregistered Employee Additional Contribution result = contribution.Where(c => (int)c.Contribution_Type == 10 && (int)c.Transaction_Type == 1 && (int)c.Exemption_Type == 2 && c.Contribution_Period.Year == currentYear && c.Contribution_Period.Month == currentMonth) .Select(x => x.Amount_LCY) .Sum(); if (result == 0) { unregEmployeeAdditionalAmount = 0; } else { unregEmployeeAdditionalAmount = result; } var totalAdditionalEmployeeContribution = regEmployeeAdditionalAmount + unregEmployeeAdditionalAmount; //Registered Employer Additional Contribution result = contribution.Where(c => (int)c.Contribution_Type == 3 && (int)c.Transaction_Type == 1 && (int)c.Exemption_Type == 1 && c.Contribution_Period.Year == currentYear && c.Contribution_Period.Month == currentMonth) .Select(x => x.Amount_LCY) .Sum(); if (result == 0) { regEmployerAdditionalAmount = 0; } else { regEmployerAdditionalAmount = result; } //Unregistered Employer Additional Contribution result = contribution.Where(c => (int)c.Contribution_Type == 11 && (int)c.Transaction_Type == 1 && (int)c.Exemption_Type == 2 && c.Contribution_Period.Year == currentYear && c.Contribution_Period.Month == currentMonth) .Select(x => x.Amount_LCY) .Sum(); if (result == 0) { unregEmployerAdditionalAmount = 0; } else { unregEmployerAdditionalAmount = result; } //PRE 90 EE result = contribution.Where(c => (int)c.Contribution_Type == 12 && (int)c.Transaction_Type == 1 && (int)c.Exemption_Type == 2 && c.Contribution_Period.Year == currentYear && c.Contribution_Period.Month == currentMonth) .Select(x => x.Amount_LCY) .Sum(); if (result == 0) { Pre90EEAmount = 0; } else { Pre90EEAmount = result; } //PRE 90 ER result = contribution.Where(c => (int)c.Contribution_Type == 13 && (int)c.Transaction_Type == 1 && (int)c.Exemption_Type == 2 && c.Contribution_Period.Year == currentYear && c.Contribution_Period.Month == currentMonth) .Select(x => x.Amount_LCY) .Sum(); if (result == 0) { Pre90ERAmount = 0; } else { Pre90ERAmount = result; } var totalAdditionalEmployerContribution = regEmployerAdditionalAmount + unregEmployerAdditionalAmount; var avc = totalAdditionalEmployeeContribution + totalAdditionalEmployerContribution; var totalPRE90 = Pre90EEAmount + Pre90ERAmount; var totalContribution = totalEmployeeContribution + totalEmployerContribution + totalAdditionalEmployeeContribution + totalAdditionalEmployerContribution + totalPRE90; var arr = new Contributions { REG_EMPLOYEE_CONTRIBUTION = System.Math.Abs(regEmployeeAmount), UNREG_EMPLOYEE_CONTRIBUTION = System.Math.Abs(unregEmployeeAmount), ER = System.Math.Abs(totalEmployeeContribution), EE = System.Math.Abs(totalEmployerContribution), AVC = System.Math.Abs(avc), REG_EMPLOYER_CONTRIBUTION = System.Math.Abs(regEmployerAmount), UNREG_EMPLOYER_CONTRIBUTION = System.Math.Abs(unregEmployerAmount), REG_EMPLOYEE_ADDITIONAL_CONTRIBUTION = System.Math.Abs(regEmployeeAdditionalAmount), UNREG_EMPLOYEE_ADDITIONAL_CONTRIBUTION = System.Math.Abs(unregEmployeeAdditionalAmount), REG_EMPLOYER_ADDITIONAL_CONTRIBUTION = System.Math.Abs(regEmployerAdditionalAmount), UNREG_EMPLOYER_ADDITIONAL_CONTRIBUTION = System.Math.Abs(unregEmployerAdditionalAmount), REG_AVC = System.Math.Abs(regEmployerAdditionalAmount + regEmployeeAdditionalAmount), UNREG_AVC = System.Math.Abs(unregEmployerAdditionalAmount + unregEmployeeAdditionalAmount), TOTAL_PRE_90 = System.Math.Abs(totalPRE90), PRE_90_EE = System.Math.Abs(Pre90EEAmount), PRE_90_ER = System.Math.Abs(Pre90ERAmount), FMT_TOTAL_EMPLOYEE_CONTRIBUTION = System.Math.Abs(totalEmployeeContribution), FMT_TOTAL_EMPLOYER_CONTRIBUTION = System.Math.Abs(totalEmployerContribution), FMT_AVC = System.Math.Abs(avc), FMT_TOTAL_CONTRIBUTION = System.Math.Abs(totalContribution), DATE = curDateObj }; monthlyContributionArray.Add(arr); curDateObj = curDateObj.AddMonths(1); startDateObj = curDateObj; } return(Json(monthlyContributionArray, JsonRequestBehavior.AllowGet)); }
public ActionResult GetContributionSummary() { var user = UserManager.Users.Where(x => x.UserName == User.Identity.Name).First(); string SchemeName = PensionSetup.GetSchemeNameAsync(user.SponsorNumber); ContributionSummary_Service contributionService = new ContributionSummary_Service(); contributionService.Url = "http://" + PensionSetup.ServerName + ":" + PensionSetup.ServerPort + "/" + PensionSetup.ServerInstance + "/WS/" + SchemeName + "/Page/ContributionSummary"; contributionService.UseDefaultCredentials = false; contributionService.Credentials = new NetworkCredential(PensionSetup.SoapUsername, PensionSetup.SoapPassword); List <ContributionSummary_Filter> filterArray = new List <ContributionSummary_Filter>(); ContributionSummary_Filter nameFilter = new ContributionSummary_Filter(); string MemberNumber = user.MemberNumber; nameFilter.Field = ContributionSummary_Fields.Vendor_No; nameFilter.Criteria = MemberNumber; filterArray.Add(nameFilter); ContributionSummary[] contribution = contributionService.ReadMultiple(filterArray.ToArray(), null, 0); DateTime startDate = contribution.Where(m => m.Vendor_No == MemberNumber).Select(d => d.Min_Cont_Date).First(); DateTime endDate = contribution.Where(m => m.Vendor_No == MemberNumber).First().Max_Cont_Date; int startD = startDate.Year; int endD = endDate.Year; decimal result = 0; decimal unregEmployeeAmount = 0; decimal regEmployeeAmount = 0; decimal unregEmployerAmount = 0; decimal regEmployerAmount = 0; decimal regEmployeeAdditionalAmount = 0; decimal regEmployerAdditionalAmount = 0; decimal unregEmployeeAdditionalAmount = 0; decimal unregEmployerAdditionalAmount = 0; decimal Pre90EEAmount = 0; decimal Pre90ERAmount = 0; List <Contributions> contributionArray = new List <Contributions>(); for (var currentYear = startD; currentYear <= endD; currentYear++) { result = contribution.Where(r => (int)r.Contribution_Type == 1 && (int)r.Exemption_Type == 1 && (int)r.Transaction_Type == 1 && r.Contribution_Period.Year == currentYear) .Select(r => r.Amount_LCY) .Sum(); if (result == 0) { regEmployeeAmount = 0; } else { regEmployeeAmount = result; } result = contribution.Where(r => (int)r.Contribution_Type == 5 && (int)r.Transaction_Type == 1 && (int)r.Exemption_Type == 2 && r.Contribution_Period.Year == currentYear) .Select(x => x.Amount_LCY) .Sum(); if (result == 0) { unregEmployeeAmount = 0; } else { unregEmployeeAmount = result; } var totalEmployeeContribution = regEmployeeAmount + unregEmployeeAmount; result = contribution.Where(c => (int)c.Contribution_Type == 2 && (int)c.Transaction_Type == 1 && (int)c.Exemption_Type == 1 && c.Contribution_Period.Year == currentYear).Select(x => x.Amount_LCY).Sum(); if (result == 0) { regEmployerAmount = 0; } else { regEmployerAmount = result; } result = contribution.Where(c => (int)c.Contribution_Type == 6 && (int)c.Transaction_Type == 1 && (int)c.Exemption_Type == 2 && c.Contribution_Period.Year == currentYear) .Select(x => x.Amount_LCY) .Sum(); if (result == 0) { unregEmployerAmount = 0; } else { unregEmployerAmount = result; } var totalEmployerContribution = regEmployerAmount + unregEmployerAmount; result = contribution.Where(c => (int)c.Contribution_Type == 4 && (int)c.Transaction_Type == 1 && (int)c.Exemption_Type == 1 && c.Contribution_Period.Year == currentYear) .Select(x => x.Amount_LCY) .Sum(); if (result == 0) { regEmployeeAdditionalAmount = 0; } else { regEmployeeAdditionalAmount = result; } result = contribution.Where(c => (int)c.Contribution_Type == 10 && (int)c.Transaction_Type == 1 && (int)c.Exemption_Type == 2 && c.Contribution_Period.Year == currentYear) .Select(x => x.Amount_LCY) .Sum(); if (result == 0) { unregEmployeeAdditionalAmount = 0; } else { unregEmployeeAdditionalAmount = result; } var totalAdditionalEmployeeContribution = regEmployeeAdditionalAmount + unregEmployeeAdditionalAmount; result = contribution.Where(c => (int)c.Contribution_Type == 3 && (int)c.Transaction_Type == 1 && (int)c.Exemption_Type == 1 && c.Contribution_Period.Year == currentYear) .Select(x => x.Amount_LCY) .Sum(); if (result == 0) { regEmployerAdditionalAmount = 0; } else { regEmployerAdditionalAmount = result; } result = contribution.Where(c => (int)c.Contribution_Type == 11 && (int)c.Transaction_Type == 1 && (int)c.Exemption_Type == 2 && c.Contribution_Period.Year == currentYear) .Select(x => x.Amount_LCY) .Sum(); if (result == 0) { unregEmployerAdditionalAmount = 0; } else { unregEmployerAdditionalAmount = result; } result = contribution.Where(c => (int)c.Contribution_Type == 12 && (int)c.Transaction_Type == 1 && (int)c.Exemption_Type == 2 && c.Contribution_Period.Year == currentYear) .Select(x => x.Amount_LCY) .Sum(); if (result == 0) { Pre90EEAmount = 0; } else { Pre90EEAmount = result; } result = contribution.Where(c => (int)c.Contribution_Type == 13 && (int)c.Transaction_Type == 1 && (int)c.Exemption_Type == 2 && c.Contribution_Period.Year == currentYear) .Select(x => x.Amount_LCY) .Sum(); if (result == 0) { Pre90ERAmount = 0; } else { Pre90ERAmount = result; } var totalAdditionalEmployerContribution = regEmployerAdditionalAmount + unregEmployerAdditionalAmount; var avc = totalAdditionalEmployeeContribution + totalAdditionalEmployerContribution; var totalPRE90 = Pre90EEAmount + Pre90ERAmount; var totalContribution = totalEmployeeContribution + totalEmployerContribution + totalAdditionalEmployeeContribution + totalAdditionalEmployerContribution + totalPRE90; if (totalContribution == 0) { continue; } var arr = new Contributions { TOTAL_EMPLOYEE_CONTRIBUTION = System.Math.Abs(totalEmployeeContribution), REG_EMPLOYER_CONTRIBUTION = System.Math.Abs(regEmployerAmount), UNREG_EMPLOYER_CONTRIBUTION = System.Math.Abs(unregEmployerAmount), TOTAL_EMPLOYER_CONTRIBUTION = System.Math.Abs(totalEmployerContribution), REG_EMPLOYEE_CONTRIBUTION = System.Math.Abs(regEmployeeAmount), UNREG_EMPLOYEE_CONTRIBUTION = System.Math.Abs(unregEmployeeAmount), TOTAL_ADDITIONAL_EMPLOYER_CONTRIBUTION = System.Math.Abs(totalAdditionalEmployerContribution), TOTAL_ADDITIONAL_EMPLOYEE_CONTRIBUTION = System.Math.Abs(totalAdditionalEmployeeContribution), AVC = avc, REG_AVC = System.Math.Abs(regEmployerAdditionalAmount + regEmployeeAdditionalAmount), UNREG_AVC = System.Math.Abs(unregEmployerAdditionalAmount + unregEmployeeAdditionalAmount), TOTAL_PRE_90 = System.Math.Abs(totalPRE90), PRE_90_EE = System.Math.Abs(Pre90EEAmount), PRE_90_ER = System.Math.Abs(Pre90ERAmount), TOTAL_PRE_90_EE = System.Math.Abs(Pre90EEAmount), TOTAL_PRE_90_ER = System.Math.Abs(Pre90ERAmount), TOTAL_CONTRIBUTION = System.Math.Abs(totalContribution), FMT_TOTAL_EMPLOYEE_CONTRIBUTION = System.Math.Abs(totalEmployeeContribution), FMT_TOTAL_EMPLOYER_CONTRIBUTION = System.Math.Abs(totalEmployerContribution), FMT_AVC = System.Math.Abs(avc), FMT_TOTAL_CONTRIBUTION = System.Math.Abs(totalContribution), YEAR = currentYear }; contributionArray.Add(arr); } return(Json(contributionArray, JsonRequestBehavior.AllowGet)); }