コード例 #1
0
 public async Task Handle(JobOrderCompletedEvent message)
 {
     using (var db = new AccountancyContext())
     {
         var jobOrder = db.JobOrders
                        .OfType <JobOrder>()
                        .Where(jo => jo.OriginalId == message.JobOrderId)
                        .Single();
         jobOrder.DateOfCompletion = message.DateOfCompletion;
         jobOrder.IsCompleted      = true;
         await db.SaveChangesAsync();
     }
 }
コード例 #2
0
ファイル: JobOrder.cs プロジェクト: uzbekdev1/Merp
        public void MarkAsCompleted(DateTime dateOfCompletion)
        {
            if (this.DateOfStart > dateOfCompletion)
            {
                throw new ArgumentException("The date of completion cannot precede the date of start.", nameof(dateOfCompletion));
            }
            if (this.IsCompleted)
            {
                throw new InvalidOperationException("The Job Order has already been marked as completed");
            }

            var @event = new JobOrderCompletedEvent(
                this.Id,
                dateOfCompletion
                );

            RaiseEvent(@event);
        }
コード例 #3
0
ファイル: JobOrder.cs プロジェクト: uzbekdev1/Merp
 public void ApplyEvent(JobOrderCompletedEvent evt)
 {
     this.DateOfCompletion = evt.DateOfCompletion;
     this.IsCompleted      = true;
 }
コード例 #4
0
ファイル: JobOrder.cs プロジェクト: rioka/Merp
 public void ApplyEvent([AggregateId(nameof(JobOrderCompletedEvent.JobOrderId))] JobOrderCompletedEvent evt)
 {
     this.DateOfCompletion = evt.DateOfCompletion;
     this.IsCompleted      = true;
 }