コード例 #1
0
        public CondominoEditViewModel Run(Repository value)
        {
            CondominoEditViewModel r      = (CondominoEditViewModel)value;
            CondominoEditViewModel result = new CondominoEditViewModel()
            {
                mensagem = new Validate()
                {
                    Code = 0, Message = "Registro processado com sucesso"
                }
            };

            try
            {
                int _empresaId = sessaoCorrente.empresaId;

                if (r.CondominoViewModel is CondominoPFViewModel)
                {
                    #region CondominoPF
                    CondominoPFModel condominoPFModel = new CondominoPFModel(this.db, this.seguranca_db);
                    result.CondominoViewModel = condominoPFModel.getObject((CondominoPFViewModel)r.CondominoViewModel);
                    if (result.CondominoViewModel == null)
                    {
                        result.CondominoViewModel = new CondominoPFViewModel()
                        {
                            mensagem = new Validate()
                        };

                        throw new App_DominioException("Acesso não permitido", "Error");
                    }
                    #endregion
                }
                else
                {
                    #region CondominoPJ
                    CondominoPJModel condominoPJModel = new CondominoPJModel(this.db, this.seguranca_db);
                    result.CondominoViewModel = condominoPJModel.getObject((CondominoPJViewModel)r.CondominoViewModel);
                    if (result.CondominoViewModel == null)
                    {
                        result.CondominoViewModel = new CondominoPJViewModel()
                        {
                            mensagem = new Validate()
                        };

                        throw new App_DominioException("Acesso não permitido", "Error");
                    }
                    #endregion
                }


                CredenciadoModel               CredenciadoModel;
                ListViewCredenciados           ListCredenciados;
                VeiculoModel                   VeiculoModel;
                ListViewVeiculos               ListVeiculos;
                FuncionarioModel               FuncionarioModel;
                ListViewFuncionarios           ListFuncionarios;
                ListViewGrupoCondominoUsuarios ListGrupoCondominoUsuarios;

                if (String.IsNullOrEmpty(value.sessionId))
                {
                    CredenciadoModel           = new CredenciadoModel(this.db, this.seguranca_db);
                    ListCredenciados           = new ListViewCredenciados(this.db, this.seguranca_db);
                    VeiculoModel               = new VeiculoModel(this.db, this.seguranca_db);
                    ListVeiculos               = new ListViewVeiculos(this.db, this.seguranca_db);
                    FuncionarioModel           = new FuncionarioModel(this.db, this.seguranca_db);
                    ListFuncionarios           = new ListViewFuncionarios(this.db, this.seguranca_db);
                    ListGrupoCondominoUsuarios = new ListViewGrupoCondominoUsuarios(this.db, this.seguranca_db);
                }
                else
                {
                    CredenciadoModel           = new CredenciadoModel(this.db, this.seguranca_db, value.sessionId);
                    ListCredenciados           = new ListViewCredenciados(this.db, this.seguranca_db, value.sessionId);
                    VeiculoModel               = new VeiculoModel(this.db, this.seguranca_db, value.sessionId);
                    ListVeiculos               = new ListViewVeiculos(this.db, this.seguranca_db, value.sessionId);
                    FuncionarioModel           = new FuncionarioModel(this.db, this.seguranca_db, value.sessionId);
                    ListFuncionarios           = new ListViewFuncionarios(this.db, this.seguranca_db, value.sessionId);
                    ListGrupoCondominoUsuarios = new ListViewGrupoCondominoUsuarios(this.db, this.seguranca_db, value.sessionId);
                }

                result.CredenciadoViewModel             = CredenciadoModel.CreateRepository();
                result.CredenciadoViewModel.CondominoID = result.CondominoViewModel.CondominoID;
                result.Credenciados = ListCredenciados.Bind(0, 50, result.CondominoViewModel.CondominoID);


                #region Veículos

                result.VeiculoViewModel = VeiculoModel.CreateRepository();
                result.VeiculoViewModel.CondominioID = sessaoCorrente.empresaId;
                result.VeiculoViewModel.EdificacaoID = r.UnidadeViewModel.EdificacaoID;
                result.VeiculoViewModel.UnidadeID    = r.UnidadeViewModel.UnidadeID;
                result.VeiculoViewModel.CondominoID  = result.CondominoViewModel.CondominoID;

                result.Veiculos = ListVeiculos.Bind(0, 50, result.VeiculoViewModel.CondominioID, result.VeiculoViewModel.EdificacaoID, result.VeiculoViewModel.UnidadeID, result.VeiculoViewModel.CondominoID);
                #endregion

                #region Funcionários
                result.FuncionarioViewModel = FuncionarioModel.CreateRepository();
                result.FuncionarioViewModel.CondominioID = sessaoCorrente.empresaId;
                result.FuncionarioViewModel.EdificacaoID = r.UnidadeViewModel.EdificacaoID;
                result.FuncionarioViewModel.UnidadeID    = r.UnidadeViewModel.UnidadeID;
                result.FuncionarioViewModel.CondominoID  = result.CondominoViewModel.CondominoID;

                result.Funcionarios = ListFuncionarios.Bind(0, 50, result.FuncionarioViewModel.CondominioID, result.FuncionarioViewModel.EdificacaoID, result.FuncionarioViewModel.UnidadeID, result.FuncionarioViewModel.CondominoID);
                #endregion

                #region Grupo de Condôminos

                result.GrupoCondominoUsuarios = ListGrupoCondominoUsuarios.Bind(0, 50, result.CondominoViewModel.CondominoID);
                #endregion

                #region Unidade
                result.UnidadeViewModel = new UnidadeViewModel()
                {
                    CondominioID        = _empresaId,
                    EdificacaoID        = r.UnidadeViewModel.EdificacaoID,
                    EdificacaoDescricao = r.UnidadeViewModel.EdificacaoID > 0 ? db.Edificacaos.Find(r.UnidadeViewModel.EdificacaoID).Descricao : "",
                    UnidadeID           = r.UnidadeViewModel.UnidadeID,
                    Codigo = db.Unidades.Find(_empresaId, r.UnidadeViewModel.EdificacaoID, r.UnidadeViewModel.UnidadeID).Codigo,
                };
                #endregion

                if (SessaoLocal.CondominoID > 0)
                {
                    #region Valida permissão do usuário para editar o condômino
                    if (r.CondominoViewModel.CondominoID != SessaoLocal.CondominoID)
                    {
                        throw new App_DominioException("Acesso não permitido", "Error");
                    }
                    bool flag = false;
                    foreach (Unidade unidade in SessaoLocal.Unidades)
                    {
                        if (r.UnidadeViewModel.UnidadeID == unidade.UnidadeID && r.UnidadeViewModel.EdificacaoID == unidade.EdificacaoID)
                        {
                            flag = true;
                        }
                    }
                    if (!flag)
                    {
                        throw new App_DominioException("Acesso não permitido", "Error");
                    }
                    #endregion
                }
            }
            catch (ArgumentException ex)
            {
                result.CondominoViewModel.mensagem = new Validate()
                {
                    Code = 999, Message = MensagemPadrao.Message(999).ToString(), MessageBase = ex.Message
                };
            }
            catch (App_DominioException ex)
            {
                result.CondominoViewModel.mensagem.Code = 999;

                if (ex.InnerException != null)
                {
                    result.CondominoViewModel.mensagem.MessageBase = new App_DominioException(ex.InnerException.Message ?? ex.Message, GetType().FullName).Message;
                }
                else
                {
                    result.CondominoViewModel.mensagem.MessageBase = new App_DominioException(ex.Message, GetType().FullName).Message;
                }
            }
            catch (DbUpdateException ex)
            {
                result.CondominoViewModel.mensagem.MessageBase = ex.InnerException.InnerException.Message ?? ex.Message;
                if (result.CondominoViewModel.mensagem.MessageBase.ToUpper().Contains("REFERENCE"))
                {
                    if (result.CondominoViewModel.mensagem.MessageBase.ToUpper().Contains("DELETE"))
                    {
                        result.CondominoViewModel.mensagem.Code        = 16;
                        result.CondominoViewModel.mensagem.Message     = MensagemPadrao.Message(16).ToString();
                        result.CondominoViewModel.mensagem.MessageType = MsgType.ERROR;
                    }
                    else
                    {
                        result.CondominoViewModel.mensagem.Code        = 28;
                        result.CondominoViewModel.mensagem.Message     = MensagemPadrao.Message(28).ToString();
                        result.CondominoViewModel.mensagem.MessageType = MsgType.ERROR;
                    }
                }
                else if (result.CondominoViewModel.mensagem.MessageBase.ToUpper().Contains("PRIMARY"))
                {
                    result.CondominoViewModel.mensagem.Code        = 37;
                    result.CondominoViewModel.mensagem.Message     = MensagemPadrao.Message(37).ToString();
                    result.CondominoViewModel.mensagem.MessageType = MsgType.WARNING;
                }
                else if (result.CondominoViewModel.mensagem.MessageBase.ToUpper().Contains("UNIQUE KEY"))
                {
                    result.CondominoViewModel.mensagem.Code        = 54;
                    result.CondominoViewModel.mensagem.Message     = MensagemPadrao.Message(54).ToString();
                    result.CondominoViewModel.mensagem.MessageType = MsgType.WARNING;
                }
                else
                {
                    result.CondominoViewModel.mensagem.Code        = 44;
                    result.CondominoViewModel.mensagem.Message     = MensagemPadrao.Message(44).ToString();
                    result.CondominoViewModel.mensagem.MessageType = MsgType.ERROR;
                }
            }
            catch (System.Data.Entity.Validation.DbEntityValidationException ex)
            {
                result.CondominoViewModel.mensagem = new Validate()
                {
                    Code = 42, Message = MensagemPadrao.Message(42).ToString(), MessageBase = ex.EntityValidationErrors.Select(m => m.ValidationErrors.First().ErrorMessage).First()
                };
            }
            catch (Exception ex)
            {
                result.CondominoViewModel.mensagem.Code        = 17;
                result.CondominoViewModel.mensagem.Message     = MensagemPadrao.Message(17).ToString();
                result.CondominoViewModel.mensagem.MessageBase = new App_DominioException(ex.InnerException.InnerException.Message ?? ex.Message, GetType().FullName).Message;
                result.CondominoViewModel.mensagem.MessageType = MsgType.ERROR;
            }
            return(result);
        }
