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 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); }