public async Task <IActionResult> DadosPagamento() { var enderecosUsuario = await _enderecoStore.ObterDoUsuario(User.Identity.Name); var carrinho = await _carrinhoStore.ObterCarrinho(User.Identity.Name); if (carrinho == null) { TempData["ERRO"] = "Não há itens no carrinho"; return(RedirectToAction("Index", "Carrinho")); } if (!carrinho.FreteSelecionado()) { TempData["ERRO"] = "Selecione o frete"; return(RedirectToAction("Index")); } var cartao = CartaoCredito.Obter().Generate(); return(View(new CheckoutViewModel() { EnderecosUsuario = enderecosUsuario, Carrinho = carrinho, CartaoCredito = cartao })); }
public async Task <IActionResult> Index() { var carrinho = await _carrinhoStore.ObterCarrinho(User.Identity.Name); var fretes = await _freteService.CalcularCarrinho(carrinho, await _geoposicaoService.GeolocalizarUsuario()); return(View(new CarrinhoViewModel() { Carrinho = carrinho, Fretes = fretes })); }
public async Task AdicionarProduto(string usuario, Produto produto, int quantidade) { var carrinho = await _carrinhoStore.ObterCarrinho(usuario); if (carrinho == null) { carrinho = await _carrinhoStore.CriarCarrinho(usuario); } var freteEscolhido = carrinho.Frete?.Modalidade; if (carrinho.Possui(produto)) { var item = carrinho.AtualizarQuantidade(produto.NomeUnico, quantidade); if (freteEscolhido.IsPresent()) { await _carrinhoStore.AtualizarItemCarrinho(item, carrinho); } } else { var item = carrinho.AdicionarProduto(produto, quantidade); await _carrinhoStore.AdicionarItemAoCarrinho(carrinho, item); } }
public async Task <IActionResult> Index() { var carrinho = await _carrinhoStore.ObterCarrinho(User.Identity.Name); var cargodoUsuario = User.Claims.FirstOrDefault(f => f.Type.Equals("Cargo")); var at = await _httpContextAccessor.HttpContext.GetTokenAsync("access_token"); var fretes = await _freteService.CalcularCarrinho(carrinho, await _geoposicaoService.GeolocalizarUsuario(), at); return(View(new CarrinhoViewModel() { Carrinho = carrinho, Fretes = fretes })); }
public async Task <IViewComponentResult> InvokeAsync() { return(View(await _carrinhoStore.ObterCarrinho(User.Identity.Name))); }