Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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));
        }