public void DenyScheduling(DateTime suggestedCompletionDate) { if (!Progress.WasSchedulingDenied()) { Apply(SchedulingDenied.Instance(Id, Client, Expectations, suggestedCompletionDate.Ticks)); } }
public static SchedulingDenied Instance( Id proposalId, Client client, Expectations expectations, long suggestedCompletionDate) { SchedulingDenied schedulingDenied = new SchedulingDenied { ProposalId = proposalId.Value, ClientId = client.Id.Value, CompletionDate = expectations.CompletedBy.Ticks, SuggestedCompletionDate = suggestedCompletionDate }; return(schedulingDenied); }
public void When(SchedulingDenied schedulingDenied) { this.Expectations = Expectations.WithAdjusted(schedulingDenied.SuggestedCompletionDate); this.Progress = Progress.DeniedForScheduling(); }