public void ProcessarPedido(Carrinho carrinho, Pedido pedido) { using (var smtpClient = new SmtpClient()) { smtpClient.EnableSsl = _emailConfiguracoes.UsarSsl; smtpClient.Host = _emailConfiguracoes.ServidorSmtp; smtpClient.Port = _emailConfiguracoes.ServidorPorta; smtpClient.UseDefaultCredentials = false; smtpClient.Credentials = new NetworkCredential(_emailConfiguracoes.Usuario, _emailConfiguracoes.ServidorSmtp); if (_emailConfiguracoes.EscreverArquivo) { smtpClient.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; smtpClient.PickupDirectoryLocation = _emailConfiguracoes.PastaArquivo; smtpClient.EnableSsl = false; } StringBuilder body = new StringBuilder() .AppendLine("Novo Pedido") .AppendLine("-----------") .AppendLine("Itens"); foreach (var item in carrinho.ItensCarrinho) { var subtotal = item.Produto.Preco*item.Quantidade; body.AppendFormat("{0} x {1} (subtotal: {2:c}", item.Quantidade, item.Produto.Nome, subtotal); } body.AppendFormat("Valor total do pedido: {0:c}",carrinho.ObterValorTotal()) .AppendLine("----------------------") .AppendLine("Enviar para:") .AppendLine(pedido.NomeCliente) .AppendLine(pedido.Email) .AppendLine(pedido.Endereco ?? "") .AppendLine(pedido.Cidade ?? "") .AppendLine(pedido.Complemento ?? "") .AppendLine("----------------------") .AppendFormat("Para presente?: {0}", pedido.EmbrulhaPresente ? "Sim" : "Não"); MailMessage mailMessage = new MailMessage(_emailConfiguracoes.De, _emailConfiguracoes.Para, "Novo pedido", body.ToString()); if (_emailConfiguracoes.EscreverArquivo) { mailMessage.BodyEncoding = Encoding.GetEncoding("ISO-8859-1"); } smtpClient.Send(mailMessage); } }
public void CalcularValorTotal() { //Arrange - criação dos produtos Produto produto1 = new Produto { ProdutoId = 1, Nome = "Teste 1", Preco = 100M }; Produto produto2 = new Produto { ProdutoId = 2, Nome = "Teste 2", Preco = 50M }; Carrinho carrinho = new Carrinho(); carrinho.AdicionarItem(produto1, 1); carrinho.AdicionarItem(produto2, 1); carrinho.AdicionarItem(produto1, 3); decimal resultado = carrinho.ObterValorTotal(); Assert.AreEqual(resultado, 450M); }