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(); } }
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())); }