private void AddStatusConfirmations(DateTimeOffset confirmedAt, int userId, int?impersonatorId) { Orders.ForEach(o => o.OrderStatusConfirmations.Add(new OrderStatusConfirmation { ConfirmedBy = userId, ImpersonatingConfirmedBy = impersonatorId, OrderStatus = Status, ConfirmedAt = confirmedAt })); StatusConfirmations.Add(new OrderGroupStatusConfirmation { ConfirmedBy = userId, ImpersonatingConfirmedBy = impersonatorId, OrderStatus = Status, ConfirmedAt = confirmedAt }); }
internal void ConfirmResponseNotAnswered(DateTimeOffset confirmedAt, int userId, int?impersonatorId) { if (Status != OrderStatus.ResponseNotAnsweredByCreator) { throw new InvalidOperationException($"Sammanhållen bokning med boknings-id {OrderGroupNumber} var inte tillsatt och obesvarad av myndighet."); } if (StatusConfirmations.Any(o => o.OrderStatus == Status)) { throw new InvalidOperationException($"Sammanhållen bokning med boknings-id {OrderGroupNumber} har redan bekräftats som obesvarad."); } AddStatusConfirmations(confirmedAt, userId, impersonatorId); }
internal void ConfirmNoAnswer(DateTimeOffset confirmedAt, int userId, int?impersonatorId) { if (Status != OrderStatus.NoBrokerAcceptedOrder) { throw new InvalidOperationException($"Sammanhållen bokning med boknings-id {OrderGroupNumber} var inte avböjd/obesvarad av samtliga förmedlingar."); } if (StatusConfirmations.Any(o => o.OrderStatus == Status)) { throw new InvalidOperationException($"Sammanhållen bokning med boknings-id {OrderGroupNumber} har redan bekräftats som obesvarad."); } AddStatusConfirmations(confirmedAt, userId, impersonatorId); }