Example #1
0
        public async Task <IEnumerable <BookingResponse> > Handle(GetAllBookingsQuery request, CancellationToken cancellationToken)
        {
            var filter     = _mapper.Map <GetAllBookingsFilter>(request.BookingsRequestQueryString);
            var properties = await _bookingsService.GetAllBookingsAsync(filter);

            return(_mapper.Map <IEnumerable <BookingResponse> >(properties));
        }
        public async Task <IEnumerable <BookingDto> > Handle(GetAllBookingsQuery request, CancellationToken cancellationToken)
        {
            //Get all hotel belong to location which have respective city
            var listLocation = _hotelLocationRepo.GetMany(r => r.CityId == request.CityId).Select(r => r.Id).ToList();;
            var listHotel    = _hotelRepo.GetMany(r => listLocation.Contains(r.HotelLocationId.Value)).ToList();
            var listBookings = new List <BookingDto>();

            if (listHotel.Any())
            {
                listHotel.ForEach(r =>
                {
                    listBookings.Add(new BookingDto()
                    {
                        Id        = Guid.NewGuid(),
                        HotelId   = r.Id,
                        HotelName = r.Name,
                        GuestId   = GuestId,
                        DateFrom  = request.DateFrom,
                        DateTo    = request.DateTo,
                        RoomCount = request.RoomCount,
                        StatusId  = BookingStatusMasterData.StatusValue[(int)BookingStatusEnum.New]
                    });
                });
            }

            return(listBookings);
        }
        public async Task <List <BookingViewModel> > Handle(GetAllBookingsQuery request, CancellationToken cancellationToken)
        {
            var bookings = await _context.Bookings.ToListAsync();

            var bookingsvm = _mapper.Map <List <BookingViewModel> >(bookings);

            return(bookingsvm);
        }
        public Task <IEnumerable <BookingResource> > Handle(GetAllBookingsQuery request, CancellationToken cancellationToken)
        {
            var result = _bookingRepository
                         .GetAll()
                         .Select(x => x.ToResource());

            return(Task.FromResult(result));
        }
Example #5
0
        public async Task <IEnumerable <BookingViewModel> > Handle(GetAllBookingsQuery request, CancellationToken cancellationToken)
        {
            var bookings = await context.Bookings.Include(b => b.Guest).Include(b => b.Manager).Include(b => b.Room).ThenInclude(r => r.RoomType).ToListAsync();

            var list = mapper.Map <IEnumerable <BookingViewModel> >(bookings);

            return(list);
        }
Example #6
0
        public async Task Handle_WhenThereAreNoBookings_ReturnsEmptyList()
        {
            //arrange
            var query = new GetAllBookingsQuery();

            //act
            var actual = await _handler
                         .Handle(query, default)
                         .ConfigureAwait(false);

            //assert
            Assert.Empty(actual);
        }
Example #7
0
        public async Task Handle_WhenThereAreTwoBookings_ReturnsTwoBookings()
        {
            //arrange
            Context.Bookings.AddRange(new Booking(), new Booking());
            _ = await Context
                .SaveChangesAsync()
                .ConfigureAwait(false);

            var query = new GetAllBookingsQuery();

            //act
            var actual = await _handler
                         .Handle(query, default)
                         .ConfigureAwait(false);

            //assert
            Assert.Equal(2, actual.Count);
        }
Example #8
0
        public async Task Handle_WhenThereIsOneBooking_ReturnsSingleBooking()
        {
            //arrange
            Context.Bookings.Add(new Booking());
            _ = await Context
                .SaveChangesAsync()
                .ConfigureAwait(false);

            var query = new GetAllBookingsQuery();

            //act
            var actual = await _handler
                         .Handle(query, default)
                         .ConfigureAwait(false);

            //assert
            Assert.Single(actual);
        }
Example #9
0
            public async Task <List <GetAllBookingsDto> > Handle(GetAllBookingsQuery request, CancellationToken cancellationToken)
            {
                var bookings = mapper.Map <List <GetAllBookingsDto> >(await context.Bookings.ToListAsync());

                foreach (var booking in bookings)
                {
                    var status = await context.BookingStatus.FindAsync(booking.BookingStatusId);

                    if (status != null)
                    {
                        booking.BookingStatusName  = status.BookingStatusName;
                        booking.BookingStatusColor = status.StatusColor;
                    }

                    var customer = await context.Customers.SingleOrDefaultAsync(o => o.UserId == booking.CustomerId);

                    if (customer != null)
                    {
                        booking.CustomerName = $"{ customer.LastName }, {customer.FirstName}";
                    }

                    var rider = await context.Riders.FindAsync(booking.RiderId);

                    if (rider != null)
                    {
                        booking.RiderName = $"{ rider.LastName }, {rider.FirstName}";
                    }

                    booking.BookingDateFormatted = booking.BookingDate.ToString("MM/dd/yyyy");
                    booking.PickupTimeFormatted  = booking.PickupTime.GetValueOrDefault().ToString("hh:mm tt");
                    booking.DropOffTimeFormatted = booking.DropOffTime.GetValueOrDefault().ToString("hh:mm tt");

                    var fare = await context.Fares.FindAsync(booking.FareId);

                    if (fare != null)
                    {
                        booking.TotalFare = FareHelper.Compute(fare.PricePerKilometer, fare.BaseFare, fare.Surcharge, GetKilometer(booking.TotalKilometers));
                    }
                }

                return(bookings);
            }
        public async Task Test_ForExistingCustomers_ShouldReturnCustomers()
        {
            // Arrange
            var mock = new Mock <IBookingRepository>();

            Fixture.RepeatCount = 9;
            var bookings = Fixture.Create <Booking[]>();

            mock.Setup(foo => foo.GetAll()).Returns(bookings);
            var query        = new GetAllBookingsQuery();
            var queryHandler = new GetAllBookingsQueryHandler(mock.Object);

            //  Act
            var result = await queryHandler.Handle(query, CancellationToken.None);

            //  Assert
            Assert.NotNull(result);
            Assert.NotEmpty(result);
            Assert.Equal(bookings.Length, result.Count());
        }
 public Task <List <Booking> > Handle(GetAllBookingsQuery request, CancellationToken cancellationToken)
 {
     return(_context.Bookings.ToListAsync());
 }
Example #12
0
        public async Task <IEnumerable <BookingDto> > Get([FromQuery] GetAllBookingsQuery model)
        {
            var result = await _mediator.Send(model);

            return(result);
        }