コード例 #1
0
        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);
        }
コード例 #2
0
 public IssuePolicyCommand(AggregateAddress <InsurancePolicy> destination, DateTimeOffset?issueDate = null) :
     base(destination)
 {
     IssueDate = issueDate ?? DateTimeOffset.Now;
 }
コード例 #3
0
 public ProcessClaimCommand(AggregateAddress <InsurancePolicy> destination, Claim claim) : base(destination)
 {
     Claim = claim;
 }
コード例 #4
0
 public ConfigurePolicyCommand(AggregateAddress <InsurancePolicy> destination, TimeSpan duration, decimal?amount = null) : base(
         destination)
 {
     Duration = duration;
     Amount   = amount;
 }
コード例 #5
0
 public ConfigurePolicyCommand(AggregateAddress <InsurancePolicy> destination, decimal amount) : base(
         destination)
 {
     Amount = amount;
 }