public IActionResult BuscaProdutos(ModelStateDictionary modelState, BuscaProdutosViewModel model = null) { var pesquisa = string.Empty; if (model is BuscaProdutosViewModel) { pesquisa = model.Pesquisa; } var categorias = produtoRepository.GetProdutosCategoria(modelState, pesquisa); var erro = string.Empty; if (!modelState.IsValid) { var modelErrors = new List <string>(); foreach (var _modelState in modelState.Values) { foreach (var modelError in _modelState.Errors) { erro = modelError.ErrorMessage; break; } } } return(View(new BuscaProdutosViewModel(categorias, pesquisa, erro))); }
public async Task <IActionResult> BuscaDeProdutos(string pesquisa) { var model = new BuscaProdutosViewModel(); if (string.IsNullOrEmpty(pesquisa)) { model.Produtos = produtoRepository.GetProdutos(); } else { model.Produtos = await produtoRepository.GetProdutos(pesquisa); } return(View(model)); }
public async Task <IActionResult> BuscaDeProdutos(BuscaProdutosViewModel model) { IList <Produto> produtos = null; if (string.IsNullOrEmpty(model.Pesquisa)) { produtos = await produtoRepository.GetProdutos(); } else { produtos = await produtoRepository.GetProdutos(model.Pesquisa); } if (produtos != null && produtos.Count > 0) { model.Categorias = produtos.Select(m => m.Categoria).GroupBy(m => m.Id).Select(m => m.First()).ToList(); } return(View(model)); }
public async Task <IActionResult> PesquisaProduto(BuscaProdutosViewModel model) { model.Success = true; if (model.Pesquisa == null || !model.Pesquisa.Any()) { return(RedirectToAction("BuscaDeProdutos")); } var data = await produtoRepository.GetProdutos(model.Pesquisa); if (!data.Any()) { data = produtoRepository.GetProdutos(); model.Success = false; } model.Produtos = data; return(View("BuscaDeProdutos", model)); }
public async Task <IActionResult> BuscaProdutos(string pesquisa) { await CheckUserNotificationCount(); try { var produtos = await catalogoService.BuscaProdutos(pesquisa); var resultado = new BuscaProdutosViewModel(produtos, pesquisa); return(View("Index", resultado)); } catch (BrokenCircuitException e) { logger.LogError(e, e.Message); HandleBrokenCircuitException(catalogoService); } catch (Exception e) { logger.LogError(e, e.Message); HandleException(); } return(View("Index")); }
public async Task <IActionResult> Index() { await CheckUserNotificationCount(); try { var produtos = await catalogoService.GetProdutos(); var resultado = new BuscaProdutosViewModel(produtos, ""); return(base.View(resultado)); } catch (BrokenCircuitException e) { logger.LogError(e, e.Message); HandleBrokenCircuitException(catalogoService); } catch (Exception e) { logger.LogError(e, e.Message); HandleException(); } return(View()); }