private void Validate(Model.Payment.Payment state) { if (state.Status != PaymentStatus.Pending) { throw new InvalidDataException(nameof(state.Status)); } }
public PaymentCompleted Execute(Model.Payment.Payment state) { Validate(state); var evn = CreateEvent <PaymentCompleted>(state); evn.OrderStreamId = state.OrderStreamId; return(evn); }
private PaymentRequested CreateEvent(Model.Payment.Payment state) { var evn = CreateEvent <PaymentRequested>(state); evn.OrderStreamId = OrderStreamId; evn.Total = Total; evn.Description = Description; return(evn); }
private void Validate(Model.Payment.Payment state) { if (string.IsNullOrWhiteSpace(OrderStreamId)) { throw new InvalidDataException(nameof(OrderStreamId)); } if (Total <= 0) { throw new InvalidDataException(nameof(Total)); } if (string.IsNullOrWhiteSpace(Description)) { throw new InvalidDataException(nameof(Description)); } if (state.Status != PaymentStatus.Unpaid) { throw new InvalidDataException(nameof(state.Status)); } }
public PaymentCancelled Execute(Model.Payment.Payment state) { Validate(state); return(CreateEvent <PaymentCancelled>(state)); }
public PaymentRequested Execute(Model.Payment.Payment state) { Validate(state); return(CreateEvent(state)); }