public ProductModelResponse GetSpecialProducts(GetSpecialProductRequest request) { //1 spacialid indirimdeki ürünler sliderına karsılık gelsın ---> ProductModelResponse productResponse = new ProductModelResponse(); try { SpacialArea spacialArea = _repositorySpacial.Get(t => t.ID == request.SpacialID).FirstOrDefault(); if (spacialArea == null) { productResponse.Products = null; productResponse.SetStatus(Constants.ResponseCode.NOT_FOUND_ENTITY); return(productResponse); } int index = (request.PageNumber - 1) * request.Count;//dbde kac kayıt es gecılmeli List <ProductSpacialAreaTable> spacialAreaProducts = _repositorySpacialTable.Get(t => t.SpacialAreaID == spacialArea.ID).Include(t => t.Product).Skip(index).Take(request.Count).ToList(); if (spacialAreaProducts == null) { productResponse.Products = null; productResponse.SetStatus(Constants.ResponseCode.NOT_FOUND_ENTITY); return(productResponse); } List <ProductModel> productList = new List <ProductModel>(); foreach (ProductSpacialAreaTable item in spacialAreaProducts) { productList.Add(new ProductModel { ID = item.Product.ID, Description = item.Product.Description, Price = item.Product.Price, ProductImages = item.Product.ProductImages.Select(t => t.URLFromAway).ToList(), ProductName = item.Product.ProductName, Brand = item.Product.BrandID }); } productResponse.Products = productList; int allcount = _repositorySpacialTable.Get(t => t.SpacialAreaID == spacialArea.ID).Count(); productResponse.PagingInfo = new PagingInfo(request.PageNumber, request.Count, allcount); productResponse.SetStatus(Constants.ResponseCode.SUCCESS); return(productResponse); } catch (Exception ex) { productResponse.Products = null; productResponse.SetStatus(Constants.ResponseCode.FAILED_ON_DB_PROCESS, ex.Message); return(productResponse); } }
public IActionResult GetSpecialProducts(GetSpecialProductRequest request) { BaseResponse response = _service.GetSpecialProducts(request); return(response.Code != (int)Constants.ResponseCode.SUCCESS ? StatusCode(500, response) : StatusCode(200, response)); }