public CredenciadoViewModel Run(Repository value)
        {
            CredenciadoViewModel rec = (CredenciadoViewModel)value;
            string habilitaEmail     = db.Parametros.Find(sessaoCorrente.empresaId, (int)Enumeracoes.Enumeradores.Param.HABILITA_EMAIL).Valor;

            if (habilitaEmail == "S")
            {
                int _empresaId = sessaoCorrente.empresaId;
                int _sistemaId = int.Parse(db.Parametros.Find(_empresaId, (int)Enumeracoes.Enumeradores.Param.SISTEMA).Valor);

                Sistema          sistema                 = seguranca_db.Sistemas.Find(_sistemaId);
                Condominio       condominio              = db.Condominios.Find(sessaoCorrente.empresaId);
                CondominoUnidade CondominoUnidade        = db.CondominoUnidades.Where(info => info.CondominoID == rec.CondominoID && !info.DataFim.HasValue).FirstOrDefault();
                Edificacao       Edificacao              = db.Edificacaos.Find(CondominoUnidade.EdificacaoID);
                Credenciado      Credenciado             = db.Credenciados.Where(info => info.Email == rec.Email).FirstOrDefault();
                Unidade          Unidade                 = db.Unidades.Find(_empresaId, CondominoUnidade.EdificacaoID, CondominoUnidade.UnidadeID);
                string           DescricaoTipoEdificacao = DWMSessaoLocal._GetTipoEdificacao(_empresaId, this.db).Descricao;

                rec.empresaId = _empresaId;

                SendEmail sendMail = new SendEmail();

                MailAddress   sender     = new MailAddress(condominio.RazaoSocial + " <" + condominio.Email + ">");
                List <string> recipients = new List <string>();

                recipients.Add(rec.Nome + "<" + rec.Email + ">");

                string Subject = "Confirmação de cadastro no " + condominio.RazaoSocial;
                string Text    = "<p>Confirmação de cadastro</p>";
                string Html    = "<p><span style=\"font-family: Verdana; font-size: larger; color: #656464\">" + sistema.descricao + "</span></p>" +
                                 "<p><span style=\"font-family: Verdana; font-size: xx-large; color: #0094ff\">" + rec.Nome.ToUpper() + "</span></p>" +
                                 "<p></p>" +
                                 "<p><span style=\"font-family: Verdana; font-size: small; color: #000\">" + DescricaoTipoEdificacao + ": <b>" + Edificacao.Descricao + "</b></span></p>" +
                                 "<p></p>" +
                                 "<p><span style=\"font-family: Verdana; font-size: small; color: #000\">Unidade: <b>" + Unidade.Codigo + "</b></span></p>" +
                                 "<p></p>" +
                                 "<p><span style=\"font-family: Verdana; font-size: small; color: #000\">Essa é uma mensagem de confirmação de seu cadastro de credenciado. Seu registro no Sistema Administrativo do " + condominio.RazaoSocial + " foi realizado com sucesso.</span></p>" +
                                 "<p></p>";

                Html += "<p></p>" +
                        "<p><span style=\"font-family: Verdana; font-size: small; color: #000\">Seu Login de acesso é: </span></p>" +
                        "<p></p>" +
                        "<p><span style=\"font-family: Verdana; font-size: xx-large; color: #0094ff\">" + rec.Email + "</span></p>" +
                        "<p></p>" +
                        "<p><span style=\"font-family: Verdana; font-size: small; color: #000\">Clique no link abaixo para ativar o seu cadastro e acessar o sistema:</span></p>" +
                        "<p><a href=\"http://www.parcparadiso.com.br/Account/AtivarCredenciado?id=" + Credenciado.UsuarioID.ToString() + "&key=" + rec.mensagem.Field + "\" target=\"_blank\"><span style=\"font-family: Verdana; font-size: small; color: #0094ff\">Acesso ao " + sistema.descricao + "</span></a></p>" +
                        "<p></p>" +
                        "<p><span style=\"font-family: Verdana; font-size: small; color: #000\">Observação: este link estará disponível para ativação por 24 h</span></p>" +
                        "<hr />";

                Html += "<p></p>" +
                        "<p></p>" +
                        "<p><span style=\"font-family: Verdana; font-size: small; color: #000\">Através do sistema o credenciado poderá:</span></p>" +
                        "<p></p>" +
                        "<p><span style=\"font-family: Verdana; font-size: small; color: #000\">- Consultar os documentos e comunicados oficiais do condomínio postados pelo síndico.</span></p>" +
                        "<p><span style=\"font-family: Verdana; font-size: small; color: #000\">- Consultar os comunicados específicos destinados a sua torre.</span></p>" +
                        "<p><span style=\"font-family: Verdana; font-size: small; color: #000\">- Abrir chamados à administração como por exemplo fazer o registro de uma ocorrência ou uma solicitação.</ span></p>" +
                        "<p><span style=\"font-family: Verdana; font-size: small; color: #000\">- Receber mensagens e alertas personalizados.</ span></p>" +
                        "<p><span style=\"font-family: Verdana; font-size: small; color: #000\">- Consultar o histórico de notificações.</ span></p>" +
                        "<hr />" +
                        "<p></p>" +
                        "<p><span style=\"font-family: Verdana; font-size: small; color: #000\">Além desses recursos, estaremos implementando outras novidades. Aguarde !</span></p>" +
                        "<p>&nbsp;</p>" +
                        "<p>&nbsp;</p>" +
                        "<p><span style=\"font-family: Verdana; font-size: small; color: #000\">Obrigado,</span></p>" +
                        "<p><span style=\"font-family: Verdana; font-size: small; color: #000\">Administração " + condominio.RazaoSocial + "</span></p>";

                Validate result = sendMail.Send(sender, recipients, Html, Subject, Text);
                if (result.Code > 0)
                {
                    result.MessageBase = "Seu cadastro foi realizado com sucesso, mas por falhas de comunicação não foi possível enviar seu e-mail de confirmação. Favor entrar em contato com [email protected] e solicite seu e-mail de ativação.";
                    throw new App_DominioException(result);
                }
            }
            rec.mensagem = new Validate()
            {
                Code = 0, Message = MensagemPadrao.Message(0).ToString(), MessageType = MsgType.SUCCESS
            };
            return(rec);
        }
