public PagedActionResult <ProductCategory> Search([FromUri] ProductCategoryFilter filter) { return(SafeGetPagedData <ProductCategory>((result) => { int totalCount = 0; var temp = ProductCategoryService.Search(filter, out totalCount); result.TotalCount = totalCount; result.Data = temp; })); }
/// <summary> /// Gets a list of product categories. Max 100 per call. /// </summary> /// <returns></returns> public virtual async Task <ProductCategoryModelCollection> ListAsync(ProductCategoryFilter filter = null) { var req = PrepareRequest("product-categories"); if (filter != null) { req.QueryParams.AddRange(filter.ToParameters()); } return(await ExecuteRequestAsync <ProductCategoryModelCollection>(req, HttpMethod.Get, rootElement : "")); }
public ActionResult ProductCategory(ProductCategoryFilter filter) { if (filter != null) { Session["ProductCategoryFilter"] = filter; } else { Session["ProductCategoryFilter"] = new ProductCategoryFilter(); } return(RedirectToAction("ProductCategory")); }
public void ProcessProductCategoryFilterInsertion(int categoryFilterId, IList <int> productIds) { for (int i = 0; i < productIds.Count; i++) { var item = new ProductCategoryFilter() { CategoryFilterId = categoryFilterId, ProductId = productIds[i] }; _productCategoryFilterRepository.Create(item); } }
public ActionResult Index(ProductCategoryFilter filter, string searchBy = "") { if (filter != null) { Session["ProductCategoryFilter"] = filter; } else { Session["ProductCategoryFilter"] = new ProductCategoryFilter(); } return(RedirectToAction("Index")); }
public ActionResult ProductCategory(int page = 1, int pageSize = 20, string sortby = "") { ProductCategoryFilter filter = (ProductCategoryFilter)Session["ProductCategoryFilter"]; if (filter == null) { filter = new ProductCategoryFilter(); Session["ProductCategoryFilter"] = filter; } var model = _proCatRepo.GetCategoriesPaging(filter, page, pageSize, sortby); ViewBag.PageNumber = page; ViewBag.Title = "Danh sách danh mục"; return(View(model)); }
/// <summary> /// 根据条件查询产品分类 /// </summary> /// <param name="filter">keywords(分类名称,)</param> /// <param name="totalCount"></param> /// <returns>产品分类数据集</returns> public IEnumerable <ProductCategory> Search(ProductCategoryFilter filter, out int totalCount) { var result = new List <ProductCategory>();; var queryable = Repository.GetInclude(t => t.SubProducts, false).Where(t => t.MerchantID == AppContext.CurrentSession.MerchantID); if (filter != null) { if (!string.IsNullOrEmpty(filter.Code)) { queryable = queryable.Where(p => p.Code.Contains(filter.Code)); } if (!string.IsNullOrEmpty(filter.Name)) { queryable = queryable.Where(p => p.Name.Contains(filter.Name)); } if (!string.IsNullOrEmpty(filter.NameOrCode)) { queryable = queryable.Where(t => t.Code.Contains(filter.NameOrCode) || t.Name.Contains(filter.NameOrCode)); } } queryable = queryable.OrderBy(t => t.ParentId).ThenBy(t => t.Index); totalCount = queryable.Count(); if (filter != null && filter.Start.HasValue && filter.Limit.HasValue) { queryable = queryable.Skip(filter.Start.Value).Take(filter.Limit.Value); } result = queryable.ToList(); if (filter.IsFromPickUpOrder) { result.ForEach(t => { if (t.SubProducts != null && t.SubProducts.Count > 0) { t.SubProducts = t.SubProducts.Where(item => item.ProductType == EProductType.Service && item.IsPublish).ToList(); } }); var removeItem = result.Where(t => t.SubProducts == null || t.SubProducts.Count < 1).ToList(); if (removeItem != null && removeItem.Count > 0) { removeItem.ForEach(t => { result.Remove(t); }); } } return(result); }
// GET: Admin/ProductCategory public ActionResult Index(int?page, int pageSize = 20, string sortBy = "") { //var dao = new ProductCategoryDao(); //var model = dao.ListAllPaging(searchString, page, pageSize, catId); ProductCategoryFilter filter = (ProductCategoryFilter)Session["ProductCategoryFilter"]; if (filter == null) { filter = new ProductCategoryFilter(); Session["ProductCategoryFilter"] = filter; } filter.CatalogueId = SiteConfiguration.CatalogueId; var result = _proCatRepo.GetCategoriesPaging(filter, page ?? 1, pageSize, sortBy); ViewBag.Filter = filter; return(View(result)); }
public IEnumerable <v_CategoryOfProduct> GetCategoriesPaging(ProductCategoryFilter filter, int pageIndex = 1, int pageSize = 20, string sortby = "") { IQueryable <v_CategoryOfProduct> model = entities.v_CategoryOfProduct; try { if (!string.IsNullOrEmpty(filter.SearchString)) { string searchString = filter.SearchString.Trim(); model = model.Where(x => x.CategoryName.Contains(searchString)); } if (filter.CatalogueId > 0) { model = model.Where(x => x.CatalogueId == filter.CatalogueId); } if (filter.ParentId > 0) { model = model.Where(x => x.ParentId == filter.ParentId); } if (filter.Status.Count() > 0) { model = model.Where(w => filter.Status.Contains(w.Status)); } if (!String.IsNullOrWhiteSpace(sortby)) { model = model.OrderByDescending(x => x.CreatedDate); } else { model = model.OrderByDescending(x => x.CreatedDate); } } catch (Exception ex) { string subject = "Error " + SiteSetting.SiteName + " at GetCategoriesPaging at ProductRepo at Model.Repository"; string message = StringHelper.Parameters2ErrorString(ex, conn); MailHelper.SendMail(SiteSetting.EmailAdmin, subject, message); } return(model.ToPagedList(pageIndex, pageSize)); }
public async Task <BasePageList <ProductCategoryResult> > GetAsync(ProductCategoryFilter filter) { var productCategoriesPageList = await _productCategoryRepository.GetAsync(filter); var createdByIds = productCategoriesPageList.Collections.Select(x => x.CreatedById).ToArray(); var updatedByIds = productCategoriesPageList.Collections.Select(x => x.UpdatedById).ToArray(); var createdByUsers = await _userRepository.GetNameByIdsAsync(createdByIds); var updatedByUsers = await _userRepository.GetNameByIdsAsync(updatedByIds); foreach (var category in productCategoriesPageList.Collections) { var createdBy = createdByUsers.FirstOrDefault(x => x.Id == category.CreatedById); category.CreatedBy = createdBy.DisplayName; var updatedBy = updatedByUsers.FirstOrDefault(x => x.Id == category.CreatedById); category.UpdatedBy = updatedBy.DisplayName; } return(productCategoriesPageList); }
public Tuple <List <ProductCategoryView>, int> getCategories(ProductCategoryFilter filter, int pageNumber = 1, int pageSize = 10, string SortBy = "") { var result = new List <ProductCategoryView>(); int totalItem = 0; try { using (var cont = new SqlConnection(conn)) { var parameters = new DynamicParameters(); if (pageNumber > 1) { parameters.Add("@PageNbr", pageNumber); } if (pageSize > 10) { parameters.Add("@PageSize", pageSize); } if (!String.IsNullOrWhiteSpace(SortBy)) { parameters.Add("@SortCol", SortBy); } result = cont.Query <ProductCategoryView>("sp_CategoryOfProduct_Search_Paging_Sorting", parameters, commandType: CommandType.StoredProcedure).ToList(); } } catch (Exception ex) { string subject = "Error " + SiteSetting.SiteName + " at getProducts at ProductRepo at Model.Repository"; string message = StringHelper.Parameters2ErrorString(ex, conn); MailHelper.SendMail(SiteSetting.EmailAdmin, subject, message); } return(new Tuple <List <ProductCategoryView>, int>(result, totalItem)); }
public async Task <BasePageList <ProductCategoryResult> > GetAsync(ProductCategoryFilter filter) { var search = filter.Keyword != null?filter.Keyword.ToLower() : ""; var categoryQuery = _productCategoryRepository.Table; if (!string.IsNullOrEmpty(search)) { categoryQuery = categoryQuery.Where(user => user.Name.ToLower().Contains(search) || user.Description.ToLower().Contains(search)); } if (filter.StatusId.HasValue) { categoryQuery = categoryQuery.Where(x => x.StatusId == filter.StatusId); } if (filter.CreatedById.HasValue) { categoryQuery = categoryQuery.Where(x => x.CreatedById == filter.CreatedById); } if (filter.UpdatedById.HasValue) { categoryQuery = categoryQuery.Where(x => x.UpdatedById == filter.UpdatedById); } // Filter by register date/ created date if (filter.CreatedDateFrom.HasValue && filter.CreatedDateTo.HasValue) { categoryQuery = categoryQuery.Where(x => x.CreatedDate >= filter.CreatedDateFrom && x.CreatedDate <= filter.CreatedDateTo); } else if (filter.CreatedDateTo.HasValue) { categoryQuery = categoryQuery.Where(x => x.CreatedDate <= filter.CreatedDateTo); } else if (filter.CreatedDateFrom.HasValue) { categoryQuery = categoryQuery.Where(x => x.CreatedDate >= filter.CreatedDateFrom && x.CreatedDate <= DateTime.UtcNow); } var query = categoryQuery.Select(a => new ProductCategoryResult { CreatedById = a.CreatedById, CreatedDate = a.CreatedDate, Description = a.Description, Id = a.Id, Name = a.Name, ParentId = a.ParentId, UpdatedById = a.UpdatedById, UpdatedDate = a.UpdatedDate, StatusId = a.StatusId }); var filteredNumber = query.Select(x => x.Id).Count(); var categories = await query.Skip(filter.PageSize *(filter.Page - 1)) .Take(filter.PageSize).ToListAsync(); var result = new BasePageList <ProductCategoryResult>(categories) { TotalResult = filteredNumber, TotalPage = (int)Math.Ceiling((double)filteredNumber / filter.PageSize) }; return(result); }