Пример #1
0
 private void GetData(ProductSearchViewModel model, List <ProductInfoViewModel> List)
 {
     using (System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString))
     {
         using (System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand())
         {
             cmd.CommandText = "usp_ListCheckinfo";
             cmd.Parameters.AddWithValue("@ProductId", model.ProductId);
             cmd.Parameters.AddWithValue("@ProductName", model.ProductName);
             cmd.Parameters.AddWithValue("@CustomerLevelId", model.CustomerLevelId);
             cmd.Parameters.AddWithValue("@txtkhoanggiaduoi", model.txtkhoanggiaduoi);
             cmd.Parameters.AddWithValue("@txtkhoanggiatren", model.txtkhoanggiatren);
             cmd.Parameters.AddWithValue("@CategoryId", model.CategoryId);
             cmd.Parameters.AddWithValue("@OriginOfProductId", model.OriginOfProductId);
             cmd.Connection  = conn;
             cmd.CommandType = CommandType.StoredProcedure;
             conn.Open();
             // do
             using (var dr = cmd.ExecuteReader())
             {
                 while (dr.Read())
                 {
                     var v = ListView(dr);
                     List.Add(v);
                 }
             }
             conn.Close();
         }
     }
 }
Пример #2
0
        public HttpResponseMessage ProductList(ProductSearchViewModel searchModel)
        {
            ApiResult <List <ProductViewModel> > response = new ApiResult <List <ProductViewModel> >();

            var productList = _baseAppSvc.GetAkureProducts(searchModel.Keywords,
                                                           searchModel.PageIndex, searchModel.PageSize).ToList();

            List <ProductViewModel> prodVmList = new List <ProductViewModel>();

            productList.ForEach(p =>
            {
                prodVmList.Add(new ProductViewModel()
                {
                    Id         = p.ProductId,
                    Name       = p.Name,
                    Price      = p.Price.HasValue? p.Price.Value.ToString(): "[NA]",
                    Quantity   = p.Quantity.HasValue? p.Quantity.Value.ToString(): "[NA]",
                    TotalCount = p.TotalCount
                });
            });

            response.Result = prodVmList;

            return(this.Request.CreateResponse(response));
        }
        public void FindTwoProductsMatchingKnownSearchTerm()
        {
            // Arrange
            var productsToSearch = new ObservableCollection <Product>
            {
                new Product {
                    Name = "The Lost Flowers of Alice Hart"
                },
                new Product {
                    Name = "The Yellow House"
                },
                new Product {
                    Name = "The Woman In The Window"
                }
            };
            ISearchViewModel <Product> viewModel = new ProductSearchViewModel(productsToSearch);

            viewModel.SearchTerm = "i";
            viewModel.SearchTermMinimumLength = 1;

            // Act
            viewModel.Search();

            // Assert
            Assert.AreEqual(2, viewModel.SearchResults.Count);
        }
