public async Task <FilterProduct> FilterProduct(FilterProduct filter) { var productQuery = unitOfWork.ProductRepository.GetEntitiesQuery(); if (!string.IsNullOrEmpty(filter.Title)) { productQuery = productQuery.Where(s => s.Name.Contains(filter.Title)); } productQuery = productQuery.Where(s => s.Price >= filter.StartPrice); if (filter.Categories != null && filter.Categories.Any()) { productQuery = productQuery.SelectMany(s => s.ProductSelectedCategories.Where(f => filter.Categories.Contains(f.CategoryId)).Select(t => t.product)); } if (filter.EndPrice != 0) { productQuery = productQuery.Where(s => s.Price <= filter.EndPrice); } var count = (int)Math.Ceiling(productQuery.Count() / (double)filter.TakeEntity); var pager = Pager.Build(count, filter.PageId, filter.TakeEntity); var products = await productQuery.Paging(pager).ToListAsync(); return(filter.SetProducts(products).SetPaging(pager)); }
public IEnumerable <Product> CountProduct(FilterProduct Filter) { var sqlCommand = "Proc_CountProduct"; if (Filter.txtSKUCode != null && Filter.txtSKUCode.ToString().Trim() != String.Empty) { Filter.txtSKUCode = '%' + Filter.txtSKUCode + '%'; } else { Filter.txtSKUCode = null; } if (Filter.txtProductName != null && Filter.txtProductName.ToString().Trim() != String.Empty) { Filter.txtProductName = '%' + Filter.txtProductName + '%'; } else { Filter.txtProductName = null; } if (Filter.txtProductCategory != null && Filter.txtProductCategory.ToString().Trim() != String.Empty) { Filter.txtProductCategory = '%' + Filter.txtProductCategory + '%'; } else { Filter.txtProductCategory = null; } if (Filter.txtUnit != null && Filter.txtUnit.ToString().Trim() != String.Empty) { Filter.txtUnit = '%' + Filter.txtUnit + '%'; } else { Filter.txtUnit = null; } if (Filter.txtSalePrice != null && Filter.txtSalePrice.ToString().Trim() == String.Empty) { Filter.txtSalePrice = null; } if (Filter.txtIsShow != null && Filter.txtIsShow.ToString().Trim() == String.Empty) { Filter.txtIsShow = null; } if (Filter.txtStatus != null && Filter.txtStatus.ToString().Trim() == String.Empty) { Filter.txtStatus = null; } return(_db.GetData(sqlCommand, new { Code = Filter.txtSKUCode, ProName = Filter.txtProductName, CategoryName = Filter.txtProductCategory, UnitName = Filter.txtUnit, Price = Filter.txtSalePrice, isShow = Filter.txtIsShow, Status = Filter.txtStatus, }, System.Data.CommandType.StoredProcedure)); }
public ActionResult SearchProducts(FilterProduct model) { ProductsViewModel viewModel = new ProductsViewModel() { FilterProduct = model, }; viewModel.Products = _iProductRepository.GetAllProducts(); if (model.Ammount != null) { viewModel.Products = viewModel.Products.Where(x => x.Amount == model.Ammount); } return(RedirectToAction("List", "Product")); }
protected void filterproduct() { string stractive; if (chk_activefilter.Checked == true) { stractive = ""; } string strcln = " SELECT distinct WebsiteMaster.ID as WebsiteMaster_ID,VersionInfoMaster.VersionInfoId,MasterPageMaster.MasterPageId, ProductMaster.ProductName + ':' + VersionInfoMaster.VersionInfoName + ' : ' + WebsiteMaster.WebsiteName + ':' + WebsiteSection.SectionName + ':' + MasterPageMaster.MasterPageName as MasterPage_Name FROM ProductMaster inner join VersionInfoMaster on ProductMaster.ProductId=VersionInfoMaster.ProductId inner join ProductDetail on ProductDetail.ProductId=ProductMaster.ProductId inner join WebsiteMaster on WebsiteMaster.VersionInfoId=VersionInfoMaster.VersionInfoId inner join WebsiteSection on WebsiteSection.WebsiteMasterId=WebsiteMaster.ID inner join MasterPageMaster on MasterPageMaster.WebsiteSectionId=WebsiteSection.WebsiteSectionId where VersionInfoMaster.VersionInfoId='32' order by MasterPage_Name"; SqlCommand cmdcln = new SqlCommand(strcln, con); DataTable dtcln = new DataTable(); SqlDataAdapter adpcln = new SqlDataAdapter(cmdcln); adpcln.Fill(dtcln); FilterProduct.DataSource = dtcln; FilterProduct.DataValueField = "MasterPageId"; FilterProduct.DataTextField = "MasterPage_Name"; FilterProduct.DataBind(); //FilterProduct.Items.Insert(0, "All"); //FilterProduct.Items[0].Value = "0"; if (dtcln.Rows.Count > 0) { ViewState["versioninfo"] = dtcln.Rows[0]["VersionInfoId"].ToString(); FilterProduct.SelectedValue = dtcln.Rows[0]["MasterPageId"].ToString(); FillterCategorysearch(); filtermainmenu(); filtersubmenu(); functionality(); FilterGrid(); } //string strcln1 = " SELECT * From TheLastSearchedPageMasterTBL where UserID='" + Session["EmpId"] + "' and Pagename='PageMasterNew' Order By ID Desc"; //SqlCommand cmdcln1 = new SqlCommand(strcln1, con); //DataTable dtcln1 = new DataTable(); //SqlDataAdapter adpcln1 = new SqlDataAdapter(cmdcln1); //adpcln1.Fill(dtcln1); //if (dtcln1.Rows.Count > 0) //{ // FilterProduct.SelectedValue = dtcln1.Rows[0]["ProductID"].ToString(); //} }
public IEnumerable <Product> GetProductByFilter(FilterProduct filterProduct) { //var query = Enumerable.Empty<Product>().AsQueryable(); //var filterBy = filterProduct.FilterBy.Trim().ToLowerInvariant(); var low = filterProduct.low; var high = filterProduct.high; var ascending = filterProduct.ascending; var descending = filterProduct.descending; var category = filterProduct.category; var products = GetAll(); if (low != 0 && high != 0) { products = products.Where(p => p.Price > low && p.Price < high).AsEnumerable(); } if (ascending == true) { products = products.OrderBy(p => p.Price); } if (descending == true) { products = products.OrderByDescending(p => p.Price); } if (category == "Cafea") { products = products.Where(p => p.ProductTypeId == 1).AsEnumerable(); } if (category == "Espressor") { products = products.Where(p => p.ProductTypeId == 2).AsEnumerable(); } if (category == "Unelte") { products = products.Where(p => p.ProductTypeId == 3).AsEnumerable(); } return(products); //return query.ToList(); }
protected override async Task OnInitializedAsync() { BasketItems = new List <BasketItem>(); filterproduct = new FilterProduct(); try { Categories = await CategoryService.GetAsync(); //filterproduct = await ProductService.GetFilterProduct(); var res = await ProductService.GetAsync(); Products = res.ToList(); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
/// <summary> /// 过滤产品 /// </summary> /// <param name="filter"></param> /// <returns></returns> public JsonResult GetProductListForShopping(string filter) { JavaScriptSerializer serializer = new JavaScriptSerializer(); FilterProduct model = serializer.Deserialize <FilterProduct>(filter); int totalCount = 0; int pageCount = 0; List <Products> list = new ProductsBusiness().GetFilterProducts(model.CategoryID, model.Attrs, model.BeginPrice, model.EndPrice, model.Keywords, model.OrderBy, model.IsAsc, 20, model.PageIndex, ref totalCount, ref pageCount, CurrentUser.ClientID); JsonDictionary.Add("Items", list); JsonDictionary.Add("TotalCount", totalCount); JsonDictionary.Add("PageCount", pageCount); return(new JsonResult { Data = JsonDictionary, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }
public async Task <IActionResult> GetProduct([FromQuery] FilterProduct request = null) { IQueryable <Product> queryable; List <Product> products; if (request?.CategoryId != null) { queryable = _context.Product.Include(p => p.ProductOptions).Where(x => x.ProductCategories.Any(pc => pc.CategoryId == request.CategoryId)); } else { queryable = _context.Product.Include(p => p.ProductOptions).AsQueryable(); } if (!string.IsNullOrEmpty(request?.Search)) { queryable = queryable.Where(x => EF.Functions.Like(x.Name, $"{request.Search}%")); } if (request?.PageIndex > 0 && request.PageSize > 0) { int?totalPages = await queryable.CountAsync(); queryable = queryable.Skip(request.PageSize.Value * (request.PageIndex.Value - 1)).Take(request.PageSize.Value); products = await queryable.ToListAsync(); return(Ok(new Pagination <Product> { TotalPages = totalPages.Value, Data = products })); } products = await queryable.ToListAsync(); return(Ok(products)); }
protected void filterproduct() { string strcln = " SELECT distinct WebsiteMaster.ID as WebsiteMaster_ID,VersionInfoMaster.VersionInfoId,MasterPageMaster.MasterPageId, ProductMaster.ProductName + ':' + VersionInfoMaster.VersionInfoName + ' : ' + WebsiteMaster.WebsiteName + ':' + WebsiteSection.SectionName + ':' + MasterPageMaster.MasterPageName as MasterPage_Name FROM ProductMaster inner join VersionInfoMaster on ProductMaster.ProductId=VersionInfoMaster.ProductId inner join ProductDetail on ProductDetail.ProductId=ProductMaster.ProductId inner join WebsiteMaster on WebsiteMaster.VersionInfoId=VersionInfoMaster.VersionInfoId inner join WebsiteSection on WebsiteSection.WebsiteMasterId=WebsiteMaster.ID inner join MasterPageMaster on MasterPageMaster.WebsiteSectionId=WebsiteSection.WebsiteSectionId where ProductMaster.ClientMasterId='" + Session["ClientId"] + "' and VersionInfoMaster.Active ='True' and ProductDetail.Active='1' order by MasterPage_Name"; SqlCommand cmdcln = new SqlCommand(strcln, con); DataTable dtcln = new DataTable(); SqlDataAdapter adpcln = new SqlDataAdapter(cmdcln); adpcln.Fill(dtcln); FilterProduct.DataSource = dtcln; FilterProduct.DataValueField = "MasterPageId"; FilterProduct.DataTextField = "MasterPage_Name"; FilterProduct.DataBind(); FilterProduct.Items.Insert(0, "All"); FilterProduct.Items[0].Value = "0"; if (dtcln.Rows.Count > 0) { ViewState["versioninfo"] = dtcln.Rows[0]["VersionInfoId"].ToString(); } FilterProduct.SelectedValue = "12"; }
/// <summary> /// Sự kiện onClick /// </summary> /// <param name="sender"></param> public void onClick(VIEW view) { if (view.getID() == R.layout.CATEGORY_SAMPLES) { vax = dataManager.findProductFollowCategory(((tabCategorySamples)view.obj).danhMuc.Loai); asyncShowProductTask(view.obj); } else if (view.getID() == R.layout.PRODUCT_SAMPLES) { showDetailsProducts(view.obj); } else if (view.getID() == R.layout.TAB_GOOD) { if (((tabGood)view.obj).isRemove) { billManager.deleteBill(((tabGood)view.obj).sanPham); } updateBill(true); } else if (view.getID() == R.layout.TAB_ORDER) { orderChoosedBillList(); } else if (view.getID() == R.id.CHOOSE_TO_BUY_PRODUCT) { buyChoosedProduct(); } else if (view.getID() == R.id.CHOOSE_HOME_PAGE) { pageProducts.BringToFront(); } else if (view.getID() == R.id.CONFIRM_INFO_CUSTOMER) { tabChoosePayMethod.BringToFront(); } else if (view.getID() == R.id.CHOOSE_PAY_METHOD_BUY) { tabThankyou1.BringToFront(); } else if (view.getID() == R.id.CHOOSE_HOME_PAGE) { pageProducts.BringToFront(); } else if (view.getID() == R.id.REGISTER_USER) { formRegister = new frmRegister(); formRegister.setOnClickListener(this); formRegister.Show(); } else if (view.getID() == R.id.REQUEST_LOGIN) { //Kiểm tra đăng nhập tại đây pageLogin pl = (pageLogin)view.obj; handleLogin(pl.userName, pl.password); } else if (view.getID() == R.id.REQUEST_UPDATE_INFO_USER) { handleUpdateCustomer(((tabInfoUser)view.obj).customer); } else if (view.getID() == R.id.FILTER_PRICE_LOW_TO_HIGTH) { showPriceProductLowToHight(view.obj); } else if (view.getID() == R.id.FILTER_PRICE_HIGH_TO_LOW) { showPriceProductHightToLow(view.obj); } //Đoạn này cần xử lý với dữ liệu, tao bắt sự kiện sẵn rồi else if (view.getID() == R.id.FILTER_FOLLOW_RATE) { FilterProduct filterProduct = ((tabFilterProducts)view.obj).filterProduct; //Xử lý lọc theo sao tại đây int rate = filterProduct.rate; showProductFollowRate(view.obj, rate); } else if (view.getID() == R.id.FILTER_FOLLOW_ABOUT_PRICE) { FilterProduct filterProduct = ((tabFilterProducts)view.obj).filterProduct; //Xử lý lọc theo khoảng giá tại đây double from = filterProduct.price1; double to = filterProduct.price2; showProductAboutPrice(from + to, from, to); } else if (view.getID() == R.id.FILTER_FOLLOW_TEXT) { FilterProduct filterProduct = ((pageProducts)view.obj).filterProduct; string content = filterProduct.Content; //Xử lý lọc theo hàng theo nội dung tìm kiếm tại đây với nôi dung //là biến content ở trên showProductFollowText(content, content); } else if (view.getID() == R.id.FILTER_FOLLOW_HOT_PRODUCT) { //Xử lý lọc theo hàng bán chạy tại đây } else if (view.getID() == R.id.FILTER_FOLLOW_NEW_PRODUCT) { //Xử lý lọc theo hàng mới tại đây } else if (view.getID() == R.id.FILTER_FOLLOW_SALE_PRODUCT) { //Xử lý lọc theo hàng giảm giá nhiều tại đây showProductFollowSale(view.obj); } else if (view.getID() == R.id.SEARCH_BY_CODE) { //Xử lý tìm sản phẩm theo mã code với mã string stringCode = ((tabInfoUser)view.obj).stringCode; } else if (view.getID() == R.id.SEARCH_BY_IMAGE_CODE || view.getID() == R.id.SEARCH_BY_CAMERA_CODE) { string stringCode = null; while (stringCode == null) { stringCode = ((tabInfoUser)view.obj).stringCode; } MessageBox.Show(stringCode); //Xử lý tìm sản phẩm theo mã code với mã //PictureBox imageCode = ((tabInfoUser)view.obj).imageCode; } }
//[Route("api/Products")] //[Route("all")] public IEnumerable <Product> GetProducts([FromQuery] FilterProduct filterProduct) { //return productService.GetAll(); return(productService.GetProductByFilter(filterProduct)); }
public async Task <ActionResult <FilterProduct> > GetProducts([FromQuery] FilterProduct filter) { var products = await _productService.FilterProduct(filter); return(Ok(products)); }
public IEnumerable <Product> GetProductByFilter(FilterProduct filterProduct) { return(productRepository.GetProductByFilter(filterProduct)); }