public IActionResult Create()
        {
            IEnumerable <ComboPrincViewModel> combos = new List <ComboPrincViewModel>();

            combos            = _propostaAppService.ObterCombos();
            ViewBag.ListDados = combos;

            IEnumerable <ClienteViewModel> cli = new List <ClienteViewModel>();

            cli = _propostaAppService.ObterClientePorFuncionario(FuncionarioId);
            ViewBag.ListCombos = cli;

            PropostasViewModel prop = new PropostasViewModel();

            prop = _propostaAppService.ObterUltimaProposta();
            decimal seq   = Convert.ToDecimal(prop.StatusFinanceiro);
            decimal soma  = seq + 1;
            var     seque = soma;

            prop.StatusFinanceiro = Convert.ToString(seque);
            _propostaAppService.Atualizar(prop);

            ViewBag.Sequencia = seque;

            return(View());
        }
        public IActionResult Edit(PropostasViewModel clienteViewModel)
        {
            var x = _propostaAppService.ObterPorId(clienteViewModel.Id);


            if (!ModelState.IsValid)
            {
                return(View(clienteViewModel));
            }

            clienteViewModel.FuncionarioId = FuncionarioId;
            _propostaAppService.Atualizar(clienteViewModel);

            ViewBag.RetornoPost = OperacaoValida() ? "succes, Proposta atualizada com Sucesso!" : "error, Proposta não pode ser atualizado, verifique as mensagens";

            return(View(clienteViewModel));
        }
        public void Atualizar(PropostasViewModel propostaViewModel)
        {
            var atualizarClienteCommand = _mapper.Map <AtualizarPropostasCommand>(propostaViewModel);

            _bus.SendCommand(atualizarClienteCommand);
        }
        public void Registrar(PropostasViewModel propostaViewModel)
        {
            var registroCommand = _mapper.Map <RegistrarPropostasCommand>(propostaViewModel);

            _bus.SendCommand(registroCommand);
        }
        public IActionResult Create(PropostasViewModel propostasViewModel, string PROPSX)
        {
            propostasViewModel.Id_ext_props = PROPSX;
            Guid    IdCombo    = Guid.Parse(propostasViewModel.CodCombo);
            var     combo      = _propostaAppService.ObterCombosPorId(IdCombo);
            var     codcombo   = "";
            decimal vlrpremio  = 0;
            decimal vlrcapital = 0;

            foreach (var item in combo)
            {
                codcombo = item.CodCombo;
                string premio = item.VlrPremio.Replace(".", ",");
                vlrpremio  = vlrpremio + Convert.ToDecimal(premio);
                vlrcapital = vlrcapital + Convert.ToDecimal(item.VlrCapital);
            }
            Guid id = Guid.Parse(propostasViewModel.Nome);
            var  x  = _propostaAppService.ObterClientePorid(id);

            x.dependentes = _propostaAppService.ObterPorCliente(id);

            propostasViewModel.Corretor         = "FC20666";
            propostasViewModel.CPF              = x.CPF;
            propostasViewModel.Nome             = x.Nome;
            propostasViewModel.Dt_nasc          = x.DataNasc;
            propostasViewModel.Sexo             = x.Sexo;
            propostasViewModel.Est_civil        = x.EstadoCivil;
            propostasViewModel.Ender            = x.Endereco.Logradouro;
            propostasViewModel.Endnum           = x.Endereco.Numero;
            propostasViewModel.EndComplemento   = x.Endereco.Complemento;
            propostasViewModel.Bairro           = x.Endereco.Bairro;
            propostasViewModel.Cidade           = x.Endereco.Cidade;
            propostasViewModel.UF               = x.Endereco.Estado;
            propostasViewModel.CEP              = x.Endereco.CEP;
            propostasViewModel.DDDTel           = x.Fone.Substring(0, 2);
            propostasViewModel.Tel              = x.Fone.Substring(2);
            propostasViewModel.DDDCel           = x.Celular.Substring(0, 2);
            propostasViewModel.Cel              = x.Celular.Substring(2);
            propostasViewModel.Identidade       = x.RG;
            propostasViewModel.Org_emissor      = x.OrgaoExpedidor;
            propostasViewModel.Email            = x.Email;
            propostasViewModel.Cod_prof         = Convert.ToString(x.CodigoProf);
            propostasViewModel.Ocupacao         = x.Ocupacao;
            propostasViewModel.Dt_venda         = propostasViewModel.Dt_venda;
            propostasViewModel.Id_ext_props     = propostasViewModel.Id_ext_props;
            propostasViewModel.StatusFinanceiro = propostasViewModel.Id_ext_props;
            propostasViewModel.CodCombo         = codcombo;
            propostasViewModel.VlrPremio        = Convert.ToString(vlrpremio);
            propostasViewModel.VlrCapital       = Convert.ToString(vlrcapital);
            propostasViewModel.Tp_pgto          = "D";
            propostasViewModel.Banco            = propostasViewModel.Banco;
            propostasViewModel.Agencia          = propostasViewModel.Agencia;
            propostasViewModel.Agencia_dv       = propostasViewModel.Agencia_dv;
            propostasViewModel.CC               = propostasViewModel.CC;
            propostasViewModel.Cc_dv            = propostasViewModel.Cc_dv;
            propostasViewModel.Dia_debito       = propostasViewModel.Dia_debito;
            propostasViewModel.Tipo_envio       = "B";
            propostasViewModel.Ufcobr           = x.Endereco.Estado;
            propostasViewModel.Endercobr        = x.Endereco.Complemento;
            propostasViewModel.Endnumcobr       = x.Endereco.Numero;
            propostasViewModel.Endcomplcobr     = x.Endereco.Complemento;
            propostasViewModel.Bairrocobr       = x.Endereco.Bairro;
            propostasViewModel.Cidadecobr       = x.Endereco.Cidade;
            propostasViewModel.Cepcobr          = x.Endereco.CEP;
            propostasViewModel.PPE              = x.PPE;
            propostasViewModel.FuncionarioId    = FuncionarioId;

            _propostaAppService.Registrar(propostasViewModel);

            ViewBag.RetornoPost = OperacaoValida() ? "succes, Cliente Registrado com Sucesso!" : "error, Cliente não pode ser Registrado, verifique as mensagens";

            if (OperacaoValida())
            {
                return(View("Index", _propostaAppService.ObterTodos()));
            }
            {
                return(View(propostasViewModel));
            }
        }
        public IActionResult ImportaPropostas(IFormFile importExcel)
        {
            PropostasViewModel prop = new PropostasViewModel();

            if (importExcel == null || importExcel.Length == 0)
            {
                return(View());
            }

            MemoryStream memoryStream = new MemoryStream();

            importExcel.CopyToAsync(memoryStream).ConfigureAwait(false);
            ExcelPackage package = new ExcelPackage(memoryStream);

            for (int i = 1; i <= package.Workbook.Worksheets.Count; i++)
            {
                var totalRows     = package.Workbook.Worksheets[i].Dimension?.Rows;
                var totalCollumns = package.Workbook.Worksheets[i].Dimension?.Columns;
                for (int j = 1; j <= totalRows; j++)
                {
                    for (int k = 1; k <= totalCollumns.Value; k++)
                    {
                        var     xt    = _propostaAppService.ObterUltimaProposta();
                        decimal seq   = Convert.ToDecimal(xt.StatusFinanceiro);
                        decimal soma  = seq + 1;
                        var     seque = soma;
                        prop.StatusFinanceiro = Convert.ToString(seque);

                        string cpf = Util.RemoveCaracteresEspeciais(package.Workbook.Worksheets[i].Cells[j, 1].Value.ToString(), false, true, true, false, false);

                        prop.Dt_venda     = Convert.ToDateTime(package.Workbook.Worksheets[i].Cells[j, 2].Value) == null ? DateTime.Now : Convert.ToDateTime(package.Workbook.Worksheets[i].Cells[j, 2].Value);
                        prop.CodCombo     = package.Workbook.Worksheets[i].Cells[j, 3].Value == null ? "" : package.Workbook.Worksheets[i].Cells[j, 3].Value.ToString();
                        prop.VlrPremio    = package.Workbook.Worksheets[i].Cells[j, 4].Value == null ? "" : package.Workbook.Worksheets[i].Cells[j, 4].Value.ToString();
                        prop.VlrCapital   = package.Workbook.Worksheets[i].Cells[j, 5].Value == null ? "" : package.Workbook.Worksheets[i].Cells[j, 5].Value.ToString();
                        prop.Tp_pgto      = package.Workbook.Worksheets[i].Cells[j, 6].Value == null ? "" : package.Workbook.Worksheets[i].Cells[j, 6].Value.ToString();
                        prop.Banco        = package.Workbook.Worksheets[i].Cells[j, 7].Value == null ? "" : package.Workbook.Worksheets[i].Cells[j, 7].Value.ToString();
                        prop.Agencia      = package.Workbook.Worksheets[i].Cells[j, 8].Value == null ? "" : package.Workbook.Worksheets[i].Cells[j, 8].Value.ToString();
                        prop.Agencia_dv   = package.Workbook.Worksheets[i].Cells[j, 9].Value == null ? "" : package.Workbook.Worksheets[i].Cells[j, 9].Value.ToString();
                        prop.CC           = package.Workbook.Worksheets[i].Cells[j, 10].Value == null ? "" : package.Workbook.Worksheets[i].Cells[j, 10].Value.ToString();
                        prop.Cc_dv        = package.Workbook.Worksheets[i].Cells[j, 11].Value == null ? "" : package.Workbook.Worksheets[i].Cells[j, 11].Value.ToString();
                        prop.Dia_debito   = package.Workbook.Worksheets[i].Cells[j, 12].Value == null ? "" : package.Workbook.Worksheets[i].Cells[j, 12].Value.ToString();
                        prop.Tipo_envio   = package.Workbook.Worksheets[i].Cells[j, 13].Value == null ? "" : package.Workbook.Worksheets[i].Cells[j, 13].Value.ToString();
                        prop.Id_ext_props = seque.ToString();
                        prop.Corretor     = "FC20666";


                        if (prop.CodCombo == "(VB - 60 / FF - 60)")
                        {
                            prop.CodCombo = "000092";
                        }
                        else if (prop.CodCombo == "(VB - 15 / FF - 15)")
                        {
                            prop.CodCombo = "000095";
                        }
                        else if (prop.CodCombo == "(VB - 30 / FF - 30)")
                        {
                            prop.CodCombo = "000094";
                        }
                        else if (prop.CodCombo == "(VB - 45 / FF - 45)")
                        {
                            prop.CodCombo = "000093";
                        }
                        else
                        {
                            prop.CodCombo = "000096";
                        }

                        var cliente = _propostaAppService.ObterClientePorCpf(cpf);

                        if (cliente != null)
                        {
                            prop.IdDoClienteX   = cliente.Id;
                            prop.Nome           = cliente.Nome;
                            prop.Dt_nasc        = cliente.DataNasc;
                            prop.Sexo           = cliente.Sexo;
                            prop.Est_civil      = cliente.EstadoCivil;
                            prop.Ender          = cliente.Endereco.Logradouro;
                            prop.Endnum         = cliente.Endereco.Numero;
                            prop.EndComplemento = cliente.Endereco.Complemento;
                            prop.Bairro         = cliente.Endereco.Bairro;
                            prop.Cidade         = cliente.Endereco.Cidade;
                            prop.UF             = cliente.Endereco.Estado;
                            prop.CEP            = cliente.Endereco.CEP;
                            prop.Endercobr      = cliente.Endereco.Logradouro;
                            prop.Endnumcobr     = cliente.Endereco.Numero;
                            prop.Endcomplcobr   = cliente.Endereco.Complemento;
                            prop.Bairrocobr     = cliente.Endereco.Bairro;
                            prop.Cidadecobr     = cliente.Endereco.Cidade;
                            prop.Ufcobr         = cliente.Endereco.Estado;
                            prop.Cepcobr        = cliente.Endereco.CEP;
                            prop.PPE            = cliente.PPE;

                            if (cliente.Fone != null && cliente.Fone.Length > 4)
                            {
                                var dddTel = cliente.Fone.Substring(0, 2);
                                var tel    = cliente.Fone.Substring(2, 8);
                                prop.DDDTel = dddTel;
                                prop.Tel    = tel;
                            }
                            else
                            {
                                prop.DDDTel = string.Empty;
                                prop.Tel    = string.Empty;
                            }

                            if (cliente.Celular != null && cliente.Celular.Length > 4)
                            {
                                var dddcel = cliente.Celular.Substring(0, 2);
                                var cel    = cliente.Celular.Substring(0, 2);
                                prop.DDDCel = dddcel;
                                prop.Cel    = cel;
                            }
                            else
                            {
                                prop.DDDCel = string.Empty;
                                prop.Cel    = string.Empty;
                            }

                            prop.Org_emissor   = cliente.OrgaoExpedidor;
                            prop.Email         = "*****@*****.**";
                            prop.Cod_prof      = cliente.CodigoProf.ToString();
                            prop.Ocupacao      = cliente.Ocupacao;
                            prop.FuncionarioId = FuncionarioId;
                            prop.CPF           = cliente.CPF;

                            var proposta = _propostaAppService.ObterPorCpf(cpf);
                            if (proposta == null)
                            {
                                _propostaAppService.Registrar(prop);
                            }

                            prop.Id = Guid.NewGuid();
                            k       = 99;
                        }
                        prop.Id = Guid.NewGuid();
                        k       = 99;
                    }
                }
            }



            ViewBag.RetornoPost = OperacaoValida() ? "succes, Cliente Registrado com Sucesso!" : "error, Cliente não pode ser Registrado, verifique as mensagens";

            if (OperacaoValida())
            {
                return(RedirectToAction("Index"));
            }
            else
            {
                return(View());
            }
        }