// GET: Checkout public ActionResult Index(string acao = null, int?produtoId = null) { if (produtoId.HasValue) { var produto = CarrinhoDeCompras.GetItem(produtoId.Value); switch (acao) { case "incrementar": produto.Quantidade++; CarrinhoDeCompras.SetItem(produto); break; case "decrementar": produto.Quantidade--; CarrinhoDeCompras.SetItem(produto); if (produto.Quantidade == 0) { CarrinhoDeCompras.Remove(produtoId.Value); } break; case "remover": CarrinhoDeCompras.Remove(produtoId.Value); break; default: return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, $"ação '{acao}' inválida")); } } ViewBag.CarrinhoDeCompras = CarrinhoDeCompras; return(View(CarrinhoDeCompras)); }
public ActionResult RemoveFromCart(int id) { // Remove o item do ItemVenda var cart = CarrinhoDeCompras.GetCart(this.HttpContext); // Pega o nome do álbum para exibir a confirmação string nomeProduto = storeDB.ItemVendaes .Single(item => item.RecordId == id).Produto.Titulo; // Remove do ItemVenda int itemCount = cart.RemoveFromCart(id); // Mostra a confirmação da mensagem var results = new CarrinhodeComprasRemoverViewModel { Message = Server.HtmlEncode(nomeProduto) + " Foi removido do ItemVenda.", CartTotal = cart.GetTotal(), CartCount = cart.GetCount(), ItemCount = itemCount, DeleteId = id }; return(Json(results)); }
public List <ItemCarrinho> AdicionarAoCarrinho(Guid itemId, int Quantidade, Cliente cliente) { var carrinho = cr.VerificarCarrinhoExistente(cliente.ClienteId); if (carrinho != null) { ItemCarrinho item = new ItemCarrinho(); item.ProdutoId = itemId; item.CarrinhoDeComprasId = carrinho.CarrinhoDeComprasId; item.Quantidade = Quantidade; return(cr.AdicionarAoCarrinho(item)); } else { CarrinhoDeCompras NovoCarrinho = new CarrinhoDeCompras(); NovoCarrinho.ClienteId = cliente.ClienteId; NovoCarrinho.DataCompra = DateTime.Now; NovoCarrinho.StatusId = 0; NovoCarrinho = cr.CriarCarrinho(NovoCarrinho); ItemCarrinho item = new ItemCarrinho(); item.ProdutoId = itemId; item.CarrinhoDeComprasId = NovoCarrinho.CarrinhoDeComprasId; item.Quantidade = Quantidade; return(cr.AdicionarAoCarrinho(item)); } }
public ActionResult ClienteEFormaPagamento(FormCollection values) { ViewBag.Clientes = storeDB.Clientes; var order = new Pedido(); TryUpdateModel(order); string forma = Request.Form["FormaPagamento"]; try { order.FormaPagamento = forma; order.UsuarioId = (int)Session["Cliente"]; order.DataPedido = DateTime.Now; order.Total = CarrinhoDeCompras.GetCart(this.HttpContext).GetTotal(); //Save Order storeDB.Pedidos.Add(order); storeDB.SaveChanges(); //Process the order var cart = CarrinhoDeCompras.GetCart(this.HttpContext); cart.CreateOrder(order); return(RedirectToAction("Complete", new { id = order.PedidoId })); } catch { //Invalid - redisplay with errors return(View(order)); } }
public PartialViewResult Pagamento() { var cart = CarrinhoDeCompras.GetCart(this.HttpContext); return(PartialView(cart)); }
public ActionResult CartSummary() { var cart = CarrinhoDeCompras.GetCart(this.HttpContext); ViewData["CartCount"] = cart.GetCount(); return(PartialView("CartSummary")); }
public void OrdemDecrescente() { //Arrange CarrinhoDeCompras carrinho = new CarrinhoDeCompras(); carrinho.listaProdutos.Add(new Produto { nomeProduto = "Geladeira", preco = 450.0 }); carrinho.listaProdutos.Add(new Produto { nomeProduto = "Liquidficador", preco = 250.0 }); carrinho.listaProdutos.Add(new Produto { nomeProduto = "Jogo de Pratos", preco = 70.0 }); //Act MaiorEMenor algoritmo = new MaiorEMenor(); algoritmo.Encontra(carrinho); //Asserts Assert.AreEqual("Jogo de Pratos", algoritmo.menor.nomeProduto); Assert.AreEqual("Geladeira", algoritmo.maior.nomeProduto); }
public ActionResult RemoveFromCart(int id) { // Remove the item from the cart var cart = CarrinhoDeCompras.GetCart(this.HttpContext); // Get the name of the album to display confirmation string nomeProduto = storeDB.Carrrinhos .Single(item => item.RecordId == id).Produto.Nome; // Remove from cart int itemCount = cart.RemoveFromCart(id); // Display the confirmation message var results = new CarrinhoDeComprasRemoverViewModel { Message = Server.HtmlEncode(nomeProduto) + " Foi removido do carrinho.", CartTotal = cart.GetTotal(), CartCount = cart.GetCount(), ItemCount = itemCount, DeleteId = id }; return(Json(results)); }
public void TesteValorTotalCarrinho() { CarrinhoDeCompras c = new CarrinhoDeCompras(); Pizza p1 = new Pizza("Portuguesa"); p1.AdicionaIngrediente("presunto"); p1.AdicionaIngrediente("azeitonas pretas"); p1.AdicionaIngrediente("mussarela"); p1.AdicionaIngrediente("cebola"); Pizza p2 = new Pizza("Mossarela"); p2.AdicionaIngrediente("mussarela"); p2.AdicionaIngrediente("azeitonas"); Pizza p3 = new Pizza("Pizza Especial"); p3.AdicionaIngrediente("presunto"); p3.AdicionaIngrediente("azeitonas pretas"); p3.AdicionaIngrediente("mussarela"); p3.AdicionaIngrediente("cebola"); p3.AdicionaIngrediente("palmito"); p3.AdicionaIngrediente("oregano"); p3.AdicionaIngrediente("milho"); p3.AdicionaIngrediente("frango"); c.AdicionarItens(p1); c.AdicionarItens(p2); c.AdicionarItens(p3); Assert.Equal(135.0, c.getTotalPagarCarrinho(), 0); }
public ActionResult FinalizarCompra(Guid id) { CarrinhoDeCompras carrinho = new CarrinhoDeCompras(); carrinho = carrinhoServico.FinalizarCompra(id); return(RedirectToAction("DetalheCompra", carrinho)); }
public ActionResult ClienteFormadePagamento(FormCollection values) { ViewBag.Clientes = storeDB.Users; var order = new Pedido(); TryUpdateModel(order); string forma = Request.Form["FormaPagamento"]; try { order.FormaPagamento = forma; order.Usuario = User.Identity.Name; order.DataPedido = DateTime.Now; order.Total = CarrinhoDeCompras.GetCart(this.HttpContext).GetTotal(); //Salva o Pedido storeDB.Pedidoes.Add(order); storeDB.SaveChanges(); //Processa o pedido var cart = CarrinhoDeCompras.GetCart(this.HttpContext); cart.CreateOrder(order, (List <Pagamento>)Session["cards"], (Cupom)Session["cup_pro"]); Session["cards"] = null; Session["cup_pro"] = null; return(RedirectToAction("Complete", new { id = order.PedidoId })); } catch { //Invalido - Devolve tela com erros return(View(order)); } }
public double Encontra(CarrinhoDeCompras carrinho) { if (carrinho.Itens.Count == 0) { return(0); } return(carrinho.Itens[0].ValorTotal); }
public void DeveRetornarValorDoItemSeCarrinhoCom1Elemento() { carrinho = new CarrinhoDeComprasBuilder() .ComItens(descricao: "Geladeira", quantidade: 1, valorUnitario: 900.0) .Cria(); Assert.AreEqual(900.0, carrinho.MaiorValor()); }
public void DeveRetornarValorDoItemSeCarrinhoCom1Elemento() { CarrinhoDeCompras carrinho = new CarrinhoDeCompras(); carrinho.Adiciona(new Item("Geladeira", 1, 900.0)); Assert.AreEqual(900.0, carrinho.MaiorValor(), 0.0001); }
public void DeveRetornarZeroSeCarrinhoVazio() { CarrinhoDeCompras carrinho = new CarrinhoDeCompras(); MaiorPreco algoritmo = new MaiorPreco(); double valor = algoritmo.Encontra(carrinho); Assert.AreEqual(0.0, valor, 0.0001); }
public void DeveRetornarMaiorValorSeCarrinhoContemMuitosElementos() { CarrinhoDeCompras carrinho = new CarrinhoDeCompras(); carrinho.Adiciona(new Item("Geladeira", 1, 900.0)); carrinho.Adiciona(new Item("Fogão", 1, 1500.0)); carrinho.Adiciona(new Item("Máquina de Lavar", 1, 750.0)); Assert.AreEqual(1500.0, carrinho.MaiorValor(), 0.0001); }
public void DeveRetornarMaiorValorSeCarrinhoContemMuitosElementos() { carrinho = new CarrinhoDeComprasBuilder() .ComItens(descricao: "Geladeira", quantidade: 1, valorUnitario: 900.0) .ComItens(descricao: "Fogão", quantidade: 1, valorUnitario: 1500.0) .ComItens(descricao: "Máquina de Lavar", quantidade: 1, valorUnitario: 750.0) .Cria(); Assert.AreEqual(1500.0, carrinho.MaiorValor()); }
public ActionResult DetalheCompra(CarrinhoDeCompras carrinho) { Cliente cliente = (Cliente)Session["SessionCliente"]; var detalheCompraViewModel = new DetalheCompraViewModel(); detalheCompraViewModel.DataCompra = carrinho.DataCompra; detalheCompraViewModel.Pedido = carrinho.CarrinhoDeComprasId.ToString(); detalheCompraViewModel.NomeCliente = cliente.Nome; return(View("DetalheCompra", detalheCompraViewModel)); }
public void DeveRetornarValorDoItemSeCarrinhoCom1Elemento() { carrinho = new CarrinhoDeComprasBuilder() .ComItens(descricao: "Geladeira", quantidade: 1, valorUnitario: 900.0) .Cria(); var item = carrinho.MaiorValor(); var itemEsperado = new Item(descricao: "Geladeira", quantidade: 1, valorUnitario: 900.0).ValorTotal; Assert.AreEqual(itemEsperado, item); }
public void CarrinhoDeComprasDeveTerUmUsuario() { Usuario usuario = new Usuario(1, "Fabio"); CarrinhoDeCompras carrinhoDeCompras = new CarrinhoDeCompras(usuario); Usuario usuarioCarrinho = carrinhoDeCompras.Usuario; Assert.Equal(1, usuarioCarrinho.Id); Assert.Equal("Fabio", usuarioCarrinho.Nome); }
public ActionResult ClienteFormadePagamento(FormCollection values, int?id, int?cartao) { int dec = 0; int.TryParse(Request.Form["FormaPagamento"], out dec); cartao = dec; EnderecoEntrega end = storeDB.EnderecoEntregas.Find(endere); if (end == null) { return(HttpNotFound()); } ViewBag.Clientes = storeDB.Users; var order = new Pedido(); TryUpdateModel(order); try { order.FormaPagamento = " "; order.Usuario = User.Identity.Name; order.DataPedido = DateTime.Now; order.Endereco = end.Id; order.Total = CarrinhoDeCompras.GetCart(this.HttpContext).GetTotal(); //Salva o Pedido storeDB.Pedidoes.Add(order); storeDB.SaveChanges(); var cart = CarrinhoDeCompras.GetCart(this.HttpContext); cart.CreateOrder(order, (List <Pagamento>)Session["cards"], (Cupom)Session["cup_pro"]); Session["cards"] = null; Session["cup_pro"] = null; PedidoStatus stats = new PedidoStatus(); stats.DataStatus = DateTime.Now; stats.PedidoId = order.PedidoId; stats.StatusId = 1; storeDB.PedidoStatus.Add(stats); storeDB.SaveChanges(); if (cupons == true) { Cupom cup = storeDB.Cupom.Find(cupo); cup.Ativo = false; } storeDB.SaveChanges(); return(RedirectToAction("Complete", new { id = order.PedidoId })); } catch { //Invalido - Devolve tela com erros return(View(order)); } }
public void DeveRetornarValorDoItemSeCarrinhoCom1Elemento() { CarrinhoDeCompras carrinho = new CarrinhoDeCompras(); carrinho.Adiciona(new Item("Geladeira", 1, 900.0)); MaiorPreco algoritmo = new MaiorPreco(); double valor = algoritmo.Encontra(carrinho); Assert.AreEqual(900.0, valor, 0.0001); }
public void Validar_Instancia_Modelo_CarrinhoDeCompras() { var cdc = new CarrinhoDeCompras(); Assert.IsNotNull(cdc); Assert.AreEqual(cdc.GetType(), typeof(CarrinhoDeCompras)); Assert.IsNotNull(cdc.Produtos); cdc.Adiciona(new Produto("Hudson", 5.1)); Assert.IsTrue(cdc.Produtos.Count > 0); }
public void Adicionar_Um_Unico_Produto_No_Carrinho() { var carrinho = new CarrinhoDeCompras(); var produto = new Produto("Fogao", (decimal)250.0); carrinho.Adiciona(produto); var algoritmo = new MaiorEMenor(); algoritmo.Encontra(carrinho); Assert.That(Equals(algoritmo.Menor.Nome, algoritmo.Maior.Nome)); }
public void UmProduto() { var carrinho = new CarrinhoDeCompras(); carrinho.Adiciona(new Produto("Liquidificador", 250)); var algoritmo = new MaiorMenor(); algoritmo.Encontra(carrinho); Assert.AreEqual("Liquidificador", algoritmo.Menor.Nome); Assert.AreEqual("Liquidificador", algoritmo.Maior.Nome); }
// // GET: /ShoppingCart/ public ActionResult Index() { var cart = CarrinhoDeCompras.GetCart(this.HttpContext); // Set up our ViewModel var viewModel = new CarrinhodeComprasViewModel { CartItems = cart.GetCartItems(), CartTotal = cart.GetTotal(), }; // Return the view return(View(viewModel)); }
public void ApenasUmProduto() { var carrinho = new CarrinhoDeCompras(); carrinho.Adiciona(new Produto("Geladeira", 450.0)); var algoritmo = new MaiorEMenor(); algoritmo.Encontra(carrinho); Assert.AreEqual("Geladeira", algoritmo.Menor.Nome); Assert.AreEqual("Geladeira", algoritmo.Maior.Nome); }
public void Encontra(CarrinhoDeCompras carrinho) { foreach (Produto produto in carrinho.Produtos) { if (Menor == null || produto.Valor < Menor.Valor) { Menor = produto; } if (Maior == null || produto.Valor > Maior.Valor) //Correção do erro { Maior = produto; } } }
// // GET: /Store/AddToCart/5 public ActionResult AddToCart(int id) { // Recupera o álbum do banco de dados var addProduto = storeDB.Produtoes .Single(produto => produto.Id == id); // Adiciona ao ItemVenda de compras var cart = CarrinhoDeCompras.GetCart(this.HttpContext); cart.AddToCart(addProduto); // Volta para a página da loja principal para mais compras return(RedirectToAction("Index", "Home", null)); }
public App() { var repositorioDeMedicamentos = new RepositorioDeMedicamentosInMemory(); var servicoDeDiagnostico = new ServicoDeDiagnostico(repositorioDeMedicamentos); realizacaoDeDiagnosticos = new ServicoDeDiagnosticoUsandoDominio(servicoDeDiagnostico); var repositorioDePedidos = new RepositorioDePedidosInMemory(); realizacaoDePedidos = new ServicoDeCompras(repositorioDePedidos); carrinhoDeCompras = new CarrinhoDeCompras(repositorioDeMedicamentos); }