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)); }
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); }