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(); } } }
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); }
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); }
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()); } }
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()); } }
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))); }
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); }
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)); }
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)); }
private static void SetViewModel(Models.Products products, ProductView view) { ProductSearchViewModel viewModel = view.DataContext as ProductSearchViewModel; if (viewModel != null) { viewModel.Products = products; } }
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(); }
public ActionResult Index() { var model = new ProductSearchViewModel { ProductGrid = GenerateProductListingGrid() }; return(View(model)); }
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()); }
// GET: Categories public ActionResult Index() { ProductSearchViewModel psvm = new ProductSearchViewModel(); psvm.readTagCategories(db); psvm.readAndSortTags(db); CountCartItems(); return(View(psvm)); }
public static ProductSearchDto ToDto(this ProductSearchViewModel source) { return(new ProductSearchDto { PageNumber = source.PageNumber, PageSize = source.PageSize, Title = source.Title }); }
// 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)); }
private bool UserHasNotSearched(ProductSearchViewModel search) { if (search.MaxPrice == null && search.MinPrice == null && search.ProductName == null && search.Category == null) { return(true); } else { return(false); } }
public ActionResult ShowProductSearchResults(string searchText) { NorthwindDb db = new NorthwindDb(_connectionString); ProductSearchViewModel vm = new ProductSearchViewModel { Products = db.SearchProducts(searchText), SearchText = searchText }; return(View(vm)); }
public ActionResult Index(ProductSearchViewModel model) { FillLookups(); if (ModelState.IsValid) { model.HasSessionCriteria = true; ProductSearchData = model; } return(View(model)); }
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)); }
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)); }
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)); }
public PartialViewResult SearchProducts(ProductSearchViewModel vm) { return PartialView("_SearchProducts", ProductManager.SearchProducts(vm.PageNumber, vm.PageSize, vm.SortType, vm.DataFilter)); }