Example #1
0
        /// <summary>
        /// Return the list of CuisineType
        /// </summary>
        /// <returns>CuisineTypeList</returns>
        public async Task <IActionResult> GetCuisineType()
        {
            BaseResult <List <CuisineTypeViewModel> > cuisineTypeResultFromCache = new BaseResult <List <CuisineTypeViewModel> >
            {
                Result = RedisCacheHelper.Instance.Get <List <CuisineTypeViewModel> >(Constants.CacheKeys.CuisineTypeList)
            };

            if (cuisineTypeResultFromCache.Result == null || cuisineTypeResultFromCache.Result.Count == 0)
            {
                BaseResult <List <CuisineType> > cuisineTypeResult = await iMealPlan.GetCuisineType().ConfigureAwait(false);

                if (cuisineTypeResult.IsError && cuisineTypeResult.ExceptionMessage != null)
                {
                    return(new StatusCodeResult(500));
                }
                else if (cuisineTypeResult.Result == null || cuisineTypeResult.Result.Count == 0)
                {
                    return(NoContent()); //204
                }
                else
                {
                    var result = MealPlanResponseMapper.MapCuisineType(cuisineTypeResult);
                    RedisCacheHelper.Instance.Set <List <CuisineTypeViewModel> >(Constants.CacheKeys.CuisineTypeList, result.Result);
                    return(Ok(result)); //200
                }
            }
            return(Ok(cuisineTypeResultFromCache)); //200
        }
Example #2
0
        public async Task <IActionResult> GetMealPlan([FromBody] int hotelId)
        {
            if (hotelId > default(int))
            {
                BaseResult <List <HotelMeal> > hotelMealResult = await iMealPlan.GetHotelMeal(hotelId).ConfigureAwait(false);

                if (hotelMealResult.IsError && hotelMealResult.ExceptionMessage != null)
                {
                    return(new StatusCodeResult(500));
                }
                else if (hotelMealResult.Result == null || hotelMealResult.Result.Count == 0)
                {
                    return(NoContent());//204
                }
                BaseResult <List <HotelMealType> > hotelMealTypeResult = await iMealPlan.GetHotelMealType(hotelId).ConfigureAwait(false);

                if (hotelMealTypeResult.IsError && hotelMealTypeResult.ExceptionMessage != null)
                {
                    return(new StatusCodeResult(500));
                }

                var result = MealPlanResponseMapper.MapMealPlan(hotelMealResult, hotelMealTypeResult);
                return(Ok(result)); //200
            }
            return(BadRequest());   //400
        }