예제 #1
0
        public async Task <ActionResult <HolidayPreferencesDTO> > GetUserPreferences()
        {
            var userId = HttpContext.User
                         .FindFirst(ClaimTypes.NameIdentifier)
                         .Value.ToString();

            var preferences = await _repo.GetUserHolidayPreferences(userId);

            if (preferences == null)
            {
                return(new EmptyResult());
            }

            return(Ok(_mapper.Map <HolidayPreferences, HolidayPreferencesDTO>(preferences)));
        }
        public async Task <ActionResult <IEnumerable <HolidayOffersDTO> > > GetOffersAsync([FromQuery(Name = "sort")] string sort)
        {
            var userId = HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;

            var preferences = await _preferencesRepo.GetUserHolidayPreferences(userId);

            if (preferences == null)
            {
                return(new EmptyResult());
            }

            var allOffers = await _repo.GetHolidayOffersAsync();

            var offersByUserHolidayPreferences = _holidayOffersService.GetHolidayOffersByUserHolidayPreference(allOffers, preferences, sort);



            return(Ok(_mapper
                      .Map <IEnumerable <HolidayOffers>, IEnumerable <HolidayOffersDTO> >(offersByUserHolidayPreferences)));
        }