Пример #1
0
 private void TransferePropriedades(PropostaViewModel origem, Proposta destino)
 {
     destino.Id                 = origem.Id;
     destino.IdUsuario          = origem.IdUsuario;
     destino.DataEntrada        = origem.DataEntrada;
     destino.Nome               = origem.Nome;
     destino.CPF                = origem.CPF;
     destino.DataNascimento     = origem.DataNascimento;
     destino.Matricula          = origem.Matricula;
     destino.SenhaConvenio      = origem.SenhaConvenio;
     destino.IdBancoConta       = origem.IdBancoConta;
     destino.Agencia            = origem.Agencia;
     destino.ContaCorrente      = origem.ContaCorrente;
     destino.IdTipoConta        = origem.IdTipoConta;
     destino.IdUsuarioDigitacao = origem.IdUsuarioDigitacao;
     destino.DataDigitacao      = origem.DataDigitacao;
     destino.IdBanco            = origem.IdBanco;
     destino.IdConvenio         = origem.IdConvenio;
     destino.ValorParcela       = origem.ValorParcela;
     destino.MargemLivre        = origem.MargemLivre;
     destino.MargemUtilizada    = origem.MargemUtilizada;
     destino.Coeficiente        = origem.Coeficiente;
     destino.QtdeParcelas       = origem.QtdeParcelas;
     destino.ValorContrato      = origem.ValorContrato;
     destino.Tabela             = origem.Tabela;
     destino.DataCoeficiente    = origem.DataCoeficiente;
     destino.Observacao         = origem.Observacao;
     destino.Endereco           = origem.Endereco;
     destino.NumeroEndereco     = origem.NumeroEndereco;
     destino.Bairro             = origem.Bairro;
     destino.Cidade             = origem.Cidade;
     destino.Uf                 = origem.Uf;
     destino.Cep                = origem.Cep;
     destino.Complemento        = origem.Complemento;
 }
Пример #2
0
        public ActionResult Incluir([DataSourceRequest] DataSourceRequest request, PropostaViewModel item)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    Proposta dados = Mapper.Map <Proposta>(item);
                    _repositorio.Inserir(dados);
                    _contexto.SaveChanges();
                    item.PropostaId = dados.PropostaId;
                }
                catch (Exception erro)
                {
                    if (erro.InnerException.InnerException.Message.Contains("IdxNome"))
                    {
                        ModelState.AddModelError("", "O nome já foi incluído.");
                    }

                    _contexto.Rollback();
                    return(Json(ModelState.ToDataSourceResult()));
                }
            }

            return(Json(new[] { item }.ToDataSourceResult(request)));
        }
Пример #3
0
        private void MontaListaTelefones(HttpRequestBase request, PropostaViewModel usu)
        {
            /*int contTelefone = 1;
             *
             * string telefone = request.Form["telefone" + contTelefone];
             * while (! String.IsNullOrEmpty(telefone))
             * {
             *  telefone = telefone.Replace("_"," ");
             *  string tipoTelefone = request.Form["idtipotelefone" + contTelefone];
             *  if (! String.IsNullOrEmpty(tipoTelefone))
             *  {
             *      usu.Telefones.Add(new ItemTelefone { Telefone = telefone, IdTipoTelefone = Convert.ToInt16(tipoTelefone) });
             *  }
             *  else
             *  {
             *      usu.Telefones.Add(new ItemTelefone { Telefone = telefone });
             *  }
             *
             *  contTelefone++;
             *  telefone = Request.Form["telefone" + contTelefone];
             * }*/

            string[] telefones       = request.Form["telefone"].Split(',');
            string[] idtipostelefone = request.Form["idtipotelefone"].Split(',');

            for (int i = 0; i < telefones.Length; i++)
            {
                usu.Telefones.Add(new ItemTelefone {
                    Telefone = telefones[i], IdTipoTelefone = Convert.ToInt32(idtipostelefone[i])
                });
            }
        }
