public IActionResult _RemoverDoCarrinho(string codBar) { Carrinho c = GetCarrinho(); Livro livro = _facade.Query <Livro>(l => l.CodigoBarras == codBar, l => l).FirstOrDefault(); if (livro == null) { return(Json(new { valor = false, ex = "Algo deu errado.\n" })); } CarrinhoLivro carrinhoLivro = c.CarrinhoLivro.Where(c => c.LivroId == livro.Id).FirstOrDefault(); if (carrinhoLivro == null) { return(Json(new { valor = false, ex = "O livro não está no carrinho.\n" })); } livro.EstoqueBloqueado -= carrinhoLivro.Quantia; c.CarrinhoLivro.Remove(carrinhoLivro); string msg = _daoCarrinhoLivro.Remove(carrinhoLivro); msg += _facade.Editar(livro); if (msg == "") { return(Json(new { valor = true })); } return(Json(new { valor = false, ex = msg })); }
public IActionResult _AlterarQuantiaNoCarrinho(string codBar, string op) { Carrinho c = GetCarrinho(); CarrinhoLivro carrinhoLivro = c.CarrinhoLivro.Where(l => l.Livro.CodigoBarras == codBar).FirstOrDefault(); IDictionary <string, int> operacoes = new Dictionary <string, int> { ["+"] = 1, ["-"] = -1 }; if (carrinhoLivro == null) { return(Json(new { valor = false, ex = "Livro não está no carrinho.\n" })); } if (carrinhoLivro.Livro.EstoqueBloqueado == carrinhoLivro.Livro.Estoque && op == "+") { return(Json(new { valor = false, ex = "Estoque insuficiente.\n" })); } carrinhoLivro.Quantia += operacoes[op]; carrinhoLivro.Livro.EstoqueBloqueado += operacoes[op]; string msg = _facade.Editar(c); //INSERIR MÉTODO DE DESATIVAÇÃO AUTOMÁTICA AQUI if (msg == "") { return(Json(new { valor = true })); } return(Json(new { valor = false, ex = msg })); }
public IActionResult _AddToCarrinho(string codBar, int quantia = 1) { Carrinho c = GetCarrinho(); Livro livro = _facade.GetAllInclude(new Livro { CodigoBarras = codBar }); IEnumerable <CarrinhoLivro> carrinhoLivro = c.CarrinhoLivro.Where(c => c.LivroId == livro.Id); if (quantia > livro.Estoque - livro.EstoqueBloqueado) { return(Json(new { valor = false, ex = "Estoque insuficiente.\n" })); } if (carrinhoLivro.Count() == 0) { CarrinhoLivro livroNovo = new CarrinhoLivro { Livro = _facade.GetEntidade(livro), Carrinho = c, Quantia = quantia }; c.CarrinhoLivro.Add(livroNovo); } else { carrinhoLivro.FirstOrDefault().Quantia += 1; } livro.EstoqueBloqueado += quantia; string msg = _facade.Editar(c); msg += _facade.Editar(livro); //INSERIR MÉTODO DE DESATIVAÇÃO AUTOMÁTICA AQUI if (msg == "") { return(Json(new { valor = true })); } return(Json(new { valor = false, ex = msg })); }