Пример #4
0
        public ActionResult ProductTable(string search, int?pageNo)
        {
            //var products = productService.GetProducts();

            var pageSize = ConfigurationsService.Instance.PageSize();

            ProductSearchViewModel model = new ProductSearchViewModel();

            model.SearchTerm = search;

            pageNo = pageNo.HasValue ? pageNo.Value > 0 ? pageNo.Value : 1 : 1;

            var totalRecords = ProductsService.Instance.GetProductsCount(search);

            model.Products = ProductsService.Instance.GetProducts(search, pageNo.Value, pageSize);

            model.Pager = new Pager(totalRecords, pageNo, pageSize);

            //if (string.IsNullOrEmpty(search) == false)
            //{
            //    //products = products.Where(p => p.Name != null && p.Name.ToLower().Contains(search.ToLower())).ToList();
            //    model.SearchTerm = search;
            //    model.Products = model.Products.Where(p => p.Name != null && p.Name.ToLower().Contains(search.ToLower())).ToList();
            //}

            return(PartialView(model));
        }
        private ProductSearchViewModel GetSearchModel(string searchId)
        {
            if (!String.IsNullOrEmpty(searchId))
            {
                CacheItem cacheItem = _memoryCache.GetExtendingCache().Get($"Product Search View Model {searchId}");

                if (cacheItem != null)
                {
                    return((ProductSearchViewModel)cacheItem.Value);
                }
            }

            ProductSearchViewModel Result = new ProductSearchViewModel();

            foreach (string group in GetProductGroups())
            {
                Result.ProductGroups.Add(new CheckedViewItemModel(group, true));
            }

            foreach (ProductPriceInfo priceGroup in GetPriceGroups())
            {
                Result.Prices.Add(new CheckedViewItemModel(priceGroup.Text, true));
            }

            Result.VideoProductCount = GetProductWithVideoCounts();

            GetSearchId(Result);

            return(Result);
        }
        public ActionResult Search(ProductSearchViewModel productSearchViewModel)
        {
            if (productSearchViewModel == null)
            {
                productSearchViewModel = new ProductSearchViewModel();
            }

            if (productSearchViewModel.ProductSearchCriteria == null)
            {
                productSearchViewModel.ProductSearchCriteria = new ProductSearchCriteriaViewModel();
            }

            productSearchViewModel.ProductSearchCriteria.Categories = _categoryListHelper.Get(productSearchViewModel.ProductSearchCriteria.SelectedCategories?.ToArray());

            productSearchViewModel.ProductSearchCriteria.Suppliers = _supplierListHelper.Get(productSearchViewModel.ProductSearchCriteria.SelectedSuppliers?.ToArray());

            var criteria = Mapper.Map <ProductSearchCriteria>(productSearchViewModel.ProductSearchCriteria);

            var products = _productRepository.Search(criteria);

            if (products == null || !products.SearchList.Any())
            {
                return(View(productSearchViewModel));
            }

            productSearchViewModel.Products = products.SearchList.Select(x => Mapper.Map <ProductViewModel>(x)).ToList();

            productSearchViewModel.CurrentPageIndex = products.PageIndex;
            productSearchViewModel.PageSize         = products.PageSize;
            productSearchViewModel.TotalItemCount   = products.TotalItemCount;
            productSearchViewModel.TotalPageCount   = (products.TotalItemCount / products.PageSize) + 1;

            return(View(productSearchViewModel));
        }
        public void DoesNotFindProductsWhenUnknownSearchTerm()
        {
            // Arrange
            var productsToSearch = new ObservableCollection <Product>
            {
                new Product {
                    Name = "The Lost Flowers of Alice Hart"
                },
                new Product {
                    Name = "The Yellow House"
                },
                new Product {
                    Name = "The Woman In The Window"
                }
            };
            ISearchViewModel <Product> viewModel = new ProductSearchViewModel(productsToSearch);

            viewModel.SearchTerm = "zz";
            viewModel.SearchTermMinimumLength = 2;

            // Act
            viewModel.Search();

            // Assert
            Assert.IsTrue(viewModel.SearchResults.Count == 0);
        }
        public void NotifiesPropertyChangedForItemsToSearchRemoved()
        {
            // Arrange
            var productsToSearch = new ObservableCollection <Product>
            {
                new Product {
                    Name = "The Lost Flowers of Alice Hart"
                },
                new Product {
                    Name = "The Yellow House"
                },
                new Product {
                    Name = "The Woman In The Window"
                }
            };
            ISearchViewModel <Product> viewModel = new ProductSearchViewModel(productsToSearch);

            var notifiedPropertyChanged = false;

            viewModel.ItemsToSearch.CollectionChanged += (sender, args) =>
            {
                notifiedPropertyChanged = true;
            };

            // Act
            viewModel.ItemsToSearch.RemoveAt(0);

            // Assert
            Assert.AreEqual(true, notifiedPropertyChanged);
        }
Пример #9
0
 public async Task <IActionResult> ProductSearch(string KeySearch)
 {
     try
     {
         string input = KeySearch.ToLower();
         // Lấy 10 sản phẩm gần giống
         List <Product> productList = productService.GetAvailable()
                                      .Where(p => p.Name.ToLower().Contains(input))
                                      .Take(10).ToList();
         List <ProductSearchViewModel> viewModelList = new List <ProductSearchViewModel>();
         foreach (var item in productList)
         {
             var image = imageService.Get(item.Id);
             ProductSearchViewModel vmodel = new ProductSearchViewModel()
             {
                 Name = item.Name,
                 Url  = image.Url
             };
             viewModelList.Add(vmodel);
         }
         return(Ok(viewModelList));
     }
     catch
     {
         return(BadRequest());
     }
 }