Пример #4
0
        public ActionResult Create(PropostaViewModel obj, Guid id)
        {
            try
            {
                var servico = ctx.Servico.Find(id);

                if (servico.PUBLICO == false)
                {
                    var domain = ctx.Oferta.First(f => f.ID_SERVICO == id);

                    domain.AceitarOferta();
                    ctx.Entry(domain).State = EntityState.Modified;

                    MoedaHelper.Movimentar(ctx, idUsuarioLogado, -100, "PROPOSTA EFETUADA");
                }

                var prop = new PROPOSTA_SERVICO(id, idUsuarioLogado, obj.VL_PROPOSTA, obj.JUSTIFICATIVA, obj.DURACAO_SERVICO, obj.VALOR_DURACAO_SERVICO);
                ctx.Proposta.Add(prop);

                ctx.SaveChanges();

                return(RedirectToAction("../Home/Index"));
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.TratarMensagem());
                return(View(obj));
            }
        }
Пример #5
0
        private void MontaListaDividas(HttpRequestBase request, PropostaViewModel prop)
        {
            int contador = 1;

            string idBanco = request.Form["idbancodivida" + contador];

            while (!String.IsNullOrEmpty(idBanco))
            {
                string saldoDevedor = request.Form["saldodevedordivida" + contador];
                string valorParcela = request.Form["valorparceladivida" + contador];
                if (!String.IsNullOrEmpty(valorParcela))
                {
                    decimal saldo = Convert.ToDecimal(saldoDevedor);
                    prop.Dividas.Add(new ItemDivida {
                        IdBanco = Convert.ToInt16(idBanco), SaldoDevedor = Convert.ToDecimal(saldoDevedor), ValorParcela = Convert.ToDecimal(valorParcela)
                    });
                }
                else
                {
                    prop.Dividas.Add(new ItemDivida {
                        IdBanco = Convert.ToInt16(idBanco), SaldoDevedor = Convert.ToDecimal(saldoDevedor)
                    });
                }

                contador++;
                idBanco = request.Form["idbancodivida" + contador];
            }
        }
Пример #6
0
        public PropostaViewModel Atualizar(PropostaViewModel propostaViewModel)
        {
            var cliente = Mapper.Map <Proposta>(propostaViewModel);

            _propostaService.Atualizar(cliente);

            return(propostaViewModel);
        }
Пример #7
0
        // GET: Propostas/Create
        public ActionResult Create()
        {
            PropostaViewModel propostaViewModel = new PropostaViewModel
            {
                ListItemsClientes     = GetClientLListItem(),
                ListItemsFornecedores = GetFornecedoresListItem(),
                ItensProposta         = new List <ItemProposta>(),
                ItemProposta          = new ItemProposta()
            };

            return(View(propostaViewModel));
        }
        public ActionResult Aceitar(PropostaViewModel obj, Guid id)
        {
            var domain = ctx.Oferta.First(f => f.ID_SERVICO == id);

            domain.AceitarOferta();
            ctx.Entry(domain).State = EntityState.Modified;

            var proposta = new PROPOSTA_SERVICO(id, User.Identity.GetId(), obj.VL_PROPOSTA, obj.JUSTIFICATIVA, obj.DURACAO_SERVICO, obj.VALOR_DURACAO_SERVICO);

            ctx.Proposta.Add(proposta);

            ctx.SaveChanges();

            return(RedirectToAction("Index"));
        }
Пример #9
0
 public ActionResult Excluir([DataSourceRequest] DataSourceRequest request, PropostaViewModel item)
 {
     try
     {
         _contexto.Propostas.Remove(_contexto.Propostas.Find(item.PropostaId));
         _contexto.SaveChanges();
         ModelState.IsValidField("true");
     }
     catch (Exception erro)
     {
         ModelState.IsValidField("false");
         ModelState.AddModelError("", erro.Message);
         _contexto.Rollback();
     }
     return(Json(ModelState.ToDataSourceResult()));
 }
