Ejemplo n.º 1
0
        public async Task <ActionResult> FilterIndex(string generoOption, string marcaOption, int corOption, string materialOption,
                                                     string orderType, string category, string termoOption)
        {
            var imgCor       = "";
            var corViewModel = await _corAppServices.GetByIdAsync(corOption);

            if (corViewModel != null)
            {
                imgCor = corViewModel.ImgUrl;
            }
            var filtroProdutosViewModel =
                new FiltroProdutoViewModel(corOption, marcaOption, generoOption, orderType, materialOption, category, imgCor, termoOption);

            var produtoViewModels = new List <ProdutoViewModel>();

            if (!CheckModelNull(filtroProdutosViewModel))
            {
                try
                {
                    IEnumerable <ProdutoViewModel> filtroList;

                    if (filtroProdutosViewModel.Category != null && filtroProdutosViewModel.Termo == null)
                    {
                        filtroList = await _produtoAppServices.GetCategoryAsync(filtroProdutosViewModel, "AT");
                    }
                    else if (filtroProdutosViewModel.Termo != null)
                    {
                        filtroList = await _produtoAppServices.GetFilterTermoAsync(filtroProdutosViewModel, "AT");
                    }
                    else
                    {
                        filtroList = await _produtoAppServices.FilterAndOrderAsync(filtroProdutosViewModel, "AT");
                    }


                    produtoViewModels = filtroList.ToList();

                    if (!produtoViewModels.Any())
                    {
                        TempData["Error"]       = "Nenhum produto encontrado de acordo com o filtro";
                        produtoViewModels       = new List <ProdutoViewModel>();
                        filtroProdutosViewModel = new FiltroProdutoViewModel();
                    }
                }
                catch (ModelValidationExceptions e)
                {
                    TempData["Error"] = e.Message;

                    produtoViewModels       = new List <ProdutoViewModel>();
                    filtroProdutosViewModel = new FiltroProdutoViewModel();
                }
            }
            return(await Index(produtoViewModels, filtroProdutosViewModel).ConfigureAwait(false));
        }
Ejemplo n.º 2
0
        private async Task <string> AddProduto(int prodId, int corId, int quantidade, int produtoCorId)
        {
            var produtoModel = await _produtoAppServices.GetProductByIdAndCor(prodId, corId, "AT");

            var corviewModel = await _corAppServices.GetByIdAsync(corId);

            if (produtoModel != null && quantidade > 0)
            {
                return(await _carrinhoAppServices.AdicionarItemAoCarrinho(produtoModel, new KitsViewModel(), corviewModel, quantidade, produtoCorId));
            }

            return(null);
        }