Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
                    }
                }
            }
        }
Exemplo n.º 3
0
        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);
        }