Пример #10
0
        public PropostaViewModel PrepararViewModelEdicao(int id)
        {
            var viewModel = new PropostaViewModel(_propostaServico.BuscarPorId(id));

            viewModel.Telefone             = BuscarTelefoneHelper(viewModel.Empresa.Id);
            viewModel.Endereco             = BuscarEnderecoHelper(viewModel.Filial.Id);
            viewModel.HorarioFuncionamento = BuscarHorarioFuncionamentoHelper(viewModel.Filial.Id);

            var pedido = _pedidoSeloServico.BuscarPor(x => x.Proposta.Id == id)?.FirstOrDefault();

            if (pedido != null)
            {
                viewModel.TemPedido = true;
            }

            return(viewModel);
        }
Пример #11
0
        public virtual PropostaViewModel Run(Repository value)
        {
            PropostaViewModel r = (PropostaViewModel)value;

            r.mensagem = new Validate()
            {
                Code = 0, Message = "Registro incluído com sucesso!!"
            };
            try
            {
                ListViewProposta modelPanorama = new ListViewProposta(this.db, this.seguranca_db);
                IEnumerable <PropostaViewModel> listProposta = modelPanorama.Bind(0, 15, r.empreendimentoId, null, null, null, r.propostaId, DateTime.Today, DateTime.Today, null, null);
                if (listProposta == null)
                {
                    throw new ArgumentException();
                }
                else if (listProposta.Count() == 0)
                {
                    throw new ArgumentException();
                }
                else
                {
                    r          = listProposta.FirstOrDefault();
                    r.mensagem = new Validate()
                    {
                        Code = 0, Message = "Registro incluído com sucesso!!"
                    };
                }
            }
            catch (ArgumentException ex)
            {
                r.mensagem = new Validate()
                {
                    Code = 999, MessageBase = ex.Message, Message = "Usuário não autorizado a acessar esta função"
                };
            }
            catch (Exception ex)
            {
                r.mensagem = new Validate()
                {
                    Code = 999, MessageBase = ex.Message, Message = "Usuário não autorizado a acessar esta função"
                };
            }
            return(r);
        }
Пример #12
0
 public ActionResult Atualizar([DataSourceRequest] DataSourceRequest request, PropostaViewModel item)
 {
     if (ModelState.IsValid)
     {
         try
         {
             Proposta dados = Mapper.Map <Proposta>(item);
             dados = _repositorio.Atualizar(dados);
             _contexto.Commit();
         }
         catch (Exception erro)
         {
             ModelState.AddModelError("", erro.Message);
             _contexto.Rollback();
         }
     }
     return(Json(ModelState.ToDataSourceResult()));
 }
        public virtual PropostaViewModel Run(Repository value)
        {
            PropostaViewModel prop = new PropostaViewModel();

            try
            {
                PropostaModel propModel = new PropostaModel(this.db, this.seguranca_db);
                prop.propostaId = ((PropostaViewModel)value).propostaId;
                Proposta p = propModel.Find(prop);
                prop = propModel.MapToRepository(p);
            }
            catch (Exception ex)
            {
                prop.mensagem = new Validate()
                {
                    Code = 999, MessageBase = ex.Message, Message = "Ocorreu um erro na consulta da proposta"
                };
            }
            return(prop);
        }
Пример #14
0
        public void Salvar(PropostaViewModel proposta)
        {
            var entidade = proposta.ToEntity();

            _propostaServico.Salvar(entidade);
        }
