public void Cadastrar(ClubR c)
        {
            try
            {
                AbrirConexao();
                tr = con.BeginTransaction();

                string query = "insert into Campanha (campanha,codun,versao,nomeResponsavel,cpfResponsavel," +
                               "modalidade,dataNegociacao,dataInicio,dataFim,mediaHistorica,periodoMeses,metaPeriodo,desconto,markup," +
                               "crescimento,mesesPagamentoRBR,mesesPagamentoNetline,netlineHabilitado,guelta,rebateValor,rebatePercent,status,fileContrato,observacao,idUsuario,dataCadastro,acao) " +
                               "values (@campanha,@codun,@versao,@nomeResponsavel,@cpfResponsavel," +
                               "@modalidade,@dataNegociacao,@dataInicio,@dataFim,@mediaHistorica,@periodoMeses,@metaPeriodo,@desconto,@markup," +
                               "@crescimento,@mesesPagamentoRBR,@mesesPagamentoNetline,@netlineHabilitado,@guelta,@rebateValor,@rebatePercent,@status,@fileContrato,@observacao,@idUsuario,@dataCadastro,@acao)";

                cmd = new SqlCommand(query, con, tr);
                cmd.Parameters.AddWithValue("@campanha", c.Campanha.ToString());
                cmd.Parameters.AddWithValue("@codun", c.Codun);
                cmd.Parameters.AddWithValue("@versao", c.Versao);
                cmd.Parameters.AddWithNullValue("@nomeResponsavel", c.NomeResponsavel);
                cmd.Parameters.AddWithNullValue("@cpfResponsavel", c.CpfResponsavel);
                cmd.Parameters.AddWithValue("@modalidade", c.Modalidade.ToString());
                cmd.Parameters.AddWithNullValue("@dataNegociacao", c.DataNegociacao);
                cmd.Parameters.AddWithValue("@dataInicio", c.DataInicio);
                cmd.Parameters.AddWithValue("@dataFim", c.DataFim);
                cmd.Parameters.AddWithValue("@mediaHistorica", c.MediaHistorica);
                cmd.Parameters.AddWithValue("@periodoMeses", c.PeriodoMeses);
                cmd.Parameters.AddWithValue("@metaPeriodo", c.MetaPeriodo);
                cmd.Parameters.AddWithValue("@desconto", c.Desconto);
                cmd.Parameters.AddWithValue("@crescimento", c.Crescimento);
                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("@rebateValor", c.RebateValor);
                cmd.Parameters.AddWithValue("@rebatePercent", c.RebatePercent);
                cmd.Parameters.AddWithValue("@status", c.Status.ToString());
                cmd.Parameters.AddWithNullValue("@fileContrato", c.FileContrato);
                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();
            }
        }
Exemple #2
0
        public static void EnviarEmailClubR(ClubR c, List <string> destinatarios)
        {
            try
            {
                MailMessage message = new MailMessage();
                message.Subject = $"Solicitação de cadastro cliente ClubR - {c.Codun}";

                var contratoAnexo = c.FileContrato is null ? "Não" : $"Sim - Nome do Arquivo: {c.FileContrato}";
                var compraNetline = c.NetlineHabilitado ? $"Sim, em {c.MesesPagamentoNetline} vezes" : "Não";

                message.Body =
                    "Foi solicitado um novo cadastro de Cliente na Campanha ClubR \n\n" +
                    $"Codun: {c.Codun} \n" +
                    $"Contrato: {c.Versao} \n" +
                    $"Nome Responsável: {c.NomeResponsavel} \n" +
                    $"CPF Responsavel: {c.CpfResponsavel} \n" +
                    $"Data Negociação: {c.DataNegociacao.ToShortDateString()} \n" +
                    $"Modalidade: {c.Modalidade} \n" +
                    $"Período do Contrato: {c.PeriodoMeses} meses \n" +
                    $"Data Início: {c.DataInicio.ToShortDateString()} \n" +
                    $"Data Fim: {c.DataFim.ToShortDateString()} \n" +
                    $"Média Histórica Mensal: {string.Format("{0:C}", c.MediaHistorica)} \n" +
                    $"Meta para o Período: {string.Format("{0:C}", c.MetaPeriodo)} \n" +
                    $"Crescimento Proposto: {c.Crescimento} % \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" +
                    $"Rebate: {c.RebatePercent * 100}% \n" +
                    $"Rebate Valor: {string.Format("{0:C}", c.RebateValor)}\n" +
                    $"Contrato assinado foi anexado: {contratoAnexo} \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 ClubR();
                    c.Usuario = new Usuario();

                    c.Campanha        = Campanha.ClubR;
                    c.Codun           = model.Codun;
                    c.Versao          = model.Versao;
                    c.NomeResponsavel = model.NomeResponsavel;
                    c.CpfResponsavel  = model.CpfResponsavel;
                    c.Modalidade      = model.ModalidadeClubR;
                    c.DataNegociacao  = model.DataNegociacao != null?Convert.ToDateTime(model.DataNegociacao) : (DateTime)SqlDateTime.MinValue;

                    c.DataInicio            = Convert.ToDateTime(model.DataInicioContrato);
                    c.DataFim               = Convert.ToDateTime(model.DataFimContrato);
                    c.MediaHistorica        = Convert.ToDecimal(model.MediaHistorica.Replace(".", ""));
                    c.PeriodoMeses          = model.PeriodoMeses;
                    c.MetaPeriodo           = Convert.ToDecimal(model.MetaPeriodo.Replace(".", ""));
                    c.Markup                = model.MarkUP;
                    c.Desconto              = 1 - (2.52M / c.Markup);
                    c.Crescimento           = Convert.ToDecimal(model.CrescimentoProposto.Replace("%", "").Replace(".", ","));
                    c.MesesPagamentoRBR     = model.MesesPagamentoRBR;
                    c.NetlineHabilitado     = model.MesesPagamentoNetline != 0;
                    c.MesesPagamentoNetline = model.MesesPagamentoNetline;
                    c.RebatePercent         = Convert.ToDecimal(model.RebatePercent.Replace("%", "")) / 100;
                    c.RebateValor           = c.MetaPeriodo * c.RebatePercent;
                    c.Guelta                = model.Guelta;
                    c.Status                = StatusSolicitacao.Pendente;
                    c.Observacao            = model.Obervacao;
                    c.FileContrato          = model.Contrato is null ? null : $"{c.Campanha}-{c.Codun}-{c.Versao}";
                    c.Acao    = Acao.Cadastrar;
                    c.Usuario = model.usuario;

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

                    if (model.Contrato != null)
                    {
                        string pasta   = HttpContext.Server.MapPath("/Imagens/ClubR/");
                        string extesao = Path.GetExtension(model.Contrato.FileName);
                        model.Contrato.SaveAs(pasta + c.FileContrato + extesao);
                    }

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

                    Email.EnviarEmailClubR(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", "ClubR"));
                }
                catch (Exception e)
                {
                    TempData["Sucesso"]   = false;
                    TempData["Resultado"] = "Erro: " + e.Message;
                }
            }
            return(View(new CadastroViewModel()));
        }