Example #1
0
 public static CoverDto AssembleCoverDto(PolicyCover policyCover)
 {
     return(new CoverDto
     {
         Code = policyCover.Cover.Code,
         CoverFrom = policyCover.CoverPeriod.ValidFrom,
         CoverTo = policyCover.CoverPeriod.ValidTo,
         PremiumAmount = policyCover.Amount.Amount
     });
 }
Example #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)
            });
        }
 public CoverageExtendedPolicyVersionCreated
 (
     int versionNumber,
     int baseVersionNumber,
     ValidityPeriod versionPeriod,
     PolicyCover newCover
 )
 {
     VersionNumber     = versionNumber;
     BaseVersionNumber = baseVersionNumber;
     VersionFrom       = versionPeriod.ValidFrom;
     VersionTo         = versionPeriod.ValidTo;
     NewCover          = new PolicyCoverData
                         (
         newCover.CoverCode,
         newCover.CoverPeriod.ValidFrom,
         newCover.CoverPeriod.ValidTo,
         newCover.Amount,
         newCover.Price.Price,
         newCover.Price.PricePeriod
                         );
 }