Пример #15
0
        // GET: /Proposta/Edit/5
        public ActionResult Edit(int? id)
        {
            Seguranca.ValidaAcesso(7);
            if (id == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }
            Proposta proposta = db.Propostas.Find(id);
            if (proposta == null)
            {
                return HttpNotFound();
            }

            if (UsuarioLogado.LimitaProposta && (proposta.IdUsuario != UsuarioLogado.IdUsuario))
            {
                throw new Exception("Acesso não autorizado");
            }

            var propostaVM = new PropostaViewModel();
            propostaVM.Id = proposta.Id;
            propostaVM.IdUsuario = proposta.IdUsuario;
            propostaVM.DataEntrada = proposta.DataEntrada;
            propostaVM.Nome = proposta.Nome;
            propostaVM.CPF = proposta.CPF;
            propostaVM.DataNascimento = proposta.DataNascimento;
            propostaVM.Matricula = proposta.Matricula;
            propostaVM.SenhaConvenio = proposta.SenhaConvenio;
            propostaVM.IdBancoConta = proposta.IdBancoConta;
            propostaVM.Agencia = proposta.Agencia;
            propostaVM.ContaCorrente = proposta.ContaCorrente;
            propostaVM.IdTipoConta = proposta.IdTipoConta;
            propostaVM.IdUsuarioDigitacao = proposta.IdUsuarioDigitacao;
            propostaVM.DataDigitacao = proposta.DataDigitacao;
            propostaVM.IdBanco = proposta.IdBanco;
            propostaVM.IdConvenio = proposta.IdConvenio;
            propostaVM.ValorParcela = proposta.ValorParcela;
            propostaVM.MargemLivre = proposta.MargemLivre;
            propostaVM.MargemUtilizada = proposta.MargemUtilizada;
            propostaVM.Coeficiente = proposta.Coeficiente;
            propostaVM.QtdeParcelas = proposta.QtdeParcelas;
            propostaVM.ValorContrato = proposta.ValorContrato;
            propostaVM.Tabela = proposta.Tabela;
            propostaVM.DataCoeficiente = proposta.DataCoeficiente;
            propostaVM.Observacao = proposta.Observacao;
            propostaVM.Endereco = proposta.Endereco;
            propostaVM.NumeroEndereco = proposta.NumeroEndereco;
            propostaVM.Bairro = proposta.Bairro;
            propostaVM.Cidade = proposta.Cidade;
            propostaVM.Uf = proposta.Uf;
            propostaVM.Cep = proposta.Cep;
            propostaVM.Complemento = proposta.Complemento;

            var telefones = db.TelefonesProposta.Where(t => t.IdProposta == id).ToList();
            foreach (var t in telefones)
            {
                propostaVM.Telefones.Add(new ItemTelefone { Telefone = t.Telefone, IdTipoTelefone = t.IdTipoTelefone });
            }

            var dividas = db.Dividas.Where(t => t.IdProposta == id).ToList();
            foreach (var d in dividas)
            {
                propostaVM.Dividas.Add(new ItemDivida { IdBanco = d.IdBanco, SaldoDevedor = d.SaldoDevedor, ValorParcela = d.ValorParcela });
            }

            ViewBag.IdBancoConta = new SelectList(db.Bancos, "Id", "Nome", proposta.IdBancoConta);
            ViewBag.IdConvenio = new SelectList(db.Convenios, "Id", "Nome", proposta.IdConvenio);
            ViewBag.IdBanco = new SelectList(db.Bancos, "Id", "Nome", proposta.IdBanco);
            ViewBag.IdTipoConta = new SelectList(db.TiposConta, "Id", "Nome", proposta.IdTipoConta);
            ViewBag.IdUsuario = new SelectList(db.Usuarios, "Id", "Login", proposta.IdUsuario);
            ViewBag.IdUsuarioDigitacao = new SelectList(db.Usuarios, "Id", "Login", proposta.IdUsuarioDigitacao);
            ViewBag.IdTipoTelefone = new SelectList(db.TiposTelefone, "Id", "Nome");
            ViewBag.TiposTelefone = db.TiposTelefone;
            ViewBag.Bancos = db.Bancos;
            return View(propostaVM);
        }
