Пример #1
0
        public ActionResult Cadastro(CadastroViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var c = new Markup();
                    c.Usuario = new Usuario();

                    c.Campanha        = Campanha.MarkUP;
                    c.Codun           = model.Codun;
                    c.Versao          = model.Versao;
                    c.NomeResponsavel = model.NomeResponsavel;
                    c.CpfResponsavel  = model.CpfResponsavel;
                    c.Modalidade      = model.ModalidadeMarkup;
                    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.Guelta                = model.Guelta;
                    c.Status                = StatusSolicitacao.Pendente;
                    c.Observacao            = model.Obervacao;
                    c.Acao    = Acao.Cadastrar;
                    c.Usuario = model.usuario;

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

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

                    Email.EnviarEmailMarkup(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", "Markup"));
                }
                catch (Exception e)
                {
                    TempData["Sucesso"]   = false;
                    TempData["Resultado"] = "Erro: " + e.Message;
                }
            }
            return(View(new CadastroViewModel()));
        }
Пример #2
0
 public async Task <ActionResult <List <Representante> > > GetDadosRepresentantes([FromHeader(Name = "api_key")][Required] string api_key, string codigoCliente)
 {
     try
     {
         RepresentanteDAL dadosRepresentanteDAL = new RepresentanteDAL(_config);
         return(await dadosRepresentanteDAL.GetRepresentantes(codigoCliente));
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.Message + ex.StackTrace));
     }
 }
        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 PreencheDependencias(DefinicoesClienteSolicitacao d, int codCliente, int codFilial)
        {
            using (var categoriaDAL = new CategoriaClienteDAL())
            {
                Task t1 = Task.Factory.StartNew(() =>
                {

                    var categorias = from c in categoriaDAL.ListarTodos()
                                     select c;

                    d.CategoriasCliente = new List<CategoriaCliente>();
                    foreach (var cat in categorias)
                    {
                        d.CategoriasCliente.Add(cat);
                    }
                    categorias = null;
                });

                Task t2 = Task.Factory.StartNew(() =>
                {
                    var formaPagamentoDAL = new FormaPagamentoDAL();
                    var formasPagamento = from f in formaPagamentoDAL.ListarTodos()
                                          select f;

                    d.FormasPagamento = new List<FormaPagamento>();

                    foreach (var forma in formasPagamento)
                    {
                        d.FormasPagamento.Add(forma);
                    }

                    formasPagamento = null;
                });

                Task t3 = Task.Factory.StartNew(() =>
                {
                    var grupoContasAReceberDAL = new GrupoContasAReceberDAL();

                    var grupoContasReceber = from ct in grupoContasAReceberDAL.ListarTodos()
                                             select ct;

                    d.GruposContasReceber = new List<GrupoContasAReceber>();

                    foreach (var grupo in grupoContasReceber)
                    {
                        d.GruposContasReceber.Add(grupo);
                    }
                    grupoContasReceber = null;
                });

                Task t4 = Task.Factory.StartNew(() =>
                {

                    var representanteDAL = new RepresentanteDAL();

                    //var representantes = from rep in representanteDAL.ListarTodos().Where(r => r.usuCodfil == codFilial)
                    //                     select rep;

                    var representantes = from rep in representanteDAL.ListarTodos().Where(r => r.sitrep == "A")
                                         select rep;

                    d.Representantes = new List<Representante>();

                    foreach (var representante in representantes)
                    {
                        d.Representantes.Add(representante);
                    }

                    //representantes = null;
                }).ContinueWith( _ =>
                {
                 var repBLL = new RepresentanteBLL();
                    d.Vendedores = repBLL.ListarVendedores(0, d.Representantes);

                });

                Task t5 = Task.Factory.StartNew(() =>
                {
                    var regiaoVendasDAL = new RegiaoVendasDAL();

                    var regioesVendas = from reg in regiaoVendasDAL.ListarTodos()
                                        select reg;

                    d.RegioesVendas = new List<RegiaoVendas>();

                    foreach (var regiao in regioesVendas)
                    {
                        d.RegioesVendas.Add(regiao);
                    }

                    regioesVendas = null;
                });

                Task t6 = Task.Factory.StartNew(() => {

                    var prazoDAL = new CondicaoPagamentoDAL();
                    var prazos = prazoDAL.ListarTodos().Where(p => p.usuSitsicad == "A").ToList();
                    d.CondicoesPagamento = prazos;

                });

                //Task t7 = Task.Factory.StartNew();

                Task.WaitAll(t1, t2, t3, t4,t5, t6);
            }
        }
        public ActionResult Cadastro(CadastroViewModel model)
        {
            try
            {
                var keyList = new List <string>();

                if (model.CobrancaIgualCadastro)
                {
                    keyList.Add("EnderecoCobranca");
                    model.EnderecoCobranca = new EnderecoViewModel(model.EnderecoCadastro);
                }

                if (model.EntregaIgualCadastro)
                {
                    keyList.Add("EnderecoEntrega");
                    model.EnderecoEntrega = new EnderecoViewModel(model.EnderecoCadastro);
                }
                else if (model.EntregaIgualCobranca)
                {
                    keyList.Add("EnderecoEntrega");
                    model.EnderecoEntrega = new EnderecoViewModel(model.EnderecoCobranca);
                }

                foreach (var item in keyList)
                {
                    foreach (var key in ModelState.Keys.ToList().Where(key => key.StartsWith((item))))
                    {
                        ModelState.Remove(key);
                    }
                }

                if (ModelState.IsValid)
                {
                    var c = new Cliente();
                    c.Agente   = new Representante();
                    c.Promotor = new Representante();
                    c.Usuario  = new Usuario();

                    c.CodCliente               = model.CodCliente;
                    c.Codun                    = model.Codun;
                    c.RazaoSocial              = model.RazaoSocial;
                    c.NomeFantasia             = model.NomeFantasia;
                    c.Cnpj                     = model.Cnpj.Replace(".", "").Replace("-", "").Replace("/", "");
                    c.InscricaoEstadual        = model.InscricaoEstadual;
                    c.InscricaoMunicipal       = model.InscricaoMunicipal;
                    c.Classe                   = model.Classe;
                    c.Status                   = StatusSolicitacao.Pendente;
                    c.Observacao               = model.Observacao;
                    c.DataCadastro             = DateTime.Now;
                    c.Agente.IdRepresentante   = model.IdAgente;
                    c.Promotor.IdRepresentante = model.IdPromotor;
                    c.Usuario                  = model.usuario;

                    //Necessario passar o idEndereco para caso de Edicao
                    c.Enderecos = new List <Endereco>()
                    {
                        new Endereco(model.EnderecoCadastro.IdEndereco, TipoEndereco.Cadastro, model.EnderecoCadastro.Logradouro, model.EnderecoCadastro.Numero,
                                     model.EnderecoCadastro.Complemento, model.EnderecoCadastro.Bairro, model.EnderecoCadastro.Municipio, model.EnderecoCadastro.UF,
                                     model.EnderecoCadastro.Cep, model.EnderecoCadastro.Telefone1, model.EnderecoCadastro.Telefone2, model.EnderecoCadastro.Email, false, false),

                        new Endereco(model.EnderecoCobranca.IdEndereco, TipoEndereco.Cobranca, model.EnderecoCobranca.Logradouro, model.EnderecoCobranca.Numero,
                                     model.EnderecoCobranca.Complemento, model.EnderecoCobranca.Bairro, model.EnderecoCobranca.Municipio, model.EnderecoCobranca.UF,
                                     model.EnderecoCobranca.Cep, model.EnderecoCobranca.Telefone1, model.EnderecoCobranca.Telefone2, model.EnderecoCobranca.Email, model.CobrancaIgualCadastro, false),

                        new Endereco(model.EnderecoEntrega.IdEndereco, TipoEndereco.Entrega, model.EnderecoEntrega.Logradouro, model.EnderecoEntrega.Numero, model.EnderecoEntrega.Complemento,
                                     model.EnderecoEntrega.Bairro, model.EnderecoEntrega.Municipio, model.EnderecoEntrega.UF, model.EnderecoEntrega.Cep,
                                     model.EnderecoEntrega.Telefone1, model.EnderecoEntrega.Telefone2, model.EnderecoCobranca.Email, model.EntregaIgualCadastro, model.EntregaIgualCobranca)
                    };

                    var d = new ClienteDAL();

                    if (model.IdTransacao is null)
                    {
                        c.Acao     = Acao.Cadastrar;
                        model.Acao = c.Acao;
                        if (!d.VerificarCNPJ(c.Cnpj))
                        {
                            d.CadastrarCliente(c);

                            TempData["Sucesso"]   = true;
                            TempData["Resultado"] = "Solicitação de Cadastro enviada com sucesso.\n" +
                                                    "Um E-mail de confirmação foi enviado para você, assim que o cliente estiver cadastrado você receberá uma confirmação via E-mail.\n " +
                                                    "Se o cliente não estiver coligado a nenhum Codun já existente, clique no botão Cadastrar Modalidade Comercial.\n " +
                                                    $"IdTransação: {c.IdCliente}";
                            model.IdTransacao = c.IdCliente;

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

                                Email.EnviarEmailCadastroCliente(c, destinatarios);
                            }
                            catch (Exception e)
                            {
                                TempData["Sucesso"]   = true;
                                TempData["Resultado"] = $"{e.Message} Se o cliente não estiver coligado a nenhum Codun já existente, clique no botão Cadastrar Modalidade Comercial.\n " +
                                                        $"IdTransação: {c.IdCliente}";
                            }
                        }
                        else
                        {
                            TempData["Sucesso"]   = false;
                            TempData["Resultado"] = "Já existe um cliente cadastrado com o CNPJ informado";
                        }
                    }

                    else
                    {
                        c.Acao      = Acao.Atualizar;
                        model.Acao  = c.Acao;
                        c.IdCliente = (int)model.IdTransacao;
                        d.AtualizarCliente(c);

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

                            Email.EnviarEmailEdicaoCliente(c, destinatarios);

                            TempData["Sucesso"]   = true;
                            TempData["Resultado"] = "Solicitação de atualização de dados cadastrais enviada com sucesso.\n" +
                                                    "Um E-mail de confirmação foi enviado para você, assim que o cliente estiver cadastrado você receberá uma confirmação via E-mail.";
                        }
                        catch (Exception e)
                        {
                            TempData["Sucesso"]   = true;
                            TempData["Resultado"] = e.Message;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                TempData["Sucesso"]   = false;
                TempData["Resultado"] = "Operação não concluída. Erro: " + e.Message;
            }
            return(View(model));
        }
        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()));
        }