コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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"));
        }
コード例 #4
0
    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();

        //}
    }
コード例 #5
0
        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();
        }
コード例 #6
0
        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);
            }
        }
コード例 #7
0
        /// <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
            });
        }
コード例 #8
0
        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));
        }
コード例 #9
0
    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";
    }
コード例 #10
0
        /// <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;
            }
        }
コード例 #11
0
        //[Route("api/Products")]
        //[Route("all")]
        public IEnumerable <Product> GetProducts([FromQuery] FilterProduct filterProduct)
        {
            //return productService.GetAll();

            return(productService.GetProductByFilter(filterProduct));
        }
コード例 #12
0
        public async Task <ActionResult <FilterProduct> > GetProducts([FromQuery] FilterProduct filter)
        {
            var products = await _productService.FilterProduct(filter);

            return(Ok(products));
        }
コード例 #13
0
 public IEnumerable <Product> GetProductByFilter(FilterProduct filterProduct)
 {
     return(productRepository.GetProductByFilter(filterProduct));
 }