Пример #16
0
        public ActionResult Edit([Bind(Include = "Id,IdUsuario,DataEntrada,Nome,CPF,DataNascimento,Matricula,SenhaConvenio,IdBancoConta,Agencia,ContaCorrente,IdTipoConta,IdUsuarioDigitacao,DataDigitacao,IdBanco,IdConvenio,ValorParcela,MargemLivre,MargemUtilizada,Coeficiente,QtdeParcelas,ValorContrato,Tabela,DataCoeficiente,Observacao,Endereco,NumeroEndereco,Bairro,Cidade,Uf,Cep,Complemento")] PropostaViewModel propostaVM)
        {
            Seguranca.ValidaAcesso(7);
            MontaListaTelefones(Request, propostaVM);
            MontaListaDividas(Request, propostaVM);

            if (ModelState.IsValid)
            {
                propostaVM.CPF = propostaVM.CPF.Replace(".", "").Replace("-", "");
                if (propostaVM.Cep != null)
                {
                    propostaVM.Cep = propostaVM.Cep.Replace("-", "");
                }

                var proposta = new Proposta();
                TransferePropriedades(propostaVM, proposta);

                if (UsuarioLogado.LimitaProposta)
                {
                    proposta.IdUsuario = UsuarioLogado.IdUsuario;
                }

                db.Entry(proposta).State = EntityState.Modified;

                try
                {
                    db.SaveChanges();

                    int?sequencia = db.ObtemSequencia().FirstOrDefault();

                    foreach (var item in propostaVM.Telefones)
                    {
                        db.Database.ExecuteSqlCommand("insert into AuxTelefoneProposta (Seq, IdProposta, IdTipoTelefone, Telefone) values({0}, {1}, {2}, {3})",
                                                      sequencia, proposta.Id, item.IdTipoTelefone, item.Telefone);
                    }
                    db.GravaTelefonesProposta(sequencia, proposta.Id);

                    foreach (var item in propostaVM.Dividas)
                    {
                        db.Database.ExecuteSqlCommand("insert into AuxDividaProposta (Seq, IdProposta, IdBanco, SaldoDevedor, ValorParcela) values({0}, {1}, {2}, {3}, {4})",
                                                      sequencia, proposta.Id, item.IdBanco, item.SaldoDevedor, item.ValorParcela);
                    }
                    db.GravaDividasProposta(sequencia, proposta.Id);
                }
                catch (DbEntityValidationException e)
                {
                    StringBuilder sb = new StringBuilder();
                    foreach (var eve in e.EntityValidationErrors)
                    {
                        sb.AppendLine(string.Format("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                                    eve.Entry.Entity.GetType().Name,
                                                    eve.Entry.State));
                        foreach (var ve in eve.ValidationErrors)
                        {
                            sb.AppendLine(string.Format("- Property: \"{0}\", Error: \"{1}\"",
                                                        ve.PropertyName,
                                                        ve.ErrorMessage));
                        }
                    }
                    throw new DbEntityValidationException(sb.ToString(), e);
                }

                return(RedirectToAction("Index"));
            }
            ViewBag.IdBancoConta       = new SelectList(db.Bancos, "Id", "Nome", propostaVM.IdBancoConta);
            ViewBag.IdConvenio         = new SelectList(db.Convenios, "Id", "Nome", propostaVM.IdConvenio);
            ViewBag.IdBanco            = new SelectList(db.Bancos, "Id", "Nome", propostaVM.IdBanco);
            ViewBag.IdTipoConta        = new SelectList(db.TiposConta, "Id", "Nome", propostaVM.IdTipoConta);
            ViewBag.IdUsuario          = new SelectList(db.Usuarios, "Id", "Login", propostaVM.IdUsuario);
            ViewBag.IdUsuarioDigitacao = new SelectList(db.Usuarios, "Id", "Login", propostaVM.IdUsuarioDigitacao);
            ViewBag.IdTipoTelefone     = new SelectList(db.TiposTelefone, "Id", "Nome");
            ViewBag.TiposTelefone      = db.TiposTelefone;
            ViewBag.Bancos             = db.Bancos;
            return(View(propostaVM));
        }
Пример #17
0
        public ActionResult Create()
        {
            var model = new PropostaViewModel();

            return(View(model));
        }
Пример #18
0
        private void MontaListaDividas(HttpRequestBase request, PropostaViewModel prop)
        {
            int contador = 1;

            string idBanco = request.Form["idbancodivida" + contador];
            while (! String.IsNullOrEmpty(idBanco))
            {
                string saldoDevedor = request.Form["saldodevedordivida" + contador];
                string valorParcela = request.Form["valorparceladivida" + contador];
                if (! String.IsNullOrEmpty(valorParcela))
                {
                    decimal saldo = Convert.ToDecimal(saldoDevedor);
                    prop.Dividas.Add(new ItemDivida { IdBanco = Convert.ToInt16(idBanco), SaldoDevedor = Convert.ToDecimal(saldoDevedor), ValorParcela = Convert.ToDecimal(valorParcela) });

                }
                else
                {
                    prop.Dividas.Add(new ItemDivida { IdBanco = Convert.ToInt16(idBanco), SaldoDevedor = Convert.ToDecimal(saldoDevedor) });
                }

                contador++;
                idBanco = request.Form["idbancodivida" + contador];
            }
        }
Пример #19
0
        private void MontaListaTelefones(HttpRequestBase request, PropostaViewModel usu)
        {
            /*int contTelefone = 1;

            string telefone = request.Form["telefone" + contTelefone];
            while (! String.IsNullOrEmpty(telefone))
            {
                telefone = telefone.Replace("_"," ");
                string tipoTelefone = request.Form["idtipotelefone" + contTelefone];
                if (! String.IsNullOrEmpty(tipoTelefone))
                {
                    usu.Telefones.Add(new ItemTelefone { Telefone = telefone, IdTipoTelefone = Convert.ToInt16(tipoTelefone) });
                }
                else
                {
                    usu.Telefones.Add(new ItemTelefone { Telefone = telefone });
                }

                contTelefone++;
                telefone = Request.Form["telefone" + contTelefone];
            }*/

            string[] telefones = request.Form["telefone"].Split(',');
            string[] idtipostelefone = request.Form["idtipotelefone"].Split(',');

            for (int i = 0; i < telefones.Length; i++)
            {
                usu.Telefones.Add(new ItemTelefone { Telefone = telefones[i], IdTipoTelefone = Convert.ToInt32(idtipostelefone[i]) });
            }
        }
Пример #20
0
 private void TransferePropriedades( PropostaViewModel origem, Proposta destino)
 {
     destino.Id = origem.Id;
     destino.IdUsuario = origem.IdUsuario;
     destino.DataEntrada = origem.DataEntrada;
     destino.Nome = origem.Nome;
     destino.CPF = origem.CPF;
     destino.DataNascimento = origem.DataNascimento;
     destino.Matricula = origem.Matricula;
     destino.SenhaConvenio = origem.SenhaConvenio;
     destino.IdBancoConta = origem.IdBancoConta;
     destino.Agencia = origem.Agencia;
     destino.ContaCorrente = origem.ContaCorrente;
     destino.IdTipoConta = origem.IdTipoConta;
     destino.IdUsuarioDigitacao = origem.IdUsuarioDigitacao;
     destino.DataDigitacao = origem.DataDigitacao;
     destino.IdBanco = origem.IdBanco;
     destino.IdConvenio = origem.IdConvenio;
     destino.ValorParcela = origem.ValorParcela;
     destino.MargemLivre = origem.MargemLivre;
     destino.MargemUtilizada = origem.MargemUtilizada;
     destino.Coeficiente = origem.Coeficiente;
     destino.QtdeParcelas = origem.QtdeParcelas;
     destino.ValorContrato = origem.ValorContrato;
     destino.Tabela = origem.Tabela;
     destino.DataCoeficiente = origem.DataCoeficiente;
     destino.Observacao = origem.Observacao;
     destino.Endereco = origem.Endereco;
     destino.NumeroEndereco = origem.NumeroEndereco;
     destino.Bairro = origem.Bairro;
     destino.Cidade = origem.Cidade;
     destino.Uf = origem.Uf;
     destino.Cep = origem.Cep;
     destino.Complemento = origem.Complemento;
 }
Пример #21
0
 public ActionResult AddItem(PropostaViewModel propostaViewModel)
 {
     return(View(propostaViewModel));
 }
Пример #22
0
        // GET: /Proposta/Edit/5
        public ActionResult Edit(int?id)
        {
            Seguranca.ValidaAcesso(7);
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Proposta proposta = db.Propostas.Find(id);

            if (proposta == null)
            {
                return(HttpNotFound());
            }

            if (UsuarioLogado.LimitaProposta && (proposta.IdUsuario != UsuarioLogado.IdUsuario))
            {
                throw new Exception("Acesso não autorizado");
            }

            var propostaVM = new PropostaViewModel();

            propostaVM.Id                 = proposta.Id;
            propostaVM.IdUsuario          = proposta.IdUsuario;
            propostaVM.DataEntrada        = proposta.DataEntrada;
            propostaVM.Nome               = proposta.Nome;
            propostaVM.CPF                = proposta.CPF;
            propostaVM.DataNascimento     = proposta.DataNascimento;
            propostaVM.Matricula          = proposta.Matricula;
            propostaVM.SenhaConvenio      = proposta.SenhaConvenio;
            propostaVM.IdBancoConta       = proposta.IdBancoConta;
            propostaVM.Agencia            = proposta.Agencia;
            propostaVM.ContaCorrente      = proposta.ContaCorrente;
            propostaVM.IdTipoConta        = proposta.IdTipoConta;
            propostaVM.IdUsuarioDigitacao = proposta.IdUsuarioDigitacao;
            propostaVM.DataDigitacao      = proposta.DataDigitacao;
            propostaVM.IdBanco            = proposta.IdBanco;
            propostaVM.IdConvenio         = proposta.IdConvenio;
            propostaVM.ValorParcela       = proposta.ValorParcela;
            propostaVM.MargemLivre        = proposta.MargemLivre;
            propostaVM.MargemUtilizada    = proposta.MargemUtilizada;
            propostaVM.Coeficiente        = proposta.Coeficiente;
            propostaVM.QtdeParcelas       = proposta.QtdeParcelas;
            propostaVM.ValorContrato      = proposta.ValorContrato;
            propostaVM.Tabela             = proposta.Tabela;
            propostaVM.DataCoeficiente    = proposta.DataCoeficiente;
            propostaVM.Observacao         = proposta.Observacao;
            propostaVM.Endereco           = proposta.Endereco;
            propostaVM.NumeroEndereco     = proposta.NumeroEndereco;
            propostaVM.Bairro             = proposta.Bairro;
            propostaVM.Cidade             = proposta.Cidade;
            propostaVM.Uf                 = proposta.Uf;
            propostaVM.Cep                = proposta.Cep;
            propostaVM.Complemento        = proposta.Complemento;

            var telefones = db.TelefonesProposta.Where(t => t.IdProposta == id).ToList();

            foreach (var t in telefones)
            {
                propostaVM.Telefones.Add(new ItemTelefone {
                    Telefone = t.Telefone, IdTipoTelefone = t.IdTipoTelefone
                });
            }

            var dividas = db.Dividas.Where(t => t.IdProposta == id).ToList();

            foreach (var d in dividas)
            {
                propostaVM.Dividas.Add(new ItemDivida {
                    IdBanco = d.IdBanco, SaldoDevedor = d.SaldoDevedor, ValorParcela = d.ValorParcela
                });
            }

            ViewBag.IdBancoConta       = new SelectList(db.Bancos, "Id", "Nome", proposta.IdBancoConta);
            ViewBag.IdConvenio         = new SelectList(db.Convenios, "Id", "Nome", proposta.IdConvenio);
            ViewBag.IdBanco            = new SelectList(db.Bancos, "Id", "Nome", proposta.IdBanco);
            ViewBag.IdTipoConta        = new SelectList(db.TiposConta, "Id", "Nome", proposta.IdTipoConta);
            ViewBag.IdUsuario          = new SelectList(db.Usuarios, "Id", "Login", proposta.IdUsuario);
            ViewBag.IdUsuarioDigitacao = new SelectList(db.Usuarios, "Id", "Login", proposta.IdUsuarioDigitacao);
            ViewBag.IdTipoTelefone     = new SelectList(db.TiposTelefone, "Id", "Nome");
            ViewBag.TiposTelefone      = db.TiposTelefone;
            ViewBag.Bancos             = db.Bancos;
            return(View(propostaVM));
        }