public IAggregateRoot RestoreFromSnapshot(ISnapshot snapshot) { if (snapshot is SnapshotState <PolicyState> policySnapshot) { _state = policySnapshot.State; Version = policySnapshot.Version; Address = new AggregateAddress <InsurancePolicy>(policySnapshot.Address.Id); } else { throw new UnsupportedSnapshotException(); } return(this); }
public IssuePolicyCommand(AggregateAddress <InsurancePolicy> destination, DateTimeOffset?issueDate = null) : base(destination) { IssueDate = issueDate ?? DateTimeOffset.Now; }
public ProcessClaimCommand(AggregateAddress <InsurancePolicy> destination, Claim claim) : base(destination) { Claim = claim; }
public ConfigurePolicyCommand(AggregateAddress <InsurancePolicy> destination, TimeSpan duration, decimal?amount = null) : base( destination) { Duration = duration; Amount = amount; }
public ConfigurePolicyCommand(AggregateAddress <InsurancePolicy> destination, decimal amount) : base( destination) { Amount = amount; }