コード例 #2
0
        public RegisterViewModel Run(Repository value)
        {
            RegisterViewModel r = (RegisterViewModel)value;

            try
            {
                int _empresaId = int.Parse(db.Parametros.Find(r.CondominioID, (int)Enumeracoes.Enumeradores.Param.EMPRESA).Valor);
                int _grupoId   = int.Parse(db.Parametros.Find(r.CondominioID, (int)Enumeracoes.Enumeradores.Param.GRUPO_USUARIO).Valor);

                #region validar cadastro
                Validate validate = Validate(r);
                if (validate.Code > 0)
                {
                    throw new ArgumentException(validate.MessageBase);
                }
                #endregion

                #region Cadastrar o condômino como um usuário em DWM-Segurança

                #region Usuario
                EmpresaSecurity <SecurityContext> security = new EmpresaSecurity <SecurityContext>();

                Usuario user = new Usuario()
                {
                    nome        = r.Nome.Trim().Length > 40 ? r.Nome.Substring(0, 40).ToUpper() : r.Nome.Trim().ToUpper(),
                    login       = r.Email,
                    empresaId   = _empresaId,
                    dt_cadastro = Funcoes.Brasilia(),
                    situacao    = r.UnidadeViewModel.Validador != null && r.UnidadeViewModel.Validador != "" ? "A" : "D",
                    isAdmin     = "N",
                    senha       = security.Criptografar(r.senha)
                };

                seguranca_db.Usuarios.Add(user);
                #endregion

                #region UsuarioGrupo
                UsuarioGrupo ug = new UsuarioGrupo()
                {
                    Usuario  = user,
                    grupoId  = _grupoId,
                    situacao = "A"
                };

                seguranca_db.UsuarioGrupos.Add(ug);
                #endregion

                seguranca_db.SaveChanges();

                #endregion

                #region Incluir Condômino
                CondominoViewModel condomino = null;
                if (r.UnidadeViewModel.TipoCondomino == "F")
                {
                    #region Incluir o Condômino PF
                    condomino = new CondominoPFViewModel()
                    {
                        uri             = r.uri,
                        empresaId       = _empresaId,
                        CondominoID     = r.CondominoID,
                        CondominioID    = r.CondominioID,
                        Nome            = r.Nome,
                        IndFiscal       = r.IndFiscal,
                        IndProprietario = r.IndProprietario,
                        TelParticular1  = r.TelParticular1,
                        TelParticular2  = r.TelParticular2,
                        Email           = r.Email,
                        IndSituacao     = r.UnidadeViewModel.Validador != null && r.UnidadeViewModel.Validador != "" ? "A" : "D",
                        UsuarioID       = user.usuarioId,
                        ProfissaoID     = r.ProfissaoID,
                        DataNascimento  = r.DataNascimento,
                        Sexo            = r.Sexo,
                        IndAnimal       = r.IndAnimal,
                    };

                    CondominoPFModel condominoPFModel = new CondominoPFModel(this.db, this.seguranca_db);
                    condomino = condominoPFModel.Insert((CondominoPFViewModel)condomino);
                    if (condomino.mensagem.Code > 0)
                    {
                        #region Exclui o usuário
                        seguranca_db.UsuarioGrupos.Remove(ug);
                        seguranca_db.Usuarios.Remove(user);
                        seguranca_db.SaveChanges();
                        #endregion
                        throw new App_DominioException(condomino.mensagem);
                    }
                    #endregion
                }
                else
                {
                    #region Incluir o Condômino PJ
                    condomino = new CondominoPJViewModel()
                    {
                        uri             = r.uri,
                        empresaId       = _empresaId,
                        CondominoID     = r.CondominoID,
                        CondominioID    = r.CondominioID,
                        Nome            = r.Nome,
                        IndFiscal       = r.IndFiscal,
                        IndProprietario = r.IndProprietario,
                        TelParticular1  = r.TelParticular1,
                        TelParticular2  = r.TelParticular2,
                        Email           = r.Email,
                        IndSituacao     = r.UnidadeViewModel.Validador != null && r.UnidadeViewModel.Validador != "" ? "A" : "D",
                        UsuarioID       = user.usuarioId,
                        Administrador   = r.Administrador,
                        RamoAtividadeID = r.RamoAtividadeID,
                    };

                    CondominoPJModel condominoPJModel = new CondominoPJModel(this.db, this.seguranca_db);
                    condomino = condominoPJModel.Insert((CondominoPJViewModel)condomino);
                    if (condomino.mensagem.Code > 0)
                    {
                        #region Exclui o usuário
                        seguranca_db.UsuarioGrupos.Remove(ug);
                        seguranca_db.Usuarios.Remove(user);
                        seguranca_db.SaveChanges();
                        #endregion
                        throw new App_DominioException(condomino.mensagem);
                    }
                    #endregion
                }
                #endregion

                #region Incluir o CondominoUnidade
                CondominoUnidadeViewModel condominoUnidadeViewModel = new CondominoUnidadeViewModel()
                {
                    uri                = r.uri,
                    CondominioID       = r.UnidadeViewModel.CondominioID,
                    EdificacaoID       = r.UnidadeViewModel.EdificacaoID,
                    UnidadeID          = r.UnidadeViewModel.UnidadeID,
                    CondominoID        = r.CondominoID,
                    DataInicio         = Funcoes.Brasilia().Date,
                    CondominoViewModel = condomino
                };

                CondominoUnidadeModel condominoUnidadeModel = new CondominoUnidadeModel(this.db, this.seguranca_db);
                condominoUnidadeViewModel = condominoUnidadeModel.Insert(condominoUnidadeViewModel);
                if (condominoUnidadeViewModel.mensagem.Code > 0)
                {
                    throw new App_DominioException(condomino.mensagem);
                }
                #endregion

                r.CondominoID = condomino.CondominoID;
                r.IndSituacao = condomino.IndSituacao;
                r.mensagem    = condomino.mensagem;
                r.UnidadeViewModel.EdificacaoDescricao = db.Edificacaos.Find(r.UnidadeViewModel.EdificacaoID).Descricao;
                db.SaveChanges();
            }
            catch (ArgumentException ex)
            {
                r.mensagem = new Validate()
                {
                    Code = 999, Message = MensagemPadrao.Message(999).ToString(), MessageBase = ex.Message
                };
            }
            catch (App_DominioException ex)
            {
                r.mensagem = ex.Result;

                if (ex.InnerException != null)
                {
                    r.mensagem.MessageBase = new App_DominioException(ex.InnerException.Message ?? ex.Message, GetType().FullName).Message;
                }
                else
                {
                    r.mensagem.MessageBase = new App_DominioException(ex.Result.Message, GetType().FullName).Message;
                }
            }
            catch (DbUpdateException ex)
            {
                r.mensagem.MessageBase = ex.InnerException.InnerException.Message ?? ex.Message;
                if (r.mensagem.MessageBase.ToUpper().Contains("REFERENCE"))
                {
                    if (r.mensagem.MessageBase.ToUpper().Contains("DELETE"))
                    {
                        r.mensagem.Code        = 16;
                        r.mensagem.Message     = MensagemPadrao.Message(16).ToString();
                        r.mensagem.MessageType = MsgType.ERROR;
                    }
                    else
                    {
                        r.mensagem.Code        = 28;
                        r.mensagem.Message     = MensagemPadrao.Message(28).ToString();
                        r.mensagem.MessageType = MsgType.ERROR;
                    }
                }
                else if (r.mensagem.MessageBase.ToUpper().Contains("PRIMARY"))
                {
                    r.mensagem.Code        = 37;
                    r.mensagem.Message     = MensagemPadrao.Message(37).ToString();
                    r.mensagem.MessageType = MsgType.WARNING;
                }
                else if (r.mensagem.MessageBase.ToUpper().Contains("UNIQUE KEY"))
                {
                    r.mensagem.Code        = 54;
                    r.mensagem.Message     = MensagemPadrao.Message(54).ToString();
                    r.mensagem.MessageType = MsgType.WARNING;
                }
                else
                {
                    r.mensagem.Code        = 44;
                    r.mensagem.Message     = MensagemPadrao.Message(44).ToString();
                    r.mensagem.MessageType = MsgType.ERROR;
                }
            }
            catch (System.Data.Entity.Validation.DbEntityValidationException ex)
            {
                r.mensagem = new Validate()
                {
                    Code = 42, Message = MensagemPadrao.Message(42).ToString(), MessageBase = ex.EntityValidationErrors.Select(m => m.ValidationErrors.First().ErrorMessage).First()
                };
            }
            catch (Exception ex)
            {
                r.mensagem.Code        = 17;
                r.mensagem.Message     = MensagemPadrao.Message(17).ToString();
                r.mensagem.MessageBase = new App_DominioException(ex.InnerException.InnerException.Message ?? ex.Message, GetType().FullName).Message;
                r.mensagem.MessageType = MsgType.ERROR;
            }
            return(r);
        }
