public HttpResponseMessage GetProductStockDtosByWp(int id, ProductStockCommand cmd) { try { int pagesCount = 0; var data = new ProductStockBL().GetProductStockDtosByWp(id, cmd, ref pagesCount); var result = Request.CreateResponse(HttpStatusCode.OK, data); result.Headers.Add(Consts.PAGES_COUNT, pagesCount.ToString()); return(result); } catch (Exception ex) { LogManager.Instance.Error(ex); return(Request.CreateResponse(HttpStatusCode.InternalServerError, false)); } }
private List <ProductStockDTO> ProductStockDtos(int wpId, ProductStockCommand cmd, out int pagesCount, bool isByWP = true) { IQueryable <ProductStock> query; if (isByWP) { query = from p in db.ProductStocks where p.IsDeleted == false && p.WorkPlaceId == wpId select p; } else { query = from p in db.ProductStocks where p.IsDeleted == false && p.Quantity > 0 select p; } if (cmd.ProductId > 0) { query = from p in query where p.ProductId == cmd.ProductId select p; } if (!string.IsNullOrEmpty(cmd.ProductName)) { query = from p in query where p.Product.Name.Contains(cmd.ProductName) select p; } if (cmd.CategoryId > 0) { query = from p in query where p.Product.Category.Id == cmd.CategoryId select p; } if (cmd.SupplierId > 0) { query = from p in query where p.Product.Supplier.Id == cmd.SupplierId select p; } if (cmd.WorkPlaceId > 0) { query = from p in query where p.WorkPlaceId == cmd.WorkPlaceId select p; } if (cmd.SortByWorkPlaceId != null) { query = cmd.SortByWorkPlaceId == true ? (from p in query orderby p.WorkPlaceId select p) : (from p in query orderby p.WorkPlaceId descending select p); } if (cmd.SortByQuantity != null) { query = cmd.SortByQuantity == true ? (from p in query orderby p.Quantity select p) : (from p in query orderby p.Quantity descending select p); } var query2 = from p in query select new ProductStockDTO() { Id = p.Id, WorkPlaceId = p.WorkPlaceId, ProductId = p.Product.Id, ProductName = p.Product.Name, Quantity = p.Quantity, ProductPrice = p.Product.Price, ProductCurrencId = p.Product.Currency, MeasurementUnit = p.Product.MeasurementUnit, ProductCode = p.Product.Code, Category = p.Product.Category, BoxedNumber = p.Product.BoxedNumber }; pagesCount = (int)Math.Ceiling((double)(from p in query select p).Count() / cmd.PageSize); query2 = query2.Page(cmd.PageSize, cmd.Page); return(query2.ToList()); }
public List <ProductStockDTO> GetProductStocksByWp(int wpId, ProductStockCommand cmd, ref int pagesCount) { var query2 = ProductStockDtos(wpId, cmd, out pagesCount); return(query2.ToList()); }
public List <ProductStockDTO> GetProductStocks(ProductStockCommand cmd, ref int pagesCount) { var query2 = ProductStockDtos(0, cmd, out pagesCount, false); return(query2.ToList()); }
public List <ProductStockDTO> GetProductStockDtosByWp(int wpId, ProductStockCommand cmd, ref int pagesCount) { return(new ProductStockDalFacade().GetProductStocksByWp(wpId, cmd, ref pagesCount)); }
public List <ProductStockDTO> GetProductStocks(ProductStockCommand cmd, ref int pagesCount) { return(new ProductStockDalFacade().GetProductStocks(cmd, ref pagesCount)); }