Ejemplo n.º 1
0
        public static void EnviarEmailSemCampanha(SemCampanha c, List <string> destinatarios)
        {
            try
            {
                MailMessage message = new MailMessage();
                message.Subject = $"Solicitação de cadastro cliente Sem Campanha - #CodTransação: {c.Cliente.IdCliente}";

                var compraNetline = c.NetlineHabilitado ? $"Sim, em {c.MesesPagamentoNetline} vezes" : "Não";

                message.Body =
                    "Foi solicitado um novo cadastro de Cliente Sem Campanha \n\n" +
                    $"Codun: {c.Cliente.Codun} \n" +
                    $"Contrato: {c.Versao} \n" +
                    $"Data Negociação: {c.DataNegociacao.ToShortDateString()} \n" +
                    $"Data Início: {c.DataInicio.ToShortDateString()} \n" +
                    $"Prazo Pagamento RBR: {c.MesesPagamentoRBR} vezes \n" +
                    $"Habiitada Compra Netline ?: {compraNetline} \n" +
                    $"MarkUP: {c.Markup} \n" +
                    $"Desconto: {Math.Round(c.Desconto * 100, 1)}% \n" +
                    $"Guelta: {c.Guelta} \n" +
                    $"Observação: {c.Observacao} \n\n" +
                    $"Usuário: {c.Usuario.Nome} \n" +
                    $"Data: {DateTime.Now} \n\n" +

                    $"Este é um email automático do sistema, por favor não responda, " +
                    $"qualquer problema, encaminhe este email para [email protected] e explique o ocorrido.";

                EnviarEmail(message, destinatarios);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
        public ActionResult Cadastro(CadastroViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var c = new SemCampanha();
                    c.Cliente = new Cliente();
                    c.Usuario = new Usuario();

                    c.Campanha           = Campanha.SemCampanha;
                    c.Cliente.IdCliente  = model.IdTransacao;
                    c.Cliente.CodCliente = model.CodCliente;
                    c.Cliente.Codun      = model.Codun;
                    c.Versao             = model.Versao;
                    c.DataNegociacao     = model.DataNegociacao != null?Convert.ToDateTime(model.DataNegociacao) : (DateTime)SqlDateTime.MinValue;

                    c.DataInicio            = Convert.ToDateTime(model.DataInicioContrato);
                    c.Markup                = model.MarkUP;
                    c.Desconto              = 1 - (2.52M / c.Markup);
                    c.MesesPagamentoRBR     = model.MesesPagamentoRBR;
                    c.NetlineHabilitado     = model.MesesPagamentoNetline != 0;
                    c.MesesPagamentoNetline = model.MesesPagamentoNetline;
                    c.Guelta                = model.Guelta;
                    c.Status                = StatusSolicitacao.Pendente;
                    c.Observacao            = model.Obervacao;
                    c.Acao    = Acao.Cadastrar;
                    c.Usuario = model.usuario;

                    var d = new SemCampanhaDAL();
                    d.Cadastrar(c);

                    var           r             = new RepresentanteDAL();
                    List <string> destinatarios = r.ListaDestinatarios(c.Usuario.IdUsuario);

                    Email.EnviarEmailSemCampanha(c, destinatarios);

                    TempData["Sucesso"]   = true;
                    TempData["Resultado"] = "Solicitação de Cadastro enviada com sucesso. \n" +
                                            "Um E-mail de confirmação foi enviado, assim que o cliente estiver cadastrado você receberá uma confirmação via E-mail";
                    return(RedirectToAction("Cadastro", "SemCampanha"));
                }
                catch (Exception e)
                {
                    TempData["Sucesso"]   = false;
                    TempData["Resultado"] = "Erro: " + e.Message;
                }
            }
            return(View(new CadastroViewModel()));
        }
        public void Cadastrar(SemCampanha c)
        {
            try
            {
                AbrirConexao();
                tr = con.BeginTransaction();

                string query = "insert into Campanha (campanha,idCliente,codCliente,codun,versao," +
                               "dataNegociacao,dataInicio,desconto,markup, mesesPagamentoRBR,mesesPagamentoNetline, " +
                               "netlineHabilitado,guelta,status,observacao,idUsuario,dataCadastro,acao) " +
                               "values (@campanha,@idCliente,@codCliente,@codun,@versao,@dataNegociacao,@dataInicio,@desconto,@markup," +
                               "@mesesPagamentoRBR,@mesesPagamentoNetline,@netlineHabilitado,@guelta,@status,@observacao,@idUsuario,@dataCadastro,@acao)";

                cmd = new SqlCommand(query, con, tr);
                cmd.Parameters.AddWithValue("@campanha", c.Campanha.ToString());
                cmd.Parameters.AddWithValue("@idCliente", c.Cliente.IdCliente);
                cmd.Parameters.AddWithValue("@codCliente", c.Cliente.CodCliente);
                cmd.Parameters.AddWithValue("@codun", c.Cliente.Codun);
                cmd.Parameters.AddWithValue("@versao", c.Versao);
                cmd.Parameters.AddWithNullValue("@dataNegociacao", c.DataNegociacao);
                cmd.Parameters.AddWithValue("@dataInicio", c.DataInicio);
                cmd.Parameters.AddWithValue("@desconto", c.Desconto);
                cmd.Parameters.AddWithValue("@markup", c.Markup);
                cmd.Parameters.AddWithValue("@mesesPagamentoRBR", c.MesesPagamentoRBR);
                cmd.Parameters.AddWithValue("@mesesPagamentoNetline", c.MesesPagamentoNetline);
                cmd.Parameters.AddWithValue("@netlineHabilitado", c.NetlineHabilitado);
                cmd.Parameters.AddWithValue("@guelta", c.Guelta.ToString());
                cmd.Parameters.AddWithValue("@status", c.Status.ToString());
                cmd.Parameters.AddWithNullValue("@observacao", c.Observacao);
                cmd.Parameters.AddWithValue("@acao", c.Acao.ToString());
                cmd.Parameters.AddWithValue("@idUsuario", c.Usuario.IdUsuario);
                cmd.Parameters.AddWithValue("@dataCadastro", DateTime.Now);
                cmd.ExecuteNonQuery();

                tr.Commit();
            }
            catch (Exception e)
            {
                tr.Rollback();
                throw e;
            }
            finally
            {
                FecharConexao();
            }
        }