Пример #10
0
        public async Task <IActionResult> Products(ProductSearchViewModel data)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                var products = await _domainService.Get(data.Name, data.Description, data.Price, data.StartDate, data.EndDate, data.OrderBy, data.OrderType);

                var query = from product in products
                            select new ProductSearchResultViewModel
                {
                    ProductId    = product.ProductId,
                    Name         = product.Name,
                    Description  = product.Description,
                    Price        = product.Price,
                    CreationDate = product.CreationDate
                };

                return(new OkObjectResult(query.ToList()));
            }
            catch
            {
                return(BadRequest());
            }
        }
Пример #11
0
        public ActionResult ProductInfo(string dataSearch, int?pageNo)
        {
            ProductSearchViewModel model = new ProductSearchViewModel();

            pageNo = pageNo.HasValue ? pageNo.Value > 0 ? pageNo.Value : 1 : 1;
            int pageSize     = int.Parse(BasicConfigService.Instance.GetBasicConfiguration("ListingPageSize").ConfigDescription);
            int TotalRecords = 0;


            if (!String.IsNullOrEmpty(dataSearch))
            {
                model.SearchTerm = dataSearch;
            }

            TotalRecords  = ProductsService.Instance.GetProductsCount(dataSearch);
            model.product = ProductsService.Instance.GetProducts(dataSearch, pageNo.Value);

            if (model.product != null)
            {
                model.pager = new Pager(TotalRecords, pageNo, pageSize);
                return(PartialView(model));
            }
            else
            {
                return(HttpNotFound());
            }
        }
        protected virtual async Task <bool> GetProductSearchViewModelAvailableForSell(
            ProductSearchViewModel productSearchViewModel,
            ProductDocument productDocument)
        {
            if (productSearchViewModel.HasVariants)
            {
                return(true);
            }

            _productSettings = await ProductSettings.GetProductSettings(ComposerContext.Scope, ComposerContext.CultureInfo).ConfigureAwait(false);

            if (!_productSettings.IsInventoryEnabled)
            {
                return(true);
            }

            var availableStatusesForSell = ComposerConfiguration.AvailableStatusForSell;

            return((from inventoryItemAvailability
                    in productDocument.InventoryLocationStatuses
                    from inventoryItemStatuse
                    in inventoryItemAvailability.Statuses
                    select GetInventoryItemStatus(inventoryItemStatuse.Status))
                   .Any(inventoryItemStatus => availableStatusesForSell
                        .Any(availableStatusForSell => availableStatusForSell == inventoryItemStatus)));
        }
Пример #13
0
        public ActionResult ProductTable(string search, int?pageNo)
        {
            ProductSearchViewModel model = new ProductSearchViewModel();

            model.PageNo = pageNo.HasValue ? pageNo.Value > 0 ? pageNo.Value : 1 : 1;

            model.Products = ProductsService.Instance.GetProducts(model.PageNo);

            if (string.IsNullOrEmpty(search) == false)
            {
                model.SearchTerm = search;
                model.Products   = model.Products.Where(p => p.Name != null && p.Name.ToLower().Contains(search.ToLower())).ToList();
                // products = products.Where(p => p.Name.Contains(search)).ToList();
            }
            return(PartialView(model));

            //pageNo = pageNo.HasValue ? pageNo : 1;

            //var products = ProductsService.Instance.GetProducts(pageNo.Value);
            //if (string.IsNullOrEmpty(search) == false)
            //{
            //    products = products.Where(p => p.Name != null && p.Name.ToLower().Contains(search.ToLower())).ToList();
            //    // products = products.Where(p => p.Name.Contains(search)).ToList();
            //}
            //return PartialView(products);
        }
