private LimitConsumptionContainer FindPerCaseConsumptionContainerForService(CaseServiceCostSplit caseService) { return(_containers.OfType <CaseConsumptionContainerForService>() .FirstOrDefault(cs => cs.PolicyId == caseService.PolicyId && cs.ServiceCode == caseService.ServiceCode && cs.CaseNumber == caseService.CaseNumber)); }
private LimitConsumptionContainer CreatePerPolicyContainerForService(CaseServiceCostSplit caseService, Period period) { return(new SharedConsumptionContainerForService ( caseService.PolicyId, caseService.ServiceCode, period )); }
private LimitConsumptionContainer FindPerPolicyContainerForService(CaseServiceCostSplit caseService, Period period) { return(_containers.OfType <SharedConsumptionContainerForService>() .FirstOrDefault(cs => cs.PolicyId == caseService.PolicyId && cs.ServiceCode == caseService.ServiceCode && cs.Period.From.Date == period.From.Date && cs.Period.To.Date == period.To.Date)); }
private LimitConsumptionContainer CreatePerInsuredContainerForService(CaseServiceCostSplit caseService, Period period) { return(new IndividualInsuredConsumptionContainerForService ( caseService.PolicyId, caseService.ServiceCode, caseService.InsuredId, period )); }
private LimitConsumptionContainer FindPerInsuredContainerForService(CaseServiceCostSplit caseService, Period period) { return(_dbContext.LimitConsumptionContainers.OfType <IndividualInsuredConsumptionContainerForService>() .FirstOrDefault(cs => cs.PolicyId == caseService.PolicyId && cs.ServiceCode == caseService.ServiceCode && cs.InsuredId == caseService.InsuredId && cs.Period.From.Date == period.From.Date && cs.Period.To.Date == period.To.Date)); }
public static CaseServiceCostSplitResult For(CaseServiceCostSplit caseService) { return(new CaseServiceCostSplitResult { Date = caseService.Date, ServiceCode = caseService.ServiceCode, Price = caseService.Price, InsuredCost = caseService.InsuredCost, TuCost = caseService.TuCost, TotalCost = caseService.TotalCost, AmountLimitConsumption = caseService.AmountLimitConsumption, QtLimitConsumption = caseService.QtLimitConsumption }); }
public LimitConsumptionContainer GetLimitConsumptionContainer(CaseServiceCostSplit caseService, Limit limit, Period period) { if (limit.LimitPeriod is PerCaseLimitPeriod) { return(FindPerCaseConsumptionContainerForService(caseService)); } else if (limit.Shared) { return(FindPerPolicyContainerForService(caseService, period)); } else { return(FindPerInsuredContainerForService(caseService, period)); } }
public LimitConsumptionContainer Create(CaseServiceCostSplit caseService, Limit limit, Period period) { if (limit.LimitPeriod is PerCaseLimitPeriod) { return(CreatePerCaseConsumptionContainerForService(caseService)); } if (limit.Shared) { return(CreatePerPolicyContainerForService(caseService, period)); } return(CreatePerInsuredContainerForService(caseService, period)); }
public override LimitCalculation Calculate(CaseServiceCostSplit costSplit, (Money, int) currentLimitConsumptionContainer)
private LimitConsumptionContainer CreatePerCaseConsumptionContainerForService(CaseServiceCostSplit caseService) { return(new CaseConsumptionContainerForService ( caseService.PolicyId, caseService.ServiceCode, caseService.CaseNumber )); }