예제 #1
0
        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();
            }
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }