Example #1
0
 public void UpdateBookingRate(BookingRate bookingRate)
 {
     if (bookingRate == null)
     {
         throw new ArgumentNullException(nameof(bookingRate));
     }
     BookingRate.UpdateFrom(bookingRate);
 }
Example #2
0
        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);
        }
Example #3
0
        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;
 }
Example #5
0
 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));
 }
Example #6
0
        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);
            }
        }
Example #7
0
 public EditParkingSpaceBookingRateCommand(int parkingSpaceId, BookingRate bookingRate)
 {
     ParkingSpaceId = parkingSpaceId;
     BookingRate    = bookingRate;
 }