Пример #14
0
        public ActionResult ProductTable(string search, int?pageNo)
        {
            var pageSize = ConfigurationsService.Instance.PageSize();
            ProductSearchViewModel model = new ProductSearchViewModel();

            model.SearchTerm = search;
            pageNo           = pageNo.HasValue ? pageNo.Value > 0 ? pageNo.Value : 1 : 1; //Use this or else Down one

            ////similat to above
            //if(pageNo.HasValue)
            //{
            //  if(pageNo.Value > 0)
            //  {
            //      model.PageNo = pageNo.Value;
            //  }
            //  else
            //  {
            //      model.PageNo = 1;
            //  }
            //}
            //else
            //{
            //      model.PageNo = 1;
            //}
            var totalRecords = ProductsServices.Instance.GetProductsCount(search);

            model.Products = ProductsServices.Instance.GetProducts(search, pageNo.Value, pageSize);

            model.Pager = new Pager(totalRecords, pageNo, pageSize);

            return(PartialView(model));
        }
Пример #15
0
        public IActionResult Get([FromQuery] ProductSearchViewModel model)
        {
            if (ModelState.IsValid)
            {
                var dbOpModel = new DbOperationViewModel();
                var product   = this.Mapper.Map <Product>(model);
                dbOpModel.Data           = JsonConvert.SerializeObject(product);
                dbOpModel.OperationRoute = "product.select";

                var message = JsonConvert.SerializeObject(dbOpModel);

                var result     = this.GetResult(message);
                var resultData = JsonConvert.DeserializeObject <List <Product> >(result.Data);
                var response   = this.Mapper.Map <List <ProductCreateViewModel> >(resultData);
                if (result.Success)
                {
                    return(Json(response));
                }
                else
                {
                    this.Logger.LogError(result.ErrorMsg);
                }
                return(new StatusCodeResult(500));
            }
            return(BadRequest(ModelState));
        }
Пример #16
0
        private static void SetViewModel(Models.Products products, ProductView view)
        {
            ProductSearchViewModel viewModel = view.DataContext as ProductSearchViewModel;

            if (viewModel != null)
            {
                viewModel.Products = products;
            }
        }
Пример #17
0
        public ActionResult SearchPanel()
        {
            var model = new ProductSearchViewModel()
            {
                PopularSearchTerms = _productsService.GetPopularSearches(5).ToList()
            };

            return(PartialView("_SearchPanel", model));
        }
        public ProductSearchWindow(ILifetimeScope scope, ProductSearchViewModel viewModel)
        {
            InitializeComponent();

            DataContext = _viewModel = viewModel;
            _scope      = scope;

            _viewModel.CloseDialogRequested += (sender, args) => Close();
        }
Пример #19
0
        public ActionResult Index()
        {
            var model = new ProductSearchViewModel
            {
                ProductGrid = GenerateProductListingGrid()
            };

            return(View(model));
        }
Пример #20
0
 public List <ProductSearchResultItem> Search(ProductSearchViewModel viewModel)
 {
     return(_productRepository.GetBySearchCriteria(viewModel.Name, viewModel.Upc, viewModel.Description,
                                                   viewModel.SpeciesId, viewModel.QualityGradeId,
                                                   viewModel.CustomerProductCode, viewModel.PrimalCutId,
                                                   viewModel.SubPrimalCutId, viewModel.TrimCutId)
            .Select(MapToResultItem)
            .ToList());
 }
Пример #21
0
        // GET: Categories
        public ActionResult Index()
        {
            ProductSearchViewModel psvm = new ProductSearchViewModel();

            psvm.readTagCategories(db);
            psvm.readAndSortTags(db);
            CountCartItems();
            return(View(psvm));
        }
Пример #22
0
 public static ProductSearchDto ToDto(this ProductSearchViewModel source)
 {
     return(new ProductSearchDto
     {
         PageNumber = source.PageNumber,
         PageSize = source.PageSize,
         Title = source.Title
     });
 }
Пример #23
0
        // GET: Products/SearchView
        public IActionResult SearchView()
        {
            var model = new ProductSearchViewModel();

            model.ProductsResult = new List <Product>();
            model.Categories     = GetCategories(_context.Product);

            model.Products = GetProducts(_context.Product);
            return(View(model));
        }
