示例#1
0
        IList <PolicyBudgetsModel> IPolicyService.GetAllPolicyBudgets(int policyId)
        {
            var policyBudget  = new List <PolicyBudgetsModel>();
            var budgetDetails = _commonService.GetAllPolicyBudgets(policyId);

            if (budgetDetails == null)
            {
                return(policyBudget);
            }

            budgetDetails.ToList().ForEach(b =>
            {
                var isExist = policyBudget.FirstOrDefault(pb => pb.Year == b.BudgetYear &&
                                                          pb.PolicyId == b.PolicyId);

                if (isExist == null)
                {
                    var policy = _policyRepository.GetById(b.PolicyId);
                    var budget = new PolicyBudgetsModel()
                    {
                        PolicyId     = b.PolicyId,
                        PolicyNumber = policy.PolicyNumber,
                        ClientId     = b.ClientId,
                        Year         = b.BudgetYear
                    };
                    policyBudget.Add(budget);
                    AssignBudget(budget, b.BudgetMonth, b.BudgetValue);
                }
                if (isExist != null)
                {
                    AssignBudget(isExist, b.BudgetMonth, b.BudgetValue);
                }
            });
            return(policyBudget);
        }
示例#2
0
        private PolicyBudgetsModel MapCarrier(PolicyBudgetsModel PB)
        {
            var policy  = _policyService.GetById(PB.PolicyId);
            var client  = _clinetService.GetById(PB.ClientId);
            var carrier = _carrierService.GetById(policy.CarId);

            PB.CarrierName = carrier?.Name;
            PB.ClientName  = client?.Name;
            return(PB);
        }
示例#3
0
        private void AssignBudget(PolicyBudgetsModel budget, string month, decimal amount)
        {
            switch (month.ToLower())
            {
            case "jan":
                budget.JanBudget = amount;
                break;

            case "feb":
                budget.FebBudget = amount;
                break;

            case "mar":
                budget.MarchBudget = amount;
                break;

            case "apr":
                budget.AprilBudget = amount;
                break;

            case "may":
                budget.MayBudget = amount;
                break;

            case "jun":
                budget.JunBudget = amount;
                break;

            case "jul":
                budget.JulyBudget = amount;
                break;

            case "aug":
                budget.AugBudget = amount;
                break;

            case "sep":
                budget.SepBudget = amount;
                break;

            case "oct":
                budget.OctBudget = amount;
                break;

            case "nov":
                budget.NovBudget = amount;
                break;

            case "dec":
                budget.DecBudget = amount;
                break;
            }
        }
示例#4
0
        public PolicyBudgetsModel MapTrnsactions(PolicyBudgetsModel data)
        {
            var policyDetails = _policyRepository.GetById(data.PolicyId);
            var clientDetails = _commonService.GetAllClients().FirstOrDefault(c => c.Id == data.ClientId);

            data.PolicyId = policyDetails.Id;
            data.CarId    = policyDetails.CarId;
            if (!string.IsNullOrEmpty(clientDetails.Division))
            {
                if (clientDetails.Division == "HBS")
                {
                    data.DivisionId = 1;
                }
                if (clientDetails.Division == "SBS")
                {
                    data.DivisionId = 2;
                }
            }
            return(data);
        }
示例#5
0
        public IList <PolicyBudgetsModel> GetAllPolicyBudgetsForClientPolicyYear(int clientId, int policyId, int year)
        {
            var policyBudget  = new List <PolicyBudgetsModel>();
            var budgetDetails = _commonService.GetAllPolicyBudgetsForClientPolicyYear(clientId, policyId, year);

            if (budgetDetails == null)
            {
                return(policyBudget);
            }

            budgetDetails.ToList().ForEach(b =>
            {
                var isExist = policyBudget.FirstOrDefault(pb => pb.Year == b.BudgetYear &&
                                                          pb.PolicyId == b.PolicyId);

                if (isExist == null)
                {
                    var policy = _policyRepository.GetById(b.PolicyId);
                    var budget = new PolicyBudgetsModel()
                    {
                        PolicyId     = b.PolicyId,
                        PolicyNumber = policy.PolicyNumber,
                        ClientId     = b.ClientId,
                        Year         = b.BudgetYear
                    };
                    policyBudget.Add(budget);
                    AssignBudget(budget, b.BudgetMonth, b.BudgetValue);
                }
                if (isExist != null)
                {
                    AssignBudget(isExist, b.BudgetMonth, b.BudgetValue);
                }
            });
            policyBudget = policyBudget.Select(MapTrnsactions).ToList();
            policyBudget.ForEach(model =>
            {
                model.TotalBudget = model.JanBudget + model.FebBudget + model.MarchBudget + model.AprilBudget + model.MayBudget + model.JunBudget + model.JulyBudget + model.AugBudget + model.SepBudget + model.OctBudget + model.NovBudget + model.DecBudget;
            });
            return(policyBudget);
        }
示例#6
0
 private PolicyBudgetsModel MapCarrierAction(Func <PolicyBudgetsModel, PolicyBudgetsModel> executor, PolicyBudgetsModel model)
 {
     return(executor(MapCarrier(model)));
 }