public PolicyAnnexCancelled( Policy policy, PolicyVersion cancelledAnnexVersion, PolicyVersion currentVersionAfterAnnexCancellation) { Policy = policy; CancelledAnnexVersion = cancelledAnnexVersion; CurrentVersionAfterAnnexCancellation = currentVersionAfterAnnexCancellation; }
private PolicyVersion AddNewVersionBasedOn(PolicyVersion versionAtEffectiveDate, DateTime effectiveDateOfChange) { var newVersion = new PolicyVersion ( versionAtEffectiveDate, versions.MaxVersionNumber() + 1, effectiveDateOfChange ); versions.Add(newVersion); return(newVersion); }
private void AddFirstVersion(Offer offer, DateTime purchaseDate, DateTime policyStartDate) { var ver = new PolicyVersion ( Guid.NewGuid(), 1, ValidityPeriod.Between(policyStartDate, policyStartDate.Add(offer.CoverPeriod)), PolicyStatus.Active, ValidityPeriod.Between(policyStartDate, policyStartDate.Add(offer.CoverPeriod)), offer.Customer.Copy(), offer.Driver.Copy(), offer.Car.Copy(), offer.TotalCost, offer.Covers ); versions.Add(ver); }
public PolicyVersion ( PolicyVersion baseVersion, int versionNumber, DateTime startDate ) { Id = Guid.NewGuid(); VersionNumber = versionNumber; BaseVersionNumber = baseVersion.VersionNumber; VersionValidityPeriod = ValidityPeriod.Between(startDate, baseVersion.CoverPeriod.ValidTo); PolicyStatus = baseVersion.PolicyStatus; CoverPeriod = ValidityPeriod.Between(baseVersion.CoverPeriod.ValidFrom, baseVersion.CoverPeriod.ValidTo); PolicyHolder = baseVersion.PolicyHolder.Copy(); Driver = baseVersion.Driver.Copy(); Car = baseVersion.Car.Copy(); foreach (var oldCover in baseVersion.covers) { covers.Add(oldCover); } TotalPremium = RecalculateTotal(); }
public static PolicyVersionComparer Of(PolicyVersion newVersion, PolicyVersion oldVersion) { return(new PolicyVersionComparer(newVersion, oldVersion)); }
public PolicyVersionComparer(PolicyVersion newVersion, PolicyVersion oldVersion) { this.newVersion = newVersion; this.oldVersion = oldVersion; }
public PolicyTerminated(Policy terminatedPolicy, PolicyVersion terminatedVersion) { TerminatedPolicy = terminatedPolicy; TerminatedVersion = terminatedVersion; }
public PolicyAnnexed(Policy annexedPolicy, PolicyVersion annexVersion) { AnnexedPolicy = annexedPolicy; AnnexVersion = annexVersion; }