コード例 #1
0
        public async Task <IActionResult> ItemSearch4(DataSourceRequest command,
                                                      VendorItemSearchModel model)
        {
            var(ProductItemSearchlistmodel, totalCount) = await _selectItemsServices.ProductItemSearch4listmodel(model, command.Page,
                                                                                                                 command.PageSize);

            var gridModel = new DataSourceResult
            {
                Data  = ProductItemSearchlistmodel,
                Total = totalCount
            };

            return(Json(gridModel));
        }
コード例 #2
0
        public async Task <IActionResult> ItemSearch4(int VendorID)
        {
            var model = new VendorItemSearchModel();

            if (VendorID <= 0)
            {
                return(RedirectToAction("SetupEdit"));
            }

            var vendor = await _vendorManagementService.GetVendor(VendorID);

            if (vendor == null)
            {
                return(RedirectToAction("SetupEdit"));
            }

            model.VendorID   = (int)vendor.VendorId;
            model.VendorName = vendor.Vname;

            return(View(model));
        }
コード例 #3
0
        public async Task <(IEnumerable <ProductSearchModel> ProductItemSearchlistmodel, int totalCount)> ProductItemSearch4listmodel(VendorItemSearchModel model, int pageIndex, int pageSize)
        {
            var query = (from i in _itemRepository.Table
                         join v in _vendorRepository.Table on i.VendorId equals v.VendorId
                         where v.ClientId == (int)_workContext.CurrentCustomer.ClientId &&
                         v.VendorId == model.VendorID
                         select new ItemSearch
            {
                VItemID = i.VitemId,
                Vitem = i.Vitem,
                MfgNo = i.MfgNo,
                VDescription = i.Vdescription,
                UOM = i.Uom,
                Pkg = i.Pkg,
                SellingPrice = i.SellingPrice,
                VendorID = v.VendorId,
                VName = v.Vname
            });

            //Searching
            if (!string.IsNullOrWhiteSpace(model.SearchText))
            {
                query = query.Where(c => c.Vitem.Contains(model.SearchText) || c.VDescription.Contains(model.SearchText) || c.MfgNo.Contains(model.SearchText));
            }

            //Sorting
            if (model.SortBy == 2)
            {
                query = query.OrderBy(c => c.VDescription);
            }

            if (model.SortBy == 1)
            {
                query = query.OrderBy(c => c.Vitem);
            }

            if (model.SortBy == 3)
            {
                query = query.OrderBy(c => c.MfgNo);
            }


            var products = query.Distinct().ToList();

            int totalCount = products.Count;
            int pageOffSet = (Convert.ToInt32(pageIndex) - 1) * 10;

            products = products.Skip(pageOffSet).Take(Convert.ToInt32(pageSize)).ToList();

            ///Add from store procedure response to model
            var productsearchlistmodel = new List <ProductSearchModel>();

            foreach (var p in products)
            {
                productsearchlistmodel.Add(new ProductSearchModel
                {
                    VItemId     = p.VItemID,
                    Item        = p.Vitem,
                    Mfg         = p.MfgNo,
                    Description = p.VDescription,
                    Unit        = p.UOM,
                    Pkg         = p.Pkg,
                    Price       = p.SellingPrice,
                    Vendor      = p.VName
                });
            }

            return(productsearchlistmodel, totalCount);
        }