Пример #24
0
 private bool UserHasNotSearched(ProductSearchViewModel search)
 {
     if (search.MaxPrice == null && search.MinPrice == null && search.ProductName == null && search.Category == null)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Пример #25
0
        public ActionResult ShowProductSearchResults(string searchText)
        {
            NorthwindDb            db = new NorthwindDb(_connectionString);
            ProductSearchViewModel vm = new ProductSearchViewModel
            {
                Products   = db.SearchProducts(searchText),
                SearchText = searchText
            };

            return(View(vm));
        }
Пример #26
0
        public ActionResult Index(ProductSearchViewModel model)
        {
            FillLookups();
            if (ModelState.IsValid)
            {
                model.HasSessionCriteria = true;
                ProductSearchData        = model;
            }

            return(View(model));
        }
Пример #27
0
        public ActionResult SearchForm()
        {
            var model          = new ProductSearchViewModel();
            var formCollection = new FormCollection(Request.Form);

            TryUpdateModel(model, formCollection);

            var keywords = Request.QueryString["keywords"];

            if (!string.IsNullOrWhiteSpace(keywords))
            {
                model.Keywords = keywords;
            }

            var brands = Request.QueryString["brand"];

            if (!string.IsNullOrWhiteSpace(brands))
            {
                model.Brand = brands.Split(',').ToList();
            }

            var selectedColours = Request.QueryString["SelectedColours"];

            if (!string.IsNullOrWhiteSpace(selectedColours))
            {
                model.SelectedColours = selectedColours.Split(',').ToList();
            }

            if (formCollection.Has("PriceRange"))
            {
                var priceRange = formCollection["PriceRange"].Split(',').Select(x => x.AsDecimal(0)).ToArray();
                model.MinPrice = priceRange[0];
                model.MaxPrice = priceRange[1];
            }

            if (formCollection.Has("Martindale"))
            {
                model.Martindale = formCollection["Martindale"].AsInt(0);
            }

            model.ProductCategories = _productCategoriesService.GetAll().ToList();
            model.Options           = _skuAttributeOptionsService.GetAll().ToList();

            if (B2BCheckoutService.IsB2BUserLoggedIn(HttpContext))
            {
                model.IsMartindaleFilterVisible     = true;
                model.IsEndUseFilterVisible         = true;
                model.IsTypeFilterVisible           = true;
                model.IsFlameRetardantFilterVisible = true;
            }

            return(PartialView(model));
        }
        public async Task <IActionResult> Search(string search)
        {
            ProductSearchViewModel viewmodel = new ProductSearchViewModel();

            viewmodel.Search = search;

            viewmodel.Products = await _context.Product
                                 .Where(p => p.Title.Contains(search))
                                 .ToListAsync();

            return(View(viewmodel));
        }
Пример #29
0
        public ActionResult SearchPanel()
        {
            var model = new ProductSearchViewModel
            {
                PopularSearchTerms =
                    _customSearchTermService.GetBySite(ColonyContext.CurrentSite.Id)
                    .Take(5)
                    .ToDictionary(k => k.Name, t => t.Query)     //_productsService.GetPopularSearches(5).ToList()
            };

            return(PartialView("_SearchPanel", model));
        }
Пример #30
0
        public ViewResult Search(ProductSearchCriteriaViewModel productSearchCriteriaViewModel)
        {
            var productSearchViewModel = new ProductSearchViewModel();

            productSearchViewModel.ProductSearchCriteria = productSearchCriteriaViewModel ?? new ProductSearchCriteriaViewModel();

            productSearchCriteriaViewModel.Categories = _categoryListHelper.Get(null);

            productSearchCriteriaViewModel.Suppliers = _supplierListHelper.Get(null);

            return(View(productSearchViewModel));
        }
Пример #31
0
 public PartialViewResult SearchProducts(ProductSearchViewModel vm)
 {
     return PartialView("_SearchProducts", ProductManager.SearchProducts(vm.PageNumber,
         vm.PageSize, vm.SortType, vm.DataFilter));
 }