protected override void ToViewModel() { Carrinho c = (Carrinho)Entidades[typeof(Carrinho).Name]; CarrinhoModel vm = new CarrinhoModel { Livros = new List <CarrinhoLivroModel>() }; CarrinhoLivroModel livro; vm.PrecoTotal = 0; foreach (var item in c.CarrinhoLivro) { livro = new CarrinhoLivroModel { Autor = item.Livro.Autor, CodigoBarras = item.Livro.CodigoBarras, Preco = Math.Round(item.Livro.Valor, 2), Quantia = item.Quantia, Titulo = item.Livro.Titulo, }; vm.Livros.Add(livro); vm.PrecoTotal += livro.Preco * livro.Quantia; } _viewModel = vm; }
public ActionResult Comprar() { ViewBag.Admin = CurrentUser == null || CurrentUser.Perfil == PerfilUsuario.Cliente ? false : true; ViewBag.User = CurrentUser == null ? "Logar" : "Bem Vindo"; ViewBag.ExibeFooter = true; CarrinhoModel carrinho = null; if (CurrentUser != null) { carrinho = db.CarrinhoDB.Find(p => p.UsuarioId == CurrentUser.Id).FirstOrDefault(); } if (carrinho != null) { decimal valorTotal = carrinho.Produtos.Sum(p => p.Quantidade * p.PrecoUnitario); var model = new VendaModel() { UsuarioId = carrinho.UsuarioId, DataVenda = DateTime.Now, ValorTotal = valorTotal, VendaItens = carrinho.Produtos }; db.VendaDB.InsertOne(model); db.CarrinhoDB.DeleteMany(p => p.UsuarioId == CurrentUser.Id); return(RedirectToAction("Index", "Home", null)); } return(View()); }
public ActionResult <IEnumerable <CarrinhoModel> > Carrinho(string id) { List <LivroModel> livro = new List <LivroModel>(); livro.Add(new LivroModel("Livro Um", "Autor Um", 1986, "LV01A")); livro.Add(new LivroModel("Livro Dois", "Autor Dois", 1996, "LV02A")); CarrinhoModel carrinho = new CarrinhoModel(); carrinho.IdCarrinho = id; carrinho.Livro = livro; return(Ok(carrinho)); }
public LojaService( ClientInit cliente, CarrinhoModel carrinho, Produto produto ) { this.cliente = cliente.Cliente(); //this.carrinho = carrinho; this._carrinho = new CarrinhoService(); this.ListarProdutosNaLoja = produto.listPordutos(); this.produtos = new Produto(); }
public ActionResult <IEnumerable <CarrinhoModel> > FinalizarPedido(CarrinhoModel carrinho) { Transacao transacao = new Transacao(); HttpResponseMessage response; response = GlobalVariablesTrans.WebApiClient.PostAsJsonAsync("transacao/cartao", transacao).Result; if (response.StatusCode == System.Net.HttpStatusCode.OK) { return(Ok("ok")); } else { return(BadRequest()); } }
public ActionResult AddCarrinho(string id, int quantidade = 1) { ViewBag.Admin = CurrentUser == null || CurrentUser.Perfil == PerfilUsuario.Cliente ? false : true; ViewBag.User = CurrentUser == null ? "Logar" : "Bem Vindo"; ViewBag.ExibeFooter = true; if (CurrentUser == null) { return(RedirectToAction("Index", "Login", null)); } else { if (!string.IsNullOrEmpty(id)) { var produto = db.ProdutosDB.Find(p => p.Id == id).FirstOrDefault(); var item = new CarrinhoItemModel() { PrecoUnitario = produto.Preco, ProdutoId = produto.Id, Titulo = produto.Titulo, Quantidade = quantidade }; var carrinho = db.CarrinhoDB.Find(p => p.UsuarioId == CurrentUser.Id).FirstOrDefault(); if (carrinho == null) { carrinho = new CarrinhoModel() { UsuarioId = CurrentUser.Id, Produtos = new List <CarrinhoItemModel>() }; carrinho.Produtos.Add(item); db.CarrinhoDB.InsertOne(carrinho); } else { carrinho.Produtos.Add(item); var filter = Builders <CarrinhoModel> .Filter.Eq(p => p.Id, carrinho.Id); db.CarrinhoDB.ReplaceOne(filter, carrinho); } return(RedirectToAction("Index", "Carrinho", null)); } } return(View()); }
public ActionResult Adicionar([Bind("Id,Quantidade")] CarrinhoModel model) { //se não houver erros no parãmetro do método if (ModelState.IsValid) { //se não existir nenhum dado armazenado na sessão do usuário atual if (SessionHelper.GetObjectFromJson <List <CarrinhoModel> >(HttpContext.Session, "cart") == null) { //cria uma nova lista de itens do carrinho de compras List <CarrinhoModel> cart = new List <CarrinhoModel>(); //adiciona o item informado no parâmetro para a lista cart.Add(model); //salva a lista na sessão do usuário SessionHelper.SetObjectAsJson(HttpContext.Session, "cart", cart); } else { //obtém a lista de itens do carrinho do usuário List <CarrinhoModel> cart = SessionHelper.GetObjectFromJson <List <CarrinhoModel> >(HttpContext.Session, "cart"); //pesquisa se o item informado no parâmetro já existe no carrinho CarrinhoModel item = cart.FirstOrDefault(x => x.Id == model.Id); //se o item já existir, aumente a quantidade if (item != null) { item.Quantidade += model.Quantidade; } else { //se o item não existir, adicione-o ao carrinho cart.Add(model); } //salve as alterações na sessão do usuário SessionHelper.SetObjectAsJson(HttpContext.Session, "cart", cart); } } return(RedirectToAction("Index")); }
public ActionResult <IEnumerable <CarrinhoModel> > Carrinho([FromBody] CarrinhoModel carrinho) { try { carrinho.IdCarrinho = "01"; carrinho.Livro = carrinho.Livro; if (login(carrinho.Usuario)) { return(Created("", carrinho)); } else { return(BadRequest("Erro ao autenticar")); } } catch (Exception ex) { return(BadRequest(ex.Message)); } }
// GET: Carrinho public ActionResult Index() { ViewBag.Admin = CurrentUser == null || CurrentUser.Perfil == PerfilUsuario.Cliente ? false : true; ViewBag.User = CurrentUser == null ? "Logar" : "Bem Vindo"; ViewBag.ExibeFooter = true; if (CurrentUser == null) { return(Redirect("~/Login")); } var list = db.CarrinhoDB.Find(p => p.UsuarioId == CurrentUser.Id).FirstOrDefault(); if (list == null) { list = new CarrinhoModel(); } ViewBag.ValorTotal = list.Produtos.Sum(p => p.PrecoUnitario * p.Quantidade); return(View(list)); }
public ActionResult Details(ProdutoModel produto) { if (produto.Quantidade > 0) { // Cria um carrinho vazio na sessão se ele não exitir if (Session["SessionCarrinho"] == null) { Session["SessionCarrinho"] = new CarrinhoModel(); } // Pega o carrinho atual da Sessão var carrinho = (Models.CarrinhoModel)Session["SessionCarrinho"]; carrinho.AddItem(produto); return(RedirectToAction("Index", "Carrinho")); } else { ViewBag.Mensagem = "Informe a quantidade!"; } return(View(produto)); }
public CarrinhoService() { data = new CarrinhoModel(); }
public CarrinhoController() { ModelCarrinho = new CarrinhoModel(); }