public async Task <Result <AgencyDto> > Handle(GetAgencyByIdQuery request, CancellationToken cancellationToken)
        {
            var agency = await _agencyRepository.FindSingleAsync(a => a.Id == request.Id);

            if (agency == null)
            {
                return(Result.Fail <AgencyDto>($"Not found agency with id {request.Id}"));
            }

            var dto = _mapper.Map <Agency, AgencyDto>(agency);

            return(Result.Ok(dto));
        }
        public async Task <Result <HotelDto> > Handle(GetHotelByIdQuery request, CancellationToken cancellationToken)
        {
            var hotel = await _hotelReadonlyRepository.FindSingleAsync(h => h.Id == request.Id);

            if (hotel == null)
            {
                return(Result.Fail <HotelDto>($"Not found hotel with id: {request.Id}"));
            }

            var hotelDto = _mapper.Map <Hotel, HotelDto>(hotel);

            return(Result.Ok(hotelDto));
        }
        public async Task <Result <UserDto> > Handle(GetUserByIdQuery request, CancellationToken cancellationToken)
        {
            var user = await _userRepository.FindSingleAsync(u => u.Id == request.Id);

            if (user == null)
            {
                return(Result.Fail <UserDto>($"Not found user with id: {request.Id}"));
            }

            var dto = _mapper.Map <User, UserDto>(user);

            return(Result.Ok(dto));
        }
        public async Task <Result <TourDto> > Handle(GetTourByIdQuery request, CancellationToken cancellationToken)
        {
            var tour = await _tourReadonlyRepository.FindSingleAsync(t => t.Id == request.Id);

            if (tour == null)
            {
                return(Result.Fail <TourDto>($"Not found tour with id: {request.Id}"));
            }

            var tourDto = _mapper.Map <Tour, TourDto>(tour);

            tourDto.Rating = GetTourRating(tour.Ratings);

            return(Result.Ok(tourDto));
        }
Ejemplo n.º 5
0
        public async Task <Result <BasketDto> > Handle(GetBasketQuery request, CancellationToken cancellationToken)
        {
            var order = await _orderRepository.FindSingleAsync(o =>
                                                               o.UserId == request.UserId && o.Status == OrderStatus.New);

            if (order == null)
            {
                return(Result.Fail <BasketDto>($"Not found new order for user with id: {request.UserId}"));
            }

            var basket = _mapper.Map <Order, BasketDto>(order);

            basket.Total = ComputeOrderTotal(order.Details);

            return(Result.Ok(basket));
        }
        private async Task <User> CreateUser(RegisterUserCommand request)
        {
            var userRole = await _roleRepository.FindSingleAsync(r => r.Name == Roles.User);

            var user = new User
            {
                Email        = request.Email,
                PasswordHash = PasswordHasher.CreateHash(request.Password),
                UserRoles    = new List <UserRole>
                {
                    new UserRole
                    {
                        RoleId = userRole.Id
                    }
                }
            };

            return(user);
        }