private void EnviarEmail(ResultadoOperacaoFechamento resultado) { var dataInicial = DateTime.Now.GetFirstDateTimeOfMonth(); var datafinal = DateTime.Now.GetLastDateTimeOfMonth(); var totalVendido = RecuperarTotalVendido(dataInicial, datafinal); var senderEmail = _parametros.SmtpSenderEmail; var senderName = _parametros.SmtpSenderName; var fromEmail = _parametros.SmtpSenderEmail; var fromName = _parametros.SmtpSenderName; var subject = "Resultado do Fechamento"; var htmlBody = ""; var emailsTo = new List <MailAddress>(); _parametros.EmailsParaEnviar.Split(';').ToList().ForEach(email => emailsTo.Add(new MailAddress(email))); htmlBody = $@"<h1>Resultado fechamento dia: {DateTime.Now:dd/MM/yyy HH:mm} - <span style='color: red;'>{resultado.ValorTotalPagamento.ToString("c", CultureInfo.GetCultureInfo("pt-BR"))}</span></h1> <table style='width: 400px; border-collapse: collapse;'> <tr><td style='width: 250px; border: 1px solid black;'>Nome Do PDV:</td> <td align='right' style='width: 150px; border: 1px solid black;'>{"NomeDoCaixa".GetConfigValue().ToUpper()}</td></tr> <tr><td style='width: 250px; border: 1px solid black;'>Valor de Abertura:</td> <td align='right' style='width: 150px; border: 1px solid black;'>{resultado.ValorAbertura:c}</td></tr> <tr><td style='width: 250px; border: 1px solid black;'>Dinheiro no Caixa p/ Operador:</td> <td align='right' style='width: 150px; border: 1px solid black;'>{resultado .ValorContabilizadoNoFechamento:c}</td></tr> <tr><td style='width: 250px; border: 1px solid black;'>Pagamentos em Dinheiro:</td> <td align='right' style='width: 150px; border: 1px solid black;'>{resultado .ValorTotalPagamentoDinheiro:c}</td></tr> <tr><td style='width: 250px; border: 1px solid black;'>Pagamentos em Debito:</td> <td align='right' style='width: 150px; border: 1px solid black;'>{resultado .ValorTotalPagamentoDebito:c}</td></tr> <tr><td style='width: 250px; border: 1px solid black;'>Pagamentos em Credito:</td> <td align='right' style='width: 150px; border: 1px solid black;'>{resultado .ValorTotalPagamentoCredito:c}</td></tr> <tr><td style='width: 250px; border: 1px solid black;'>Pagamentos em Ticket:</td> <td align='right' style='width: 150px; border: 1px solid black;'>{resultado .ValorTotalPagamentoTicket:c}</td></tr> <tr><td style='width: 250px; border: 1px solid black;'>Dinheiro no Caixa p/ Sistema:</td> <td align='right' style='width: 150px; border: 1px solid black;'>{resultado .ValorTotalEstimadoEmEspecie:c}</td></tr> <tr><td style='width: 250px; border: 1px solid black;'>Diferença:</td> <td align='right' style='width: 150px; border: 1px solid black;'>{resultado .DiferencaNoCaixa:c}</td></tr> </table> <h3>Total Venda em {DateTime.Now.GetMonthName()}: <span style='color: red;'>{totalVendido.ValorTotal.ToString("c", CultureInfo.GetCultureInfo("pt-BR"))}</span></br> Quantidade Vendida: <span style='color: red;'>{totalVendido.Quantidade}</span></h3>"; _email.Enviar(senderEmail, senderName, fromEmail, fromName, subject, htmlBody, emailsTo); }
public void EnviarCotacaoFornecedor(int idRequisicao, List <int> fornecedores, int idUsuario) { var requisicao = serviceRequisicao.Find(idRequisicao); var departamento = requisicao.Departamento; string assunto = getAssunto(idRequisicao, departamento); string guid; foreach (var item in fornecedores) { var fornecedor = serviceCotFornecedor.Find(item); if (fornecedor != null) { // envia email guid = new Guid().ToString(); if (serviceEmail.Enviar(fornecedor.Fornecedor.Fantasia, fornecedor.Email, assunto, getHtmlCotacao(guid, item, requisicao, departamento), departamento.IdEmpresa, true) == true) { // grava envio ao fornecedor GravarEnvioAoFornecedor(idRequisicao, fornecedor.FornecedorId, idUsuario, guid, fornecedor.Email); } } } }
public void EnviarOrdemCompra(ReqComprar item) { var requisicao = item.Requisicao; var departamento = requisicao.Departamento; var fornecedor = item.Fornecedor; var agenda = fornecedor.Agenda; var empresa = departamento.Empresa; var cotadoCom = item.Requisicao.CotadoCom.Where(x => x.ReqRequisicaoId == requisicao.Id).FirstOrDefault(); var dadosCotacao = cotadoCom.DadosCotacao; var cotacao = dadosCotacao.CotadoCom.Cotacao; StringBuilder sb = new StringBuilder(); sb.Append("<h2>ORDEM DE COMPRA</h2>"); // empresa sb.AppendLine($"<br/><br/><strong>{ empresa.Razao }</strong>") .AppendLine($"<br />{ agenda.Endereco }, { agenda.Bairro }, { agenda.Cidade }, { agenda.Estado.UF }, CEP { agenda.Cep }") .AppendLine($"<br />{ agenda?.Emails?.FirstOrDefault()?.Email }, Tel. { agenda?.Telefones?.FirstOrDefault()?.Numero }"); // fornecedor sb.AppendLine("<br/><br/À") .AppendLine($"<br/>{fornecedor.Fantasia} - {fornecedor.Razao}"); // itens da requisicao sb.AppendLine("Favor providenciar os materiais abaixo relacionados:") .AppendLine("<table>") .AppendLine("<tr>") .AppendLine("<td>QUANTIDADE</td>") .AppendLine("<td>UNIDADE</td>") .AppendLine("<td>INSUMO</td>") .AppendLine("<td>PREÇO UNITÁRIO</td>") .AppendLine("</tr>"); foreach (var material in requisicao.ReqMaterial) { var preco = cotacao.Where(x => x.ReqMaterialId == material.Id).FirstOrDefault().PrecoComImpostos; sb.AppendLine("<tr>") .AppendLine($"<td>{ material.Qtde.ToString("N2") }</td>") .AppendLine($"<td>{ material.Material.Unidade.Descricao }</td>") .AppendLine($"<td>{ material.Material.Descricao }</td>") .AppendLine($"<td>{ material.Material.Unidade.Descricao }</td>") .AppendLine($"<td>{ preco.ToString("c2") }</td>") .AppendLine("</tr>"); } // valor total da cotacao var totalCotacao = cotacao.Sum(x => x.PrecoComImpostos); sb.AppendLine("<tr>") .AppendLine("<td colspan='4'>VALOR TOTAL</td>") .AppendLine($"<td>{ totalCotacao }</td>") .AppendLine("<tr>"); sb.AppendLine("</table>"); // condicoes de pagamento sb.AppendLine("<h4>Condições de pagamento</h4>") .AppendLine($"Valor total do pedido { totalCotacao.ToString("c2")} conforme negociação, na seguinte condição de pagamento:") .AppendLine("<br/>"); // TODO: listar condicoes de pagamento // faturamento sb.AppendLine("<h4>Faturamento</h4>") .AppendLine($"{empresa.Razao}<br>Local de cobrança: {empresa.Endereco}, {empresa.Bairro}, {empresa.Cidade}, {empresa.Estado.UF}, CEP {empresa.Cep }") .AppendLine($"CNPJ: {empresa.Cnpj}, Inscrição Estadual: {empresa.IE }"); // entrega sb.AppendLine("<h4>ENTREGA</h4>") .AppendLine($"{departamento.Endereco}, {departamento.Bairro},{ departamento.Cidade}, { departamento.Estado.UF}, CEP {departamento.Cep}") .AppendLine($"<br />Entregar dia { requisicao.EntregarDia.ToShortDateString() }"); // footer sb.AppendLine("<hr>") .AppendLine($"Esta ordem de compra foi gerada por { item.CompradaPorUsuario}") .AppendLine($"<br>Dúvidas sobre esta ordem, gentileza entrar em contato com { item.CompradaPorUsuario.Email }") .AppendLine($"<br>Ordem de compra #{item.Requisicao.Id} emitida em { DateTime.Now.ToString()}"); // TODO: email do fornecedor serviceEmail.Enviar(dadosCotacao.Contato, agenda.Emails.First().Email, $"ORDEM DE COMPRA {requisicao.Id}", sb.ToString(), empresa.Id, true); }