Ejemplo n.º 1
0
        public async Task <IActionResult> Search([FromBody] FilterDtoSearchObject filterDto)
        {
            if (filterDto == null)
            {
                filterDto = new FilterDtoSearchObject {
                    MaxPrice = "0", MinLikes = "0", SearchBy = string.Empty, sort = new SortByDto[0]
                }
            }
            ;
            var categories = filterDto.Categories ?? new CategorySearchDto[0];
            var searchBy   = filterDto.SearchBy ?? string.Empty;
            var result     = new ResultObjectDto <DishDtoResult>
            {
                Pagination =
                {
                    Page  =   1,
                    Size  = 500,
                    Total = null
                }
            };

            try
            {
                decimal maxPrice = string.IsNullOrEmpty(filterDto.MaxPrice) ? 0 : Convert.ToDecimal(filterDto.MaxPrice);
                int     minLikes = string.IsNullOrEmpty(filterDto.MinLikes) ? 0 : Convert.ToInt32(filterDto.MinLikes);

                var dishList = await _dishService.GetDishListFromFilter(false, maxPrice, Convert.ToInt32(minLikes), searchBy, categories.Select(c => c.Id).ToList(), -1);

                result.Result           = dishList.Select(DishConverter.EntityToApi).ToList();
                result.Pagination.Total = dishList.Count();
                var serializerSettings = new JsonSerializerSettings
                {
                    Formatting = Formatting.None
                };
                Response.Headers.Add("Access-Control-Expose-Headers", "Authorization");
                Response.Headers.Add("X-Content-Type-Options", "nosniff");
                Response.Headers.Add("X-Frame-Options", "DENY");
                Response.Headers.Add("X-XSS-Protection", "1;mode=block");
                Response.Headers.Add("X-Application-Context", "restaurant:h2mem:8081");
                var json = JsonConvert.SerializeObject(result, serializerSettings);
                return(new OkObjectResult(json));
            }
            catch (Exception ex)
            {
                return(StatusCode((int)HttpStatusCode.InternalServerError, $"{ex.Message} : {ex.InnerException}"));
            }
        }
    }
Ejemplo n.º 2
0
        public async Task <IActionResult> Search([FromBody] FilterDtoSearchObject filterDto)
        {
            if (filterDto == null)
            {
                filterDto = new FilterDtoSearchObject();
            }

            try
            {
                var dishList = await _dishService.GetDishListFromFilter(false, filterDto.GetMaxPrice(), filterDto.GetMinLikes(), filterDto.GetSearchBy(), filterDto.GetCategories(), -1);

                return(new OkObjectResult(GenerateResultDto(dishList).ToJson()));
            }
            catch (Exception ex)
            {
                return(StatusCode((int)HttpStatusCode.InternalServerError, $"{ex.Message} : {ex.InnerException}"));
            }
        }
Ejemplo n.º 3
0
 public void ResetDishFilter()
 {
     GlobalDishFilter = new FilterDtoSearchObject {
         Categories = new CategorySearchDto[0], MinLikes = "", MaxPrice = "", SearchBy = "", sort = new Business.Dto.General.SortByDto[0]
     };
 }
Ejemplo n.º 4
0
 public void SetDishFilter(FilterDtoSearchObject filter)
 {
     GlobalDishFilter = filter;
 }
Ejemplo n.º 5
0
 private void SetUp()
 {
     KartShop         = new StorableObject <Observable.ShoppingCartItem>();
     GlobalDishFilter = new FilterDtoSearchObject {
     };
 }