Пример #1
0
        protected NavigateProductSearchCommand(IWorkspaceOwner workspaceOwner) : base(workspaceOwner)
        {
            var productSearchVM = new ProductSearchVM();

            workspaceOwner.Workspaces.Add(productSearchVM);
            workspaceOwner.CurrentView = productSearchVM;
        }
Пример #2
0
        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);
            }));
        }
Пример #3
0
        //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;
            }
        }
Пример #4
0
        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"));
            }
        }
Пример #5
0
 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));
     }
 }
Пример #6
0
        //
        // 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()));
            }
        }
Пример #7
0
        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);
        }
Пример #8
0
        public HttpResponseMessage Search(ProductSearchVM vm)
        {
            var list = ProductDataManager.Instance.SearchProduct(vm);

            return(Request.CreateResponse(HttpStatusCode.OK, list));
        }
Пример #9
0
 public ActionResult Index(ProductSearchVM input)
 {
     return(View(input));
 }