Esempio n. 1
0
        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));
        }
Esempio n. 4
0
        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));
        }
Esempio n. 5
0
        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"));
        }
Esempio n. 6
0
        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());
        }