public void ProcessarPedido(Carrinho carrinho, Pedido pedido) { // Realizar pagamento (Integração com algum meio de pagamento) String body = ProcessarCorpoEmail(carrinho, pedido); new Thread( () => EnviarEmail(pedido.Email, body) ).Start(); }
public void AdicionarItem() { // Arrange Produto produto1 = new Produto() { ProdutoID = 1, Nome = "Teste1" }; Produto produto2 = new Produto() { ProdutoID = 2, Nome = "Teste2" }; Carrinho carrinho = new Carrinho(); carrinho.AdicionarItem(produto1, 3); carrinho.AdicionarItem(produto2, 4); CarrinhoController controller = new CarrinhoController(); // Act controller.Adicionar(carrinho, 2, 1, ""); // 2 = ID do Produto que NÃO há no BD // Assert Assert.AreEqual(carrinho.ItensCarrinhos.Count(), 2); // PASSED // Assert.AreEqual(carrinho.ItensCarrinhos.Count(), 1); // FAIL Assert.AreEqual(carrinho.ItensCarrinhos.ToArray()[0].Produto.ProdutoID, 1); }
public ViewResult Index(Carrinho carrinho, string returnUrl) { return View(new CarrinhoViewModel { Carrinho = carrinho, ReturnUrl = returnUrl }); }
public ActionResult FecharPedido(Carrinho carrinho) { if (!carrinho.ItensCarrinhos.Any()) { return Redirect("~/Vitrine/ListarProdutos"); } return View(new Pedido()); }
public RedirectToRouteResult Remover(Carrinho carrinho, int produtoId, string returnUrl) { _repositorio = new ProdutosRepositorio(); Produto produto = _repositorio.Produtos.FirstOrDefault(p => p.ProdutoID == produtoId); if (produto != null) { carrinho.RemoverItem(produto); } return RedirectToAction("Index", new {returnUrl}); }
public void ConteudoCarrinho() { // Arrange Carrinho carrinho = new Carrinho(); CarrinhoController controller = new CarrinhoController(); // Act CarrinhoViewModel resultado = (CarrinhoViewModel) controller.Index(carrinho, "minhaUrl").ViewData.Model; // Assert Assert.AreSame(resultado.Carrinho, carrinho); Assert.AreEqual(resultado.ReturnUrl, "minhaUrl"); }
public ViewResult FecharPedido(Carrinho carrinho, Pedido pedido) { EmailPedido emailPedido = new EmailPedido(GetEmailConfiguration()); if (!carrinho.ItensCarrinhos.Any()) { ModelState.AddModelError("", "Não foi possível concluir o pedido, seu carrinho está vazio!"); } if (ModelState.IsValid) { emailPedido.ProcessarPedido(carrinho, pedido); carrinho.LimparCarrinho(); return View("PedidoConcluido"); } return View(pedido); }
private String ProcessarCorpoEmail(Carrinho carrinho, Pedido pedido) { StringBuilder body = new StringBuilder() .AppendLine("Novo Pedido") .Append(Environment.NewLine) .AppendLine("Informações do destinatário") .AppendFormat("Cliente: {0}", pedido.NomeCliente) .AppendLine(String.Empty) .AppendFormat("Email: {0}", pedido.Email) .AppendLine(String.Empty) .AppendFormat("Logradouro: {0}, {1}", pedido.Logradouro, pedido.Numero) .AppendLine(String.Empty) .AppendFormat("Complemento: {0}", pedido.Complemento ?? "Não informado") .AppendLine(String.Empty) .AppendFormat("Bairro: {0}", pedido.Bairro) .AppendLine(String.Empty) .AppendFormat("Cidade: {0}", pedido.Cidade) .AppendLine(String.Empty) .AppendFormat("Estado: {0}", pedido.Estado) .AppendLine(Environment.NewLine) .AppendLine("Itens:"); foreach (var item in carrinho.ItensCarrinhos) { var subTotal = item.Produto.Preco * item.Quantidade; body.AppendFormat("{0} - {1} x {2:c}, subtotal: {3:c}" + Environment.NewLine, item.Produto.Nome, item.Quantidade, item.Produto.Preco, subTotal); } body.Append(Environment.NewLine) .AppendFormat("Valor total do pedido: {0:c}", carrinho.ObterValorTotal()) .Append(Environment.NewLine) .AppendFormat("Embulhar para presente: {0}", pedido.EmbrulharPresente ? "Sim" : "Não") .AppendLine(Environment.NewLine) .AppendLine("Obrigado por escolher a Loja Virtual Benz!") .AppendLine("Caso precise nos contactar, abaixo os nossos contatos") .AppendFormat("SAC: {0} - {1}", _emailConfig.TelefoneSAC, _emailConfig.EmailSAC); return body.ToString(); }
public void AdicionarProduto_VoltarParaCategoria() { #region Comentário // Ao adicionar um produto, o usuário é direcionado para o carrinho // ... ao clicar em "Continuar comprando", o mesmo deve ser redirecionado para sua página de origem inicial // Exemplo: URL = http://localhost:4393/Futebol <- Voltar para categoria FUTEBOL #endregion // Arrange Carrinho carrinho = new Carrinho(); CarrinhoController controller = new CarrinhoController(); // Act RedirectToRouteResult result = controller.Adicionar(carrinho, 2, 1, "minhaUrl"); // Assert Assert.AreEqual(result.RouteValues["action"], "Index"); Assert.AreEqual(result.RouteValues["returnUrl"], "minhaUrl"); }
public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) { // Obtendo carrinho ... Carrinho carrinho = null; if (controllerContext.HttpContext.Session != null) { carrinho = (Carrinho) controllerContext.HttpContext.Session[SessionKey]; } // Criando sessão, caso não exista ... if (carrinho == null) { carrinho = new Carrinho(); if (controllerContext.HttpContext.Session != null) { controllerContext.HttpContext.Session[SessionKey] = carrinho; } } // Retornando ... return carrinho; }
public PartialViewResult Resumo(Carrinho carrinho) { return PartialView(carrinho); }