public void EnviaEmailContato(Fechamento fechamento) { string toMailAddress = fechamento.Parametro.EmailContato; string toContact = fechamento.Parametro.NomeContato; decimal valorTotalPedido = 0; StringBuilder message = new StringBuilder(); message.Append("Olá " + toContact + ", \n\n"); if (fechamento.PossuiTeleEntrega) { message.Append("Segue pedido do pessoal da Voiza para Tele-Entrega na Voiza:\n\n"); message.Append("FORMA PAGAMENTO: \n Visa e Visa Vale \n\n"); message.Append("TELE ENTREGA: R$" + fechamento.Parametro.ValorTeleEntrega + "\n\n"); valorTotalPedido += (decimal)fechamento.Parametro.ValorTeleEntrega; if (fechamento.PossuiBebida) { message.Append("BEBIDAS:\n"); BebidaService bebidaService = new BebidaService(); for (short i = 0; i < fechamento.PedidoIdBebidas.Length; i++) { if (fechamento.PedidoQuantidadeBebidas[i] > 0) { message.Append(" - " + fechamento.PedidoQuantidadeBebidas[i] + " " + bebidaService.GetName(fechamento.PedidoIdBebidas[i]) + " - R$" + fechamento.PedidoQuantidadeBebidas[i] * bebidaService.GetValor(fechamento.PedidoIdBebidas[i]) + "\n"); valorTotalPedido += fechamento.PedidoQuantidadeBebidas[i] * bebidaService.GetValor(fechamento.PedidoIdBebidas[i]); } } message.Append("\n"); } message.Append("LANCHES: \n\n"); foreach (var pedido in fechamento.Pedidos) { message.Append(pedido.Usuario.Nome.ToUpper() + " -> " + pedido.Lanche.Nome.ToUpper() + " - R$" + pedido.ValorLanche + "\n"); foreach (Opcional opcional in pedido.Opcionais) message.Append(" - Com " + opcional.Nome + "\n"); if (!String.IsNullOrWhiteSpace(pedido.Observacao)) message.Append(" Obs: " + pedido.Observacao + "\n"); valorTotalPedido += (decimal)pedido.ValorLanche; message.Append("\n\n"); } message.Append("VALOR TOTAL DO PEDIDO: R$" + valorTotalPedido + "\n\n"); message.Append("Muito Obrigado!\n\n"); message.Append("*** NÃO RESPONDER ESTE EMAIL - MENSAGEM GERADA AUTOMATICAMENTE - SextaNerdApplication ***"); //Envia email Mail.SendMail(toMailAddress, "Pedido Voiza - Tele-Entrega", message.ToString()); } else { message.Append("Segue pedido do pessoal da Voiza para comer no Restaurante:\n\n"); message.Append("LANCHES: \n\n"); foreach (var pedido in fechamento.Pedidos) { message.Append(pedido.Usuario.Nome.ToUpper() + " -> " + pedido.Lanche.Nome.ToUpper() + "\n"); foreach (Opcional opcional in pedido.Opcionais) message.Append(" - Com " + opcional.Nome + "\n"); if (!String.IsNullOrWhiteSpace(pedido.Observacao)) message.Append(" Obs: " + pedido.Observacao + "\n"); valorTotalPedido += (decimal)pedido.ValorLanche; message.Append("\n\n"); } message.Append("Muito Obrigado!\n\n"); message.Append("*** NÃO RESPONDER ESTE EMAIL - MENSAGEM GERADA AUTOMATICAMENTE - SextaNerdApplication ***"); //Envia email Mail.SendMail(toMailAddress, "Pedido Voiza - Restaurante", message.ToString()); } }
public void FechaPedido(Fechamento fechamento) { // Calcula o valor da tele-entrega if (fechamento.PossuiTeleEntrega) { decimal parcelaTeleEntrega = Decimal.Round((fechamento.Parametro.ValorTeleEntrega / fechamento.Pedidos.Count()), 2); foreach (Pedido pedido in fechamento.Pedidos) { pedido.ValorEntrega = parcelaTeleEntrega; } // Calcula o valor das bebidas if (fechamento.PossuiBebida) { BebidaService bebidaService = new BebidaService(); decimal totalBebida = 0; decimal parcelaBebida; for (short i = 0; i < fechamento.PedidoIdBebidas.Length; i++) { totalBebida += fechamento.PedidoQuantidadeBebidas[i] * bebidaService.GetValor(fechamento.PedidoIdBebidas[i]); } parcelaBebida = Decimal.Round((totalBebida / fechamento.Pedidos.Where(p => p.BebidaId != null).Count()), 2); foreach (Pedido pedido in fechamento.Pedidos) { if(pedido.BebidaId != null) pedido.ValorBebida = parcelaBebida; } } } // Atualiza o valor de todos os pedidos em aberto PedidoService pedidoService = new PedidoService(); foreach (Pedido pedido in fechamento.Pedidos) { pedido.Valor = pedido.Valor + (pedido.ValorBebida != null ? pedido.ValorBebida.Value : 0) + (pedido.ValorEntrega != null ? pedido.ValorEntrega.Value : 0); // Marca o pedido como atendido pedido.Atendido = 1; pedidoService.UpdateSimple(pedido); } }