internal CarItemState(CarItemId id, CarId carId) : this() { id.ThrowsIfNull(new ArgumentNullException(id)); carId.ThrowsIfNull(new ArgumentNullException(carId)); }
public CarItemAddedEvent(CarId carId, CarItemId carItemId, string desciption) { CarId = carId; CarItemId = carItemId; Desciption = desciption; }
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));