예제 #2
0
        public ActionResult EditCredenciado(CredenciadoViewModel CredenciadoViewModel, string Operacao)
        {
            if (ModelState.IsValid)
            {
                int    CredenciadoViewModel_CondominoID            = CredenciadoViewModel.CondominoID;
                int    CredenciadoViewModel_CredenciadoID          = CredenciadoViewModel.CredenciadoID;
                int?   CredenciadoViewModel_UsuarioID              = CredenciadoViewModel.UsuarioID;
                string CredenciadoViewModel_Nome                   = CredenciadoViewModel.Nome;
                string CredenciadoViewModel_Email                  = CredenciadoViewModel.Email;
                int    CredenciadoViewModel_TipoCredenciadoID      = CredenciadoViewModel.TipoCredenciadoID;
                string CredenciadoViewModel_Observacao             = CredenciadoViewModel.Observacao;
                string CredenciadoViewModel_Sexo                   = CredenciadoViewModel.Sexo;
                string CredenciadoViewModel_IndVisitantePermanente = CredenciadoViewModel.IndVisitantePermanente;

                if (ViewBag.ValidateRequest)
                {
                    CondominoEditViewModel result = null;
                    try
                    {
                        #region Incluir/Editar Credenciado
                        result = new CondominoEditViewModel()
                        {
                            UnidadeViewModel     = new UnidadeViewModel(),
                            CondominoViewModel   = new CondominoPFViewModel(),
                            CredenciadoViewModel = new CredenciadoViewModel()
                            {
                                CredenciadoID          = CredenciadoViewModel_CredenciadoID,
                                CondominoID            = CredenciadoViewModel_CondominoID,
                                Nome                   = CredenciadoViewModel_Nome,
                                Email                  = CredenciadoViewModel_Email,
                                TipoCredenciadoID      = CredenciadoViewModel_TipoCredenciadoID,
                                Sexo                   = CredenciadoViewModel_Sexo,
                                Observacao             = CredenciadoViewModel_Observacao,
                                UsuarioID              = CredenciadoViewModel_UsuarioID,
                                IndVisitantePermanente = CredenciadoViewModel_IndVisitantePermanente,
                                mensagem               = new App_Dominio.Contratos.Validate()
                                {
                                    Code = 0
                                }
                            },
                            mensagem = new App_Dominio.Contratos.Validate()
                            {
                                Code = 0
                            }
                        };

                        result.CredenciadoViewModel.uri = this.ControllerContext.Controller.GetType().Name.Replace("Controller", "") + "/" + this.ControllerContext.RouteData.Values["action"].ToString();
                        FactoryLocalhost <CredenciadoViewModel, ApplicationContext> factory = new FactoryLocalhost <CredenciadoViewModel, ApplicationContext>();
                        result.Credenciados = factory.Execute(new EditarCredenciadoBI(Operacao), result.CredenciadoViewModel, CredenciadoViewModel_CondominoID, Operacao);
                        if (factory.Mensagem.Code > 0)
                        {
                            throw new App_DominioException(factory.Mensagem);
                        }

                        //if (result.CredenciadoViewModel.CredenciadoID == 0 && !string.IsNullOrEmpty(result.CredenciadoViewModel.Email) )
                        //{
                        //    #region envio de e-mail ao credenciado para ativação
                        //    result.CredenciadoViewModel.mensagem.Field = factory.Mensagem.Field; // senha do credenciado
                        //    CredenciadoViewModel repository = factory.Execute(new EnviarEmailCredenciadoBI(), result.CredenciadoViewModel);
                        //    if (repository.mensagem.Code > 0)
                        //        throw new ArgumentException(repository.mensagem.MessageBase);
                        //    #endregion
                        //}

                        CredenciadoModel CredenciadoModel = new CredenciadoModel();
                        result.CredenciadoViewModel             = CredenciadoModel.CreateRepository(Request);
                        result.CredenciadoViewModel.CondominoID = CredenciadoViewModel_CondominoID;
                        #endregion

                        Success("Registro processado com sucesso");
                    }
                    catch (App_DominioException ex)
                    {
                        ModelState.AddModelError("", ex.Result.MessageBase); // mensagem amigável ao usuário
                        Error(ex.Result.Message);                            // Mensagem em inglês com a descrição detalhada do erro e fica no topo da tela
                    }
                    catch (Exception ex)
                    {
                        App_DominioException.saveError(ex, GetType().FullName);
                        ModelState.AddModelError("", MensagemPadrao.Message(17).ToString()); // mensagem amigável ao usuário
                        Error(ex.Message);                                                   // Mensagem em inglês com a descrição detalhada do erro e fica no topo da tela
                    }

                    return(View("_Credenciado", result));
                }
                else
                {
                    return(View());
                }
            }
            else
            {
                CondominoEditViewModel result = new CondominoEditViewModel()
                {
                    UnidadeViewModel   = new UnidadeViewModel(),
                    CondominoViewModel = new CondominoPFViewModel()
                    {
                        CondominoID = CredenciadoViewModel.CondominoID
                    },
                    CredenciadoViewModel = CredenciadoViewModel
                };

                Factory <CondominoEditViewModel, ApplicationContext> factory = new Factory <CondominoEditViewModel, ApplicationContext>();
                CondominoEditViewModel obj = factory.Execute(new EditarCondominoBI(), result);
                result.Credenciados = obj.Credenciados;

                Error("Erro de preenhcimento em campos");

                return(View("_Credenciado", result));
            }
        }