protected NavigateProductSearchCommand(IWorkspaceOwner workspaceOwner) : base(workspaceOwner) { var productSearchVM = new ProductSearchVM(); workspaceOwner.Workspaces.Add(productSearchVM); workspaceOwner.CurrentView = productSearchVM; }
public async Task <IActionResult> Search([FromBody] ProductSearchVM search) { // Auto return errors from viewModel and other global errors return(await HandleRequestAsync(async() => { var z = search; Thread.Sleep(2000); long[] values = { }; var filtersList = GetListFilters(_context); long[] filterValueSearchList = values; //масив ID вибраних фільтрів var query = _context .Products .AsQueryable(); foreach (var fName in filtersList) { int countFilter = 0; //Кількість співпадінь у даній групі фільтрів var predicate = PredicateBuilder.False <Product>(); foreach (var fValue in fName.Children) { for (int i = 0; i < filterValueSearchList.Length; i++) { var idV = fValue.Id; if (filterValueSearchList[i] == idV) { predicate = predicate .Or(p => p.Filtres .Any(f => f.FilterValueId == idV)); countFilter++; } } } if (countFilter != 0) { query = query.Where(predicate); } } int count = query.Count(); var res = query .Select(p => new { Id = p.Id, Name = p.Name, Price = p.Price, Filters = p.Filtres .Select(f => new { Filter = f.FilterNameOf.Name, ValueId = f.FilterValueId, Value = f.FilterValueOf.Name }) }) .ToList(); return Ok(res); })); }
//public async Task<int> AddSupplierPriceForProduct(SupplierBundleVM modelVM) //{ // try // { // return await StdRepo.ExcuteStoredProcedureToSave<SupplierBundleVM>(GlobalSPNames.AddSupplierPriceForProductSPName, modelVM); // } // catch (Exception ex) // { // throw ex; // } //} public async Task<int> SearchExistingProduct(ProductSearchVM modelVM) { try { return await StdRepo.ExcuteStoredProcedureToSave<ProductSearchVM>(GlobalSPNames.SearchExistingProductSPName, modelVM); } catch (Exception ex) { throw ex; } }
public IActionResult SearchProduct(ProductSearchVM searchmodel) { if (ModelState.IsValid) { List <Product> model = _context.Products.Where(q => q.Name.Contains(searchmodel.name) && q.Price > searchmodel.minprice && q.Price < searchmodel.maxprice).ToList(); return(View("Index", model)); } else { return(RedirectToAction("Index")); } }
public async Task <HttpResponseMessage> SearchExistingProduct(ProductSearchVM Model) { try { string username = RequestContext.Principal.Identity.Name; string clientAddress = HttpContext.Current.Request.UserHostAddress; return(Request.CreateResponse(HttpStatusCode.OK, await corepo.SearchExistingProduct(Model))); } catch (Exception ex) { LogHelper.WriteLog(HttpContext.Current.Request, ex, RequestContext.Principal.Identity.Name); return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex)); } }
// // GET: /BrandAdmin/ public ActionResult AjaxRead(ProductSearchVM searchOptions, StoreRequestParams parameters) { using (DatisEntities pe = new DatisEntities()) { var all = pe.Products.Where(x => (x.Model.Contains(searchOptions.Model) || searchOptions.Model == null)).Select(m => new ProductVM() { Id = m.Id, Model = m.Model, BrandCategoryId = m.BrandCategoryId ?? 0, FeaturesSummary = m.FeaturesSummary, Summary = m.Summary, Description = m.Description }); var result = all.OrderBy(x => x.Id).ApplyPaging(parameters).ToList(); return(this.Store(result, all.Count())); } }
public IList <Product> SearchProduct(ProductSearchVM vm) { IList <Product> list = new List <Product>(); using (IDataContext ctx = DataContext.Instance()) { var repProduct = ctx.GetRepository <Product>(); if (vm.CategoryId <= 0 && string.IsNullOrWhiteSpace(vm.Code)) { list = repProduct.Get().ToList(); } else { if (vm.CategoryId > 0) { var repProductCategory = ctx.GetRepository <ProductCategory>(); var productCategoryList = repProductCategory.Find("WHERE CATEGORYID = " + vm.CategoryId).ToList(); if (productCategoryList != null && productCategoryList.Count > 0) { string whereProductCategoryList = string.Join(",", productCategoryList.Select(a => a.ProductId).ToArray()); string condition = "WHERE ID in (" + whereProductCategoryList + ")"; if (!string.IsNullOrWhiteSpace(vm.Code)) { condition += " and CODE LIKE '%" + vm.Code + "%'"; } list = repProduct.Find(condition).ToList(); } } else { if (!string.IsNullOrWhiteSpace(vm.Code)) { list = repProduct.Find("WHERE CODE LIKE '%" + vm.Code + "%'").ToList(); } } } } return(list); }
public HttpResponseMessage Search(ProductSearchVM vm) { var list = ProductDataManager.Instance.SearchProduct(vm); return(Request.CreateResponse(HttpStatusCode.OK, list)); }
public ActionResult Index(ProductSearchVM input) { return(View(input)); }