Пример #1
0
 public PolicyCover CreatePolicyCover(OfferCover offerCover, PolicyValidityPeriod coverPeriod)
 {
     return(new PolicyCover
     {
         Code = offerCover.Code,
         Premium = offerCover.Price,
         PolicyValidityPeriod = coverPeriod
     });
 }
Пример #2
0
        public PolicyCover PolicyCoverEndOn(PolicyCover policyCover, DateTime endDate)
        {
            var originalDaysCovered = GetDays(policyCover.PolicyValidityPeriod.PolicyFrom, policyCover.PolicyValidityPeriod.PolicyTo);
            PolicyValidityPeriod policyValidityPeriod = PolicyValidityPeriodEndOn(policyCover.PolicyValidityPeriod, endDate);
            var daysNotUsed = originalDaysCovered - GetDays(policyValidityPeriod.PolicyFrom, policyValidityPeriod.PolicyTo);
            var premium     = decimal.Round
                              (
                policyCover.Premium - (policyCover.Premium * decimal.Divide(daysNotUsed, originalDaysCovered))
                , 2
                              );

            return(new PolicyCover
            {
                Code = policyCover.Code,
                Premium = premium,
                PolicyValidityPeriod = PolicyValidityPeriodEndOn(policyCover.PolicyValidityPeriod, endDate)
            });
        }
Пример #3
0
 public PolicyValidityPeriod PolicyValidityPeriodEndOn(PolicyValidityPeriod policyValidityPeriod, DateTime endDate)
 {
     return(new PolicyValidityPeriod(policyValidityPeriod.PolicyFrom, endDate));
 }