public async Task <PropertyResponse> Handle(UpdatePropertyCommand request, CancellationToken cancellationToken) { var property = await _propertiesService.GetPropertyByIdAsync(request.Id); _mapper.Map(request, property); await _propertiesService.UpdatePropertyAsync(property); return(_mapper.Map <PropertyResponse>(property)); }
public async Task <BookingResponse> Handle(CreateBookingCommand request, CancellationToken cancellationToken) { var booking = _mapper.Map <Booking>(request); var property = await _propertiesService.GetPropertyByIdAsync(booking.PropertyId); booking.UserId = _userResolverService.GetUserId(); booking.PricePerNight = property.PricePerNight; booking.TotalPrice = (booking.CheckOutDate - booking.CheckInDate).Days * booking.PricePerNight; await _bookingsService.CreateBookingAsync(booking); return(_mapper.Map <BookingResponse>(booking)); }
public async Task <PropertyResponse> Handle(GetPropertyByIdQuery request, CancellationToken cancellationToken) { var property = await _propertiesService.GetPropertyByIdAsync(request.Id); return(_mapper.Map <PropertyResponse>(property)); }