public void UpdateBookingRate(BookingRate bookingRate) { if (bookingRate == null) { throw new ArgumentNullException(nameof(bookingRate)); } BookingRate.UpdateFrom(bookingRate); }
public void CreateDailyPeriodWithCorrectAmount() { var start = new DateTime(2019, 3, 1, 12, 0, 0); var end = new DateTime(2019, 3, 5, 16, 0, 0); var rate = new BookingRate(new Money(5), new Money(10)); var sut = BookingPeriod.CreateDailyBooking(start, end, rate); Assert.Equal(new Money(40), sut.Charge); }
public async Task <IActionResult> EditBookingRate([FromForm] BookingRateDTO dto, int parkingSpaceId) { var rate = new BookingRate(new Money(dto.HourlyRate), new Money(dto.DailyRate)); var command = new EditParkingSpaceBookingRateCommand(parkingSpaceId, rate); var result = await _mediator.Send(command); return(Index()); }
public RegisterNewParkingSpaceCommand( string ownerId, ParkingSpaceDescription description, Address address, SpaceAvailability availability, BookingRate bookingRate) { OwnerId = ownerId; Description = description; Address = address; Availability = availability; BookingRate = bookingRate; }
public ParkingSpace( string ownerId, ParkingSpaceDescription description, Address address, SpaceAvailability availability, BookingRate bookingRate) { OwnerId = !string.IsNullOrWhiteSpace(ownerId) ? ownerId : throw new ArgumentNullException(nameof(ownerId)); Description = description ?? throw new ArgumentNullException(nameof(description)); Address = address ?? throw new ArgumentNullException(nameof(address)); Availability = availability ?? throw new ArgumentNullException(nameof(availability)); BookingRate = bookingRate ?? throw new ArgumentNullException(nameof(bookingRate)); }
public async Task ChangeParkingSpaceToCorrectBookingRate() { await CreateTestParkingSpaceInDb("EditParkingSpaceBookingRate"); using (var context = new ParkMateDbContext(GetNamedDbContextOptions("EditParkingSpaceBookingRate"))) { var space = context.ParkingSpaces.FirstOrDefault(); var repository = new ParkingSpaceRepository(context); var bookingRate = new BookingRate(new Money(12), new Money(34)); var command = new EditParkingSpaceBookingRateCommand(space.Id, bookingRate); var handler = new EditParkingSpaceBookingRateCommandHandler(repository, new Mock <IMediator>().Object); await handler.Handle(command); Assert.NotNull(space.BookingRate); Assert.NotEqual(GetTestBookingRate(), space.BookingRate); Assert.Equal(bookingRate, space.BookingRate); } }
public EditParkingSpaceBookingRateCommand(int parkingSpaceId, BookingRate bookingRate) { ParkingSpaceId = parkingSpaceId; BookingRate = bookingRate; }