public ActionResult AdicionarBebidaSessao(string bebida) { Dictionary <int, int> EstoqueBebidas = new Dictionary <int, int>(); EstoqueDao estoquedao = new EstoqueDao(); Bebida novaBebida = JsonConvert.DeserializeObject <Bebida>(bebida); novaBebida.Quantidade = 1; Usuario usuario = (Usuario)Session["Usuario"] ?? new Usuario(); if (!usuario.Carrinho.Bebidas.Exists(x => x.Id == novaBebida.Id)) { usuario.Carrinho.Bebidas.Add(novaBebida); usuario.Carrinho.DataUltimaInsercaoCarrinho = DateTime.Now; } foreach (var item in usuario.Carrinho.Bebidas) { EstoqueBebidas[item.Id] = estoquedao.ConsultarEstoquePorId(item.Id); } ViewBag.Estoque = EstoqueBebidas; Session["Usuario"] = usuario; return(View("Index", usuario.Carrinho)); }
// GET: Carrinho public ActionResult Index(int i = 0) { Dictionary <int, int> EstoqueBebidas = new Dictionary <int, int>(); EstoqueDao estoquedao = new EstoqueDao(); Usuario usuario = (Usuario)Session["Usuario"] ?? new Usuario(); foreach (var item in usuario.Carrinho.Bebidas) { int estoqueAtual = 0; estoqueAtual = estoquedao.ConsultarEstoquePorId(item.Id); EstoqueBebidas[item.Id] = estoqueAtual; if (item.Quantidade > estoqueAtual) { item.Quantidade = estoqueAtual; } } ViewBag.Estoque = EstoqueBebidas; if (i != 0) { ViewBag.MensagemHistorico = "Ops! O histórico foi atualizado agora mesmo! Por favor, revise seu pedido antes de prosseguir." ; } else { ViewBag.MensagemHistorico = ""; } ViewBag.Notificacoes = new NotificacaoDao().ConsultarPorCliente(usuario.Id); return(View(usuario.Carrinho)); }
public ActionResult RemoverBebidaSessao(int idBebida) { Dictionary <int, int> EstoqueBebidas = new Dictionary <int, int>(); EstoqueDao estoquedao = new EstoqueDao(); Usuario usuario = (Usuario)Session["Usuario"] ?? new Usuario(); usuario.Carrinho.Bebidas.RemoveAll(x => x.Id.Equals(idBebida)); foreach (var item in usuario.Carrinho.Bebidas) { EstoqueBebidas[item.Id] = estoquedao.ConsultarEstoquePorId(item.Id); } ViewBag.Estoque = EstoqueBebidas; Session["Usuario"] = usuario; return(View("Index", usuario.Carrinho)); }