コード例 #3
0
        public CondominoViewModel Run(Repository value)
        {
            CondominoViewModel c;
            CondominoViewModel r;

            if (value is CondominoPFViewModel)
            {
                c = (CondominoPFViewModel)value;
                r = new CondominoPFViewModel();
            }
            else
            {
                c = (CondominoPJViewModel)value;
                r = new CondominoPJViewModel();
            }
            try
            {
                if (SessaoLocal.CondominoID > 0)
                {
                    r.CondominoID = SessaoLocal.CondominoID;
                    if (value is CondominoPFViewModel)
                    {
                        CondominoPFModel model = new CondominoPFModel(this.db, this.seguranca_db);
                        r = model.getObject((CondominoPFViewModel)r);
                    }
                    else
                    {
                        // escrever aqui o código para recuperar o condomino PJ
                    }
                }
                else
                {
                    r.mensagem = new Validate()
                    {
                        Code = 0
                    }
                };
            }
            catch (DbUpdateException ex)
            {
                r.mensagem.MessageBase = ex.InnerException.InnerException.Message ?? ex.Message;
                if (r.mensagem.MessageBase.ToUpper().Contains("REFERENCE"))
                {
                    if (r.mensagem.MessageBase.ToUpper().Contains("DELETE"))
                    {
                        r.mensagem.Code        = 16;
                        r.mensagem.Message     = MensagemPadrao.Message(16).ToString();
                        r.mensagem.MessageType = MsgType.ERROR;
                    }
                    else
                    {
                        r.mensagem.Code        = 28;
                        r.mensagem.Message     = MensagemPadrao.Message(28).ToString();
                        r.mensagem.MessageType = MsgType.ERROR;
                    }
                }
                else if (r.mensagem.MessageBase.ToUpper().Contains("PRIMARY"))
                {
                    r.mensagem.Code        = 37;
                    r.mensagem.Message     = MensagemPadrao.Message(37).ToString();
                    r.mensagem.MessageType = MsgType.WARNING;
                }
                else if (r.mensagem.MessageBase.ToUpper().Contains("UNIQUE KEY"))
                {
                    r.mensagem.Code        = 54;
                    r.mensagem.Message     = MensagemPadrao.Message(54).ToString();
                    r.mensagem.MessageType = MsgType.WARNING;
                }
                else
                {
                    r.mensagem.Code        = 44;
                    r.mensagem.Message     = MensagemPadrao.Message(44).ToString();
                    r.mensagem.MessageType = MsgType.ERROR;
                }
            }
            catch (System.Data.Entity.Validation.DbEntityValidationException ex)
            {
                r.mensagem = new Validate()
                {
                    Code = 42, Message = MensagemPadrao.Message(42).ToString(), MessageBase = ex.EntityValidationErrors.Select(m => m.ValidationErrors.First().ErrorMessage).First()
                };
            }
            catch (Exception ex)
            {
                r.mensagem.Code        = 17;
                r.mensagem.Message     = MensagemPadrao.Message(17).ToString();
                r.mensagem.MessageBase = new App_DominioException(ex.InnerException.InnerException.Message ?? ex.Message, GetType().FullName).Message;
                r.mensagem.MessageType = MsgType.ERROR;
            }
            return(r);
        }
