예제 #1
0
 internal CarItemState(CarItemId id, CarId carId) : this()
 {
     id.ThrowsIfNull(new ArgumentNullException(id));
     carId.ThrowsIfNull(new ArgumentNullException(carId));
 }
예제 #2
0
 public CarItemAddedEvent(CarId carId, CarItemId carItemId, string desciption)
 {
     CarId      = carId;
     CarItemId  = carItemId;
     Desciption = desciption;
 }
예제 #3
0
 public static CarState.Result AddCarItem(CarState state, CarItemId carItemId, string desc, ICarPolicy carPolicy) =>
 state.With(s => carPolicy.Apply(new CannotBeAddedMoreThanTwoItems(s)))
 .ApplyEvent(new CarItemAddedEvent(state.Id, carItemId, desc));