public void Search_Products_DescriptionFilter() { var viewModel = new SearchProductsViewModel(DependencyContainer); var dataContext = DependencyContainer.Resolve <DataContext>(); dataContext.Products.Add(new Product() { ProductDescription = "abc" }); dataContext.Products.Add(new Product() { ProductDescription = "abc" }); dataContext.Products.Add(new Product() { ProductDescription = "test" }); dataContext.SaveChanges(); viewModel.SearchBox = "test"; Assert.Single(viewModel.Items); }
private string GenerateProductsModelAsStringJson(SearchProductsViewModel searchProductsViewModel) { string arrayProducts = ""; List <ProductsSearchModel> productsSearchModel; productsSearchModel = new List <ProductsSearchModel> (); if (searchProductsViewModel.code == PRODUCT_AVAILABLE_CODE) { foreach (var single in searchProductsViewModel.data) { ProductsSearchModel productSearch = new ProductsSearchModel(); productSearch.value = single.productPartNumber; productSearch.data = single.productId.ToString(); productsSearchModel.Add(productSearch); } arrayProducts = JsonConvert.SerializeObject(productsSearchModel); } else { arrayProducts = JsonConvert.SerializeObject(productsSearchModel); } return(arrayProducts); }
public void Home_Load() { var dataContext = DependencyContainer.Resolve <DataContext>(); dataContext.Products.Add(new Product() { ProductDescription = "abc" }); dataContext.Products.Add(new Product() { ProductDescription = "abc" }); dataContext.Products.Add(new Product() { ProductDescription = "test" }); dataContext.CrashCompanies.Add(new CrashCompany() { CCName = "ghi" }); dataContext.CrashCompanies.Add(new CrashCompany() { CCName = "jkl" }); dataContext.Suppliers.Add(new Supplier { SupplierName = "supplier1" }); dataContext.Suppliers.Add(new Supplier { SupplierName = "ghi" }); dataContext.ProductCategories.Add(new ProductCategory { PCName = "supplier1" }); dataContext.ProductCategories.Add(new ProductCategory { PCName = "ghi" }); dataContext.SaveChanges(); var viewModel = new SearchProductsViewModel(DependencyContainer); Assert.NotNull(viewModel.Categories); Assert.True(viewModel.Categories.Any()); Assert.NotNull(viewModel.Items); Assert.True(viewModel.Items.Any()); Assert.NotNull(viewModel.Suppliers); Assert.True(viewModel.Suppliers.Any()); Assert.NotNull(viewModel.Categories); Assert.True(viewModel.Categories.Any()); }
public async Task <IActionResult> SearchProducts(string search) { await CheckUserCounterData(); var products = await catalogService.SearchProducts(search); var resultado = new SearchProductsViewModel(products, search); return(View("Index", resultado)); }
public async Task <IActionResult> Index() { await CheckUserCounterData(); var products = await catalogService.GetProducts(); var resultado = new SearchProductsViewModel(products, ""); return(base.View(resultado)); }
public async Task <string> Index(string productBrandId, string searchingKey) { LoginComponent sessionModel; SearchProductsViewModel searchProductsViewModel = new SearchProductsViewModel(); ConstructProductsAllBrands constructProducts = new ConstructProductsAllBrands(ProductRepository); sessionModel = await GetUserLoginSession(); searchProductsViewModel = await constructProducts.GetProductsSingleBrand(ConstructorParamQueryString.ParamQueryString (productBrandId, searchingKey).Result, sessionModel); return(GenerateProductsModelAsStringJson(searchProductsViewModel)); }
public IActionResult SearchResults(int minStock, int maxStock) { NorthwindDb db = new NorthwindDb(@"Data Source=.\sqlexpress;Initial Catalog=Northwnd;Integrated Security=True;"); List <Product> products = db.SearchProducts(minStock, maxStock); SearchProductsViewModel vm = new SearchProductsViewModel { Products = products, MinStock = minStock, MaxStock = maxStock }; return(View(vm)); }
public void Products_Filter_Companies() { var viewModel = new SearchProductsViewModel(DependencyContainer); var dataContext = DependencyContainer.Resolve <DataContext>(); var company1 = new CrashCompany() { CCName = "test company" }; var company2 = new CrashCompany() { CCName = "test company2" }; dataContext.Products.Add(new Product() { ProductDescription = "abc", Company = company2 }); dataContext.Products.Add(new Product() { ProductDescription = "def", Company = company2 }); dataContext.Products.Add(new Product() { ProductDescription = "product 1", Company = company1 }); dataContext.CrashCompanies.Add(new CrashCompany() { CCName = "ghi" }); dataContext.CrashCompanies.Add(new CrashCompany() { CCName = "jkl" }); dataContext.CrashCompanies.Add(company1); dataContext.SaveChanges(); viewModel.SearchBox = "product 1"; Assert.Single(viewModel.Items); viewModel.SelectedCompany = company1.CCName; Assert.Single(viewModel.Items); var expected = viewModel.Items.First(); Assert.NotNull(expected.Company); Assert.NotNull(expected.Company.Products); Assert.Equal(1, expected.Company.Products.Count); }
public async Task <string> ProductListDataModelAsString(string productBrandId, string searchingKey) { LoginComponent sessionModel; SearchProductsViewModel searchProductsViewModel = new SearchProductsViewModel(); ConstructProductsAllBrands constructProducts = new ConstructProductsAllBrands(ProductRepository); sessionModel = await GetUserLoginSession(); searchProductsViewModel = await constructProducts.GetProductsSingleBrand(ConstructorParamQueryString.ParamQueryString (productBrandId, searchingKey).Result, sessionModel); string result = JsonConvert.SerializeObject(new ProductListPresentationModel().MapList(searchProductsViewModel.data)); return(result); }
public ActionResult SearchProductResults(SearchProductModel model) { SearchProductsViewModel returnModel = new SearchProductsViewModel(); var response = AsyncHelpers.RunSync <JObject>(() => ApiCall.CallApi("api/Admin/SearchProducts", User, null, true, false, null, "ProductName=" + model.ProductName + "", "ProductPrice=" + model.ProductPrice, "CategoryName=" + model.CategoryName + "", "StoreId=" + Global.StoreId, "CatId=null")); if (response is Error) { return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, (response as Error).ErrorMessage)); } else { returnModel = response.GetValue("Result").ToObject <SearchProductsViewModel>(); } returnModel.SetSharedData(User); return(PartialView("_SearchProductResults", returnModel)); }
public IActionResult Index(string searchTerm, int?mainCategoryId = null, int pageNumber = 1, int itemsPerPage = 6, string sorting = "price asc") { if (pageNumber <= 0) { this.TempData["Error"] = "Page number cannot be negative."; return(this.RedirectToAction("Index", "Home")); } if (itemsPerPage <= 0) { this.TempData["Error"] = "Items per page cannot be negative."; return(this.RedirectToAction("Index", "Home")); } var products = this.productsService.TakeProductsBySearchStringAndMainCategoryId <ProductViewModel>(searchTerm, mainCategoryId, pageNumber, itemsPerPage, sorting); foreach (var product in products) { if (!string.IsNullOrEmpty(product.Description)) { var descriptionText = WebUtility.HtmlDecode(Regex.Replace(product.Description, @"<[^>]+>", string.Empty)); product.Description = this.stringService.TruncateAtWord(descriptionText, DescriptionMaxLength); } } var searchViewModel = new SearchProductsViewModel { ItemsCount = this.productsService.GetProductsCountBySearchStringAndMainCategoryId(searchTerm, mainCategoryId), ItemsPerPage = itemsPerPage, PageNumber = pageNumber, Products = products, SortingValues = this.sortingValues, Sorting = sorting, SearchTerm = searchTerm, MainCategoryId = mainCategoryId, ItemsPerPageValues = this.itemsPerPageValues, Area = string.Empty, Controller = "Search", Action = nameof(this.Index), }; return(this.View(searchViewModel)); }
public async Task <IActionResult> SearchProducts(string pesquisa) { try { await CheckUserCounterData(); var products = await catalogService.SearchProducts(pesquisa); var resultado = new SearchProductsViewModel(products, pesquisa); return(View("Index", resultado)); } catch (BrokenCircuitException e) { logger.LogError(e, e.Message); HandleBrokenCircuitException(catalogService); } catch (Exception e) { logger.LogError(e, e.Message); HandleException(); } return(View("Index")); }
public async Task <IActionResult> Index() { try { await CheckUserCounterData(); var products = await catalogService.GetProducts(); var resultado = new SearchProductsViewModel(products, ""); return(base.View(resultado)); } catch (BrokenCircuitException e) { logger.LogError(e, e.Message); HandleBrokenCircuitException(catalogService); } catch (Exception e) { logger.LogError(e, e.Message); HandleException(); } return(View()); }
public ProductListViewModel() { SearchProductsView = new SearchProductsViewModel(); }
public void Products_Filter_Company_AndSuppliers() { var viewModel = new SearchProductsViewModel(DependencyContainer); var dataContext = DependencyContainer.Resolve <DataContext>(); var supplier1 = new Supplier { SupplierName = "supplier1" }; var supplier2 = new Supplier { SupplierName = "ghi" }; dataContext.Suppliers.Add(supplier2); dataContext.Suppliers.Add(new Supplier { SupplierName = "jkl" }); dataContext.Suppliers.Add(supplier1); var company1 = new CrashCompany() { CCName = "test company" }; var company2 = new CrashCompany() { CCName = "test company2" }; dataContext.CrashCompanies.Add(new CrashCompany() { CCName = "ghi" }); dataContext.CrashCompanies.Add(new CrashCompany() { CCName = "jkl" }); dataContext.CrashCompanies.Add(company1); dataContext.Products.Add(new Product() { ProductDescription = "product-2", Company = company2, Supplier = supplier1 }); dataContext.Products.Add(new Product() { ProductDescription = "product-1", Company = company2, Supplier = supplier2 }); dataContext.Products.Add(new Product() { ProductDescription = "def-ghijk", Company = company1, Supplier = supplier1 }); dataContext.SaveChanges(); viewModel.SearchBox = "product-"; Assert.Equal(2, viewModel.Items.Count); viewModel.SelectedCompany = company2.CCName; Assert.Equal(2, viewModel.Items.Count); viewModel.SelectedSupplier = supplier1.SupplierName; Assert.Single(viewModel.Items); var expected = viewModel.Items.First(); Assert.NotNull(expected.Company); Assert.NotNull(expected.Company.Products); Assert.Equal(2, expected.Company.Products.Count); }