コード例 #4
0
        public CondominoUnidadeViewModel Run(Repository value)
        {
            CondominoUnidadeViewModel cu = (CondominoUnidadeViewModel)value;

            cu.mensagem = new Validate()
            {
                Code = 0, Message = "Registro incluído com sucesso"
            };

            CondominoPFViewModel Cond = new CondominoPFViewModel()
            {
                CondominioID = cu.CondominioID,
                CondominoID  = cu.CondominoID,
            };

            CondominoPFModel     model = new CondominoPFModel(this.db, this.seguranca_db);
            CondominoPFViewModel r     = model.getObject(Cond);

            try
            {
                r.IndSituacao = "A";
                r.uri         = value.uri;
                r             = model.Update(r);
                db.SaveChanges();

                #region envio de e-mail ao condômino para notificação de ativação
                int EmailTemplateID = int.Parse(db.Parametros.Find(sessaoCorrente.empresaId, (int)Enumeracoes.Enumeradores.Param.EMAIL_TEMPLATE_ATIVACAO_CONDOMINO).Valor);
                EmailLogViewModel EmailLogViewModel = new EmailLogViewModel()
                {
                    UsuarioID            = sessaoCorrente.usuarioId,
                    uri                  = value.uri,
                    empresaId            = sessaoCorrente.empresaId,
                    EmailTipoID          = (int)DWM.Models.Enumeracoes.Enumeradores.EmailTipo.ATIVACAO_CONDOMINO,
                    CondominioID         = sessaoCorrente.empresaId,
                    EdificacaoID         = cu.EdificacaoID,
                    Descricao_Edificacao = db.Edificacaos.Find(cu.EdificacaoID).Descricao,
                    UnidadeID            = cu.UnidadeID,
                    Email                = r.Email,
                    DataEmail            = Funcoes.Brasilia(),
                    Nome                 = r.Nome,
                    Assunto              = db.EmailTipos.Find((int)Enumeracoes.Enumeradores.EmailTipo.ATIVACAO_CONDOMINO, sessaoCorrente.empresaId).Assunto,
                    EmailMensagem        = db.EmailTemplates.Find(EmailTemplateID).EmailMensagem,
                    Repository           = r
                };

                EmailNotificacaoBI notificacaoBI = new EmailNotificacaoBI(this.db, this.seguranca_db);
                EmailLogViewModel = notificacaoBI.Run(EmailLogViewModel);
                if (EmailLogViewModel.mensagem.Code > 0)
                {
                    throw new App_DominioException(EmailLogViewModel.mensagem);
                }

                EmailLogViewModel.Repository = r;
                IEnumerable <EmailLogViewModel> EmailLogPessoas = notificacaoBI.List(EmailLogViewModel);

                foreach (EmailLogViewModel log in EmailLogPessoas)
                {
                    Alerta alerta = new Alerta()
                    {
                        usuarioId  = r.UsuarioID.Value, // log.UsuarioID.Value,
                        sistemaId  = sessaoCorrente.sistemaId,
                        dt_emissao = Funcoes.Brasilia(),
                        linkText   = "Ativação - " + r.Nome.Split(' ')[0] + " " + r.Nome.Split(' ')[1],
                        url        = "../Condomino/Index?id=" + r.CondominoID.ToString() + "&EdificacaoID=" + cu.EdificacaoID.ToString() + "&UnidadeID=" + cu.UnidadeID.ToString() + "&TipoPessoa=PF",
                        mensagem   = "<b>" + Funcoes.Brasilia().ToString("dd/MM/yyyy HH:mm") + "h</b><p>Ativação - " + r.Nome.Split(' ')[0] + " " + r.Nome.Split(' ')[1] + "</p>"
                    };

                    seguranca_db.Alertas.Add(alerta);
                }
                #endregion
            }
            catch (ArgumentException ex)
            {
                cu.mensagem = new Validate()
                {
                    Code = 997, Message = MensagemPadrao.Message(997).ToString(), MessageBase = ex.Message
                };
            }
            catch (App_DominioException ex)
            {
                cu.mensagem = ex.Result;

                if (ex.InnerException != null)
                {
                    cu.mensagem.MessageBase = new App_DominioException(ex.InnerException.Message ?? ex.Message, GetType().FullName).Message;
                }
                else
                {
                    cu.mensagem.MessageBase = new App_DominioException(ex.Result.Message, GetType().FullName).Message;
                }
            }
            catch (DbUpdateException ex)
            {
                cu.mensagem.MessageBase = ex.InnerException.InnerException.Message ?? ex.Message;
                if (cu.mensagem.MessageBase.ToUpper().Contains("REFERENCE") || cu.mensagem.MessageBase.ToUpper().Contains("FOREIGN"))
                {
                    if (cu.mensagem.MessageBase.ToUpper().Contains("DELETE"))
                    {
                        cu.mensagem.Code        = 16;
                        cu.mensagem.Message     = MensagemPadrao.Message(16).ToString();
                        cu.mensagem.MessageType = MsgType.ERROR;
                    }
                    else
                    {
                        cu.mensagem.Code        = 28;
                        cu.mensagem.Message     = MensagemPadrao.Message(28).ToString();
                        cu.mensagem.MessageType = MsgType.ERROR;
                    }
                }
                else if (cu.mensagem.MessageBase.ToUpper().Contains("PRIMARY"))
                {
                    cu.mensagem.Code        = 37;
                    cu.mensagem.Message     = MensagemPadrao.Message(37).ToString();
                    cu.mensagem.MessageType = MsgType.WARNING;
                }
                else if (cu.mensagem.MessageBase.ToUpper().Contains("UNIQUE KEY"))
                {
                    cu.mensagem.Code        = 54;
                    cu.mensagem.Message     = MensagemPadrao.Message(54).ToString();
                    cu.mensagem.MessageType = MsgType.WARNING;
                }
                else
                {
                    cu.mensagem.Code        = 44;
                    cu.mensagem.Message     = MensagemPadrao.Message(44).ToString();
                    cu.mensagem.MessageType = MsgType.ERROR;
                }
            }
            catch (System.Data.Entity.Validation.DbEntityValidationException ex)
            {
                cu.mensagem = new Validate()
                {
                    Code = 42, Message = MensagemPadrao.Message(42).ToString(), MessageBase = ex.EntityValidationErrors.Select(m => m.ValidationErrors.First().ErrorMessage).First()
                };
            }
            catch (Exception ex)
            {
                cu.mensagem.Code        = 17;
                cu.mensagem.Message     = MensagemPadrao.Message(17).ToString();
                cu.mensagem.MessageBase = new App_DominioException(ex.InnerException.InnerException.Message ?? ex.Message, GetType().FullName).Message;
                cu.mensagem.MessageType = MsgType.ERROR;
            }
            return(cu);
        }