// GET: Apolice/Create public ActionResult Create(int? propostaId) { Apolice apolice = new Apolice(); PropostaDAO propostaDao = new PropostaDAO(); apolice.Proposta = propostaDao.GetProposta(propostaId); apolice.Seguradoras = db.Seguradora.ToList(); apolice.ValorContrato = 0; return View(apolice); }
// GET: Apolice/Details/5 public ActionResult Details(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } Apolice apolice = db.Apolice.Find(id); PropostaDAO propostaDao = new PropostaDAO(); propostaDao.GetProposta(apolice.CodigoProposta); apolice.Proposta = propostaDao.GetProposta(apolice.CodigoProposta); apolice.Comissao = db.Comissao.Find(apolice.CodigoComissao); apolice.Seguradora = db.Seguradora.Find(apolice.CodigoSeguradora); if (apolice == null) { return HttpNotFound(); } return View(apolice); }
public ViewResult AceitarProposta(string email, string codigoProposta, string codigoApolice) { ApoliceDAO apoliceDao = new ApoliceDAO(); int status = (int)Status.APROVADO; string emailCorretor = apoliceDao.ObterEmailDoCorretorEValidarEmail(email, codigoProposta, codigoApolice); if (emailCorretor != null) { //Mudando Status da proposta para fins de organização PropostaDAO propostaDao = new PropostaDAO(); propostaDao.MudarStatus(int.Parse(codigoProposta), (int)StatusProposta.COMAPOLICEACEITA); //Mudando Status da Apolice apoliceDao.MudarStatus(status, email, codigoProposta, codigoApolice); //Excluir apolices Rejeitadas apoliceDao.ExcluirApolicesRejeitadas(codigoProposta, codigoApolice); //Montando Email string url = Request.Url.Authority; UtilEmailMessage utilEmail = new UtilEmailMessage(); StringBuilder corpoDoEmail = new StringBuilder(); corpoDoEmail.Append("<div><h1>BUSCA SEGUROS</h1></div><br/>"); corpoDoEmail.Append("<div><h2>Apolice Aceita - Codigo da Apolice: " + codigoApolice + "</h2></div>"); corpoDoEmail.Append("<br/><br/>"); corpoDoEmail.Append("<div>Parabéns Corretor, o seu cliente acaba de aceitar o contrato<br/>"); corpoDoEmail.Append("confira agora mesmo a Apolice e entre em contato com o nosso Cliente</div>"); corpoDoEmail.Append("<br/><br/>"); corpoDoEmail.Append("<div><a href='http://" + url + "/Apolice/Details/" + codigoApolice + "'><h1>Abrir Apolice Aprovada</h1></a></div>"); utilEmail.EnviarEmail("[BUSCA SEGUROS] Apolice " + codigoApolice + " Aceita pelo Cliente", emailCorretor, corpoDoEmail.ToString()); //return View(emailCorretor); //TODO: Redirecionar para a view de sucesso return View(); } else { return View(); } }
public ActionResult Delete(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } PropostaDAO propostaDao = new PropostaDAO(); Proposta proposta = propostaDao.GetProposta(id); if (proposta == null) { return HttpNotFound(); } return View(proposta); }
public ActionResult Passo5(string btnVoltar, string btnAvancar) { if (btnVoltar != null) { return RedirectToAction("Passo4"); } else if (btnAvancar != null && ModelState.IsValid) { try { PropostaDAO propostaDAO = new PropostaDAO(); propostaDAO.Insert(_proposta); return RedirectToAction("Passo6"); } catch (DbEntityValidationException ex) { // Retrieve the error messages as a list of strings. var errorMessages = ex.EntityValidationErrors .SelectMany(x => x.ValidationErrors) .Select(x => x.ErrorMessage); // Join the list to a single string. var fullErrorMessage = string.Join("; ", errorMessages); // Combine the original exception message with the new one. var exceptionMessage = string.Concat(ex.Message, " The validation errors are: ", fullErrorMessage); // Throw a new DbEntityValidationException with the improved exception message. throw new DbEntityValidationException(exceptionMessage, ex.EntityValidationErrors); }catch(Exception e) { throw new Exception("stack" + e.StackTrace); } } var errors = ModelState.Values.SelectMany(v => v.Errors); return View(_proposta); }
public ViewResult Index(Proposta propostaSearch, string sortOrder, string currentFilter, int? page) { string searchString = ""; ViewBag.CurrentSort = sortOrder; ViewBag.StatusParm = String.IsNullOrEmpty(sortOrder) ? "status_desc" : ""; ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "nome_desc" : "nome"; ViewBag.CpfSortParm = String.IsNullOrEmpty(sortOrder) ? "cpf_desc" : "cpf"; if (searchString != null) { page = 1; } else { searchString = currentFilter; } ViewBag.CurrentFilter = searchString; //old List<Proposta> propostas = db.Proposta.ToList(); List<Proposta> propostasCompleta = new List<Proposta>(); PropostaDAO propostaDAO = new PropostaDAO(); foreach (Proposta proposta in propostas) { propostasCompleta.Add(propostaDAO.GetProposta(proposta.Id)); } //buscas if (StatusProposta.NENHUM != propostaSearch.Status) { propostasCompleta = propostasCompleta.Where(a => (int)a.Status == (int)propostaSearch.Status).ToList(); } if (propostaSearch != null && propostaSearch.Segurado != null && propostaSearch.Segurado.Nome != null) { propostasCompleta = propostasCompleta.Where(a => a.Segurado.Nome.IndexOf(propostaSearch.Segurado.Nome, StringComparison.OrdinalIgnoreCase) >= 0).ToList(); } switch (sortOrder) { case "status_desc": propostasCompleta = propostasCompleta.OrderByDescending(p => p.Status).ToList(); break; case "nome_desc": propostasCompleta = propostasCompleta.OrderByDescending(p => p.Segurado.Nome).ToList(); break; case "nome": propostasCompleta = propostasCompleta.OrderBy(p => p.Segurado.Nome).ToList(); break; case "cpf": propostasCompleta = propostasCompleta.OrderBy(p => p.Segurado.CodigoCpf).ToList(); break; case "cpf_desc": propostasCompleta = propostasCompleta.OrderByDescending(p => p.Segurado.CodigoCpf).ToList(); break; default: // Name ascending propostasCompleta = propostasCompleta.OrderBy(p => p.Segurado.Nome).ToList(); break; } int pageSize = 15; int pageNumber = (page ?? 1); PagedList<Proposta> propostaList = new PagedList<Proposta>(propostasCompleta, pageNumber, pageSize); return View(propostaList); }
public ActionResult Edit(Proposta proposta) { db.Entry(proposta).State = EntityState.Modified; PropostaDAO propostaDao = new PropostaDAO(); propostaDao.Save(proposta); return RedirectToAction("Index"); }
public ActionResult Edit(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } PropostaDAO propostaDao = new PropostaDAO(); Proposta proposta = propostaDao.GetProposta(id); proposta.Coberturas = db.Cobertura.ToList(); if (proposta == null) { return HttpNotFound(); } return View(proposta); }
public ActionResult SendForm(Apolice apolice) { //if (ModelState.IsValid) //{ db.Comissao.Add(apolice.Comissao); db.SaveChanges(); apolice.CodigoComissao = apolice.Comissao.Id; db.Apolice.Add(apolice); db.SaveChanges(); PropostaDAO propostaDao = new PropostaDAO(); Proposta proposta = propostaDao.GetProposta(apolice.CodigoProposta); //Mudando Status para fins de organização propostaDao.MudarStatus(proposta.Id, (int)StatusProposta.ATENDIDO); //criando valor da proposta do condutor ValorProposta valorProposta = new ValorProposta(); valorProposta.Valor = apolice.ValorContrato; valorProposta.CodigoCondutor = proposta.Segurado.Id; valorProposta.DataVencimento = new DateTime(2016, 05, 12); valorProposta.CodigoApolice = apolice.Id; db.ValorProposta.Add(valorProposta); db.SaveChanges(); //} Usuario usuario = (Usuario)Session["UsuarioLogado"]; //PREPARANDO EMAIL apolice.Seguradora = db.Seguradora.Find(apolice.CodigoSeguradora); apolice.formularioApoliceHtml = apolice.formularioApoliceHtml.Replace("#seguradoraEmail", apolice.Seguradora.NomeSeguradora.ToString()); apolice.formularioApoliceHtml = apolice.formularioApoliceHtml.Replace("#valorContratoEmail", apolice.ValorContrato.ToString()); apolice.formularioApoliceHtml = apolice.formularioApoliceHtml.Replace("#corretorEmail", "Seu Corretor - " + usuario.Nome); string url = Request.Url.AbsoluteUri.Replace(Request.Url.AbsolutePath,""); apolice.formularioApoliceHtml = apolice.formularioApoliceHtml.Replace("#EnderecoConfirmaEmail", url + "/Proposta/AceitarProposta?" + "email=" + proposta.Segurado.Email + "&codigoProposta=" + apolice.CodigoProposta + "&codigoApolice=" + apolice.Id); UtilEmailMessage utilEmail = new UtilEmailMessage(); utilEmail.EnviarEmail("[BUSCA SEGUROS] Sua Proposta de Cotação de Seguro", proposta.Segurado.Email, apolice.formularioApoliceHtml); return View(apolice); }
// GET: Apolice public ViewResult Index(Apolice apoliceSearch, string sortOrder, string currentFilter, int? page) { string searchString = ""; //List<Apolice> apolices = db.Apolice.ToList(); //foreach (Apolice apolice in apolices) //{ // PropostaDAO propostaDao = new PropostaDAO(); // propostaDao.GetProposta(apolice.CodigoProposta); // apolice.Proposta = propostaDao.GetProposta(apolice.CodigoProposta); // apolice.Comissao = db.Comissao.Find(apolice.CodigoComissao); // apolice.Seguradora = db.Seguradora.Find(apolice.CodigoSeguradora); //} //return View(apolices); //TODO ViewBag.CurrentSort = sortOrder; ViewBag.StatusSortParm = String.IsNullOrEmpty(sortOrder) ? "status_desc" : ""; ViewBag.NomeSeguradoSortParm = String.IsNullOrEmpty(sortOrder) ? "nomeSegurado_desc" : "nomeSegurado"; ViewBag.SeguradoraSortParm = String.IsNullOrEmpty(sortOrder) ? "seguradora_desc" : "seguradora"; ViewBag.VeiculoSortParm = String.IsNullOrEmpty(sortOrder) ? "veiculo_desc" : "veiculo"; ViewBag.ValorPremioLiquidoVeiculoSortParm = String.IsNullOrEmpty(sortOrder) ? "valorPremioLiquido_desc" : "valorPremioLiquido"; if (searchString != null) { page = 1; } else { searchString = currentFilter; } ViewBag.CurrentFilter = searchString; //TODO: Fazer uma consulta só List<Apolice> apolices = db.Apolice.ToList(); foreach (Apolice apolice in apolices) { PropostaDAO propostaDao = new PropostaDAO(); apolice.Proposta = propostaDao.GetProposta(apolice.CodigoProposta); apolice.Comissao = db.Comissao.Find(apolice.CodigoComissao); apolice.Seguradora = db.Seguradora.Find(apolice.CodigoSeguradora); } //buscas if (Status.NENHUM != apoliceSearch.Status) { apolices = apolices.Where(a => (int)a.Status == (int)apoliceSearch.Status).ToList(); } if(apoliceSearch.Proposta != null && apoliceSearch.Proposta.Segurado != null && apoliceSearch.Proposta.Segurado.Nome != null) { apolices = apolices.Where(a => a.Proposta.Segurado.Nome.IndexOf(apoliceSearch.Proposta.Segurado.Nome, StringComparison.OrdinalIgnoreCase) >= 0).ToList(); } //ordenação switch (sortOrder) { case "status_desc": apolices = apolices.OrderByDescending(a => (int)a.Status).ToList(); break; case "nomeSegurado": apolices = apolices.OrderBy(a => a.Proposta.Segurado.Nome).ToList(); break; case "nomeSegurado_desc": apolices = apolices.OrderByDescending(a => a.Proposta.Segurado.Nome).ToList(); break; case "seguradora": apolices = apolices.OrderBy(a => a.Seguradora.NomeSeguradora).ToList(); break; case "seguradora_desc": apolices = apolices.OrderByDescending(a => a.Seguradora.NomeSeguradora).ToList(); break; case "veiculo": apolices = apolices.OrderBy(a => a.Proposta.NomeVeiculo).ToList(); break; case "veiculo_desc": apolices = apolices.OrderByDescending(a => a.Proposta.NomeVeiculo).ToList(); break; case "valorPremioLiquido": apolices = apolices.OrderBy(a => a.Proposta.NomeVeiculo).ToList(); break; case "valorPremioLiquido_desc": apolices = apolices.OrderByDescending(a => a.Comissao.ValorComissaoLiquida).ToList(); break; default: // Status ascending apolices = apolices.OrderBy(a => (int)a.Status).ToList(); break; } int pageSize = 10; int pageNumber = (page ?? 1); PagedList<Apolice> apoliceList = new PagedList<Apolice>(apolices, pageNumber, pageSize); return View(apoliceList); }
public ActionResult Edit(Apolice apolice) { apolice = _apolice; //if (ModelState.IsValid) //{ db.Comissao.Add(apolice.Comissao); db.SaveChanges(); apolice.CodigoComissao = apolice.Comissao.Id; //modificando a antiga para Flag de modificada ApoliceDAO apoliceDao = new ApoliceDAO(); apoliceDao.MudarStatus(apolice.Id, apolice.CodigoProposta, (int)Status.ENDOSSADO); apoliceDao.MudarParaModificado(apolice.Id); PropostaDAO propostaDao = new PropostaDAO(); //Mudar Proposta Antiga para Proposta Endossada propostaDao.MudarStatus(apolice.CodigoProposta, (int)StatusProposta.ENDOSSADA); //Inserindo nova proposta do Endosso apolice.Proposta.Id = propostaDao.InsertForEndosso(apolice.Proposta); apolice.CodigoProposta = apolice.Proposta.Id; //Criacao de endosso Endosso endosso = new Endosso(); //salvando codigo antigo da apolice endosso.CodApoliceAntigo = apolice.Id; endosso.DataEndosso = DateTime.Now; //Mudança de Status da Apolice ao Criar um Endosso apolice.Status = Status.ENVIADO; //criando nova Apolice db.Apolice.Add(apolice); db.SaveChanges(); //adicionando pagamento //criando valor da proposta do condutor ValorProposta valorProposta = new ValorProposta(); valorProposta.Valor = apolice.ValorContrato; valorProposta.CodigoCondutor = apolice.Proposta.codigoSegurado; valorProposta.DataVencimento = new DateTime(2016, 05, 12); valorProposta.CodigoApolice = apolice.Id; db.ValorProposta.Add(valorProposta); db.SaveChanges(); //adicionando Id da apolice Nova endosso.CodApolice = apolice.Id; //Salvando Endosso e Apolice nova db.Endosso.Add(endosso); db.SaveChanges(); //Enviando Email de endosso para o Cliente Usuario usuario = (Usuario)Session["UsuarioLogado"]; //PREPARANDO EMAIL apolice.Seguradora = db.Seguradora.Find(apolice.CodigoSeguradora); apolice.formularioApoliceHtml = apolice.formularioApoliceHtml.Replace("#seguradoraEmail", apolice.Seguradora.NomeSeguradora.ToString()); apolice.formularioApoliceHtml = apolice.formularioApoliceHtml.Replace("#valorContratoEmail", apolice.ValorContrato.ToString()); apolice.formularioApoliceHtml = apolice.formularioApoliceHtml.Replace("#corretorEmail", "Seu Corretor - " + usuario.Nome); string url = Request.Url.AbsoluteUri.Replace(Request.Url.AbsolutePath, ""); apolice.formularioApoliceHtml = apolice.formularioApoliceHtml.Replace("#EnderecoConfirmaEmail", url + "/Proposta/AceitarProposta?" + "email=" + apolice.Proposta.Segurado.Email + "&codigoProposta=" + apolice.CodigoProposta + "&codigoApolice=" + apolice.Id); UtilEmailMessage utilEmail = new UtilEmailMessage(); utilEmail.EnviarEmail("[BUSCA SEGUROS] Endosso de Sua Proposta de Cotação de Seguro", apolice.Proposta.Segurado.Email, apolice.formularioApoliceHtml); return RedirectToAction("SendEndosso"); //} //return View(apolice); }