// 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); }
protected override void OnActionExecuting(ActionExecutingContext filterContext) { var serialized = Request.Form["apolice"]; if (serialized != null) { // Form was posted containing serialized data _apolice = (Apolice)new MvcSerializer().Deserialize(serialized); try { TryUpdateModel(_apolice); } catch (Exception) { _apolice = (Apolice)TempData["apolice"] ?? new Apolice(); } } else { _apolice = (Apolice)TempData["apolice"] ?? new Apolice(); } }
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); }
public ActionResult Review(Apolice apolice) { apolice.Seguradora = db.Seguradora.Find(apolice.CodigoSeguradora); _apolice = apolice; 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); }