示例#1
0
        public List <ListaPerfisViewModel> GetAllPerfilUsuario()
        {
            List <ListaPerfisViewModel> perfis = new List <ListaPerfisViewModel>();

            using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities())
            {
                ListaPerfisViewModel LPVM;
                var pessoas  = db.Negocio_Pessoa.ToList();
                var usuarios = db.RBAC_Usuario.ToList();

                //u = RBAC_Usuario | p = Negocio_Pessoa | r = RBAC_Perfil
                foreach (RBAC_Usuario u in db.RBAC_Usuario)
                {
                    LPVM           = new ListaPerfisViewModel();
                    LPVM.Email     = u.Username;
                    LPVM.Bloqueado = u.Bloqueado == true ? "Bloqueado" : "desbloqueado";

                    var p = db.Negocio_Pessoa.Find(u.Pessoa_ID);

                    if (p != null)
                    {
                        LPVM.NmCompleto   = p.Primeiro_Nome + " " + p.Sobrenome;
                        LPVM.CPF          = p.CPF;
                        LPVM.RG           = p.RG;
                        LPVM.TelPrincipal = p.Tel_Principal;
                    }

                    perfis.Add(LPVM);
                }
            }
            return(perfis);
        }
示例#2
0
        public ActionResult AlterarSenha(AlterarSenhaViewModel model)
        {
            using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities())
            {
                if (!ModelState.IsValid)
                {
                    return(View(model));
                }

                string       userEmail = User.Identity.Name;
                RBAC_Usuario RU        = db.RBAC_Usuario.Where(o => o.Username.Equals(userEmail)).FirstOrDefault();
                if (RU == null)
                {
                    return(RedirectToAction("AlterarSenhaConfirmacao", "Gerenciar"));
                }

                var result = _userStore.ChangePassword(RU.Usuario_ID, model);
                if (result.Equals(OperationStatus.Success))
                {
                    return(RedirectToAction("AlterarSenhaConfirmacao", "Gerenciar"));
                }
                AddErrors(result);
                return(View());
            }
        }
示例#3
0
        public void DeletePermissao(int permissaoID)
        {
            using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities())
            {
                using (var dbContextTransaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        foreach (RBAC_Link_Perfil_Permissao lpp in db.RBAC_Link_Perfil_Permissao)
                        {
                            if (lpp.Permissao_ID == permissaoID)
                            {
                                db.RBAC_Link_Perfil_Permissao.Remove(lpp);
                                db.SaveChanges();
                            }
                        }

                        var permissao = db.RBAC_Permissao.Find(permissaoID);
                        if (permissao != null)
                        {
                            db.RBAC_Permissao.Remove(permissao);
                            db.SaveChanges();
                        }

                        dbContextTransaction.Commit();
                    }
                    catch
                    {
                        dbContextTransaction.Rollback();
                    }
                }
            }
        }
示例#4
0
 public bool GetEmailUsernameExist(string Email)
 {
     using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities())
     {
         return(db.RBAC_Usuario.Where(o => o.Username.Equals(Email)).Any());
     }
 }
示例#5
0
        public List <ListaUsuariosPerfilViewModel> GetUsuariosDePerfil(string nmPerfil)
        {
            using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities())
            {
                List <ListaUsuariosPerfilViewModel> usuarios = new List <ListaUsuariosPerfilViewModel>();
                ListaUsuariosPerfilViewModel        LUPVM;
                RBAC_Usuario   uTemp;
                Negocio_Pessoa pTemp;
                int            pid = db.RBAC_Perfil.Where(o => o.Perfil_Nome.Equals(nmPerfil)).FirstOrDefault().Perfil_ID;
                foreach (RBAC_Link_Usuario_Perfil lup in db.RBAC_Link_Usuario_Perfil)
                {
                    if (lup.Perfil_ID == pid)
                    {
                        uTemp = db.RBAC_Usuario.Find(lup.Usuario_ID);
                        pTemp = db.Negocio_Pessoa.Find(uTemp.Pessoa_ID);

                        LUPVM             = new ListaUsuariosPerfilViewModel();
                        LUPVM.usuarioID   = uTemp.Usuario_ID;
                        LUPVM.Email       = uTemp.Username;
                        LUPVM.UsuarioNome = pTemp.Primeiro_Nome + " " + pTemp.Sobrenome;

                        usuarios.Add(LUPVM);
                    }
                }
                return(usuarios);
            }
        }
示例#6
0
 public string GetUsuarioPerfilRBACNome(int usuarioID)
 {
     using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities())
     {
         RBAC_Link_Usuario_Perfil linkUP = db.RBAC_Link_Usuario_Perfil.Where(o => o.Usuario_ID == usuarioID).FirstOrDefault();
         RBAC_Perfil perfilRBAC          = db.RBAC_Perfil.Where(o => o.Perfil_ID == linkUP.Perfil_ID).FirstOrDefault();
         return(perfilRBAC.Perfil_Nome);
     }
 }
示例#7
0
        public void AddPermission(CriarPermissaoRBACViewModel permissao)
        {
            using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities())
            {
                RBAC_Permissao rbacPermissao = new RBAC_Permissao();
                rbacPermissao.Permissao_Nome = permissao.PermissaoNm;

                db.RBAC_Permissao.Add(rbacPermissao);
                db.SaveChanges();
            }
        }
示例#8
0
        public void AddUsuarioPerfil(RBAC_Link_Usuario_Perfil vinculo)
        {
            using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities())
            {
                RBAC_Link_Usuario_Perfil linkUP = new RBAC_Link_Usuario_Perfil();
                linkUP.Perfil_ID  = vinculo.Perfil_ID;
                linkUP.Usuario_ID = vinculo.Usuario_ID;

                db.RBAC_Link_Usuario_Perfil.Add(linkUP);
                db.SaveChanges();
            }
        }
示例#9
0
        public void AddPermissaoPerfil(VinculoPerfilPermissaoViewModel vinculo)
        {
            using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities())
            {
                RBAC_Link_Perfil_Permissao linkPP = new RBAC_Link_Perfil_Permissao();
                linkPP.Perfil_ID    = vinculo.PerfilID;
                linkPP.Permissao_ID = vinculo.PermissaoID;

                db.RBAC_Link_Perfil_Permissao.Add(linkPP);
                db.SaveChanges();
            }
        }
示例#10
0
 public int GetPessoaIDporNome(string nmCompleto)
 {
     using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities())
     {
         var pessoa = db.Negocio_Pessoa.Where(o => (o.Primeiro_Nome + o.Sobrenome).Equals(nmCompleto));
         if (pessoa.Any())
         {
             return(pessoa.FirstOrDefault().Pessoa_ID);
         }
     }
     return(0);
 }
示例#11
0
 public int GetPessoaIDporEmail(string Email)
 {
     using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities())
     {
         var pessoa = db.Negocio_Pessoa.Where(o => o.Email.Equals(Email));
         if (pessoa.Any())
         {
             return(pessoa.FirstOrDefault().Pessoa_ID);
         }
     }
     return(0);
 }
示例#12
0
        public void AddRole(CriarPerfilRBACViewModel perfil)
        {
            using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities())
            {
                RBAC_Perfil rbacPerfil = new RBAC_Perfil();
                rbacPerfil.Perfil_Nome = perfil.PerfilNm;
                rbacPerfil.Descricao   = perfil.Descricao;

                db.RBAC_Perfil.Add(rbacPerfil);
                db.SaveChanges();
            }
        }
示例#13
0
 public int GetUsuarioID(string Email)
 {
     using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities())
     {
         var usuario = db.RBAC_Usuario.Where(o => o.Username.Equals(Email)).FirstOrDefault().Usuario_ID;
         //if (usuario.Any())
         //{
         //    return usuario.FirstOrDefault().Usuario_ID;
         //}
         return(usuario);
     }
     //return 0;
 }
示例#14
0
 public string GetUsuarioEndereco(int pessoaID)
 {
     using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities())
     {
         var    endereco = db.Negocio_Endereco.Where(o => o.Pessoa_ID == pessoaID && o.Ativo == true).FirstOrDefault();
         var    bsEnd    = db.Negocio_Base_Endereco.Where(o => o.CEP.Equals(endereco.CEP)).FirstOrDefault();
         string end      = endereco.CEP + "\n" +
                           bsEnd.Logradouro + ", " + endereco.Numero.ToString() + ", " + endereco.Complemento + " - " + bsEnd.Bairro + "\n" +
                           bsEnd.Cidade + " - " + bsEnd.Estado + "\n" +
                           bsEnd.Pais;
         return(end);
     }
 }
示例#15
0
        public async Task UpdateContaUsuario(PerfilDeUsuarioViewModel usuario)
        {
            using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities())
            {
                using (var dbContextTransaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        RBAC_Usuario u = db.RBAC_Usuario.Find(usuario.UsuarioID);

                        u.Usuario_ID = usuario.UsuarioID;
                        u.Username   = usuario.Email;
                        //u.Senha_Hash = usuario.SenhaHash; (Foram retirados de PerfilDeUsuarioViewModel (AccountViewModel.cs))
                        //u.Salt = usuario.Salt;
                        //u.Dt_Criacao = usuario.DtCriacao;
                        u.Dt_Ultima_Modif = DateTime.Now;
                        u.Bloqueado       = usuario.Bloqueado == "Bloqueado" ? true : false;

                        db.Entry(u).State = EntityState.Modified;
                        await db.SaveChangesAsync();

                        var pessoa = db.Negocio_Pessoa.Where(o => o.Pessoa_ID == usuario.PessoaID).FirstOrDefault();;
                        if (pessoa != null)
                        {
                            //Negocio_Pessoa p = pessoa.FirstOrDefault();
                            //pessoa.Pessoa_ID = usuario.PessoaID;
                            pessoa.Primeiro_Nome = usuario.PrimeiroNome;
                            pessoa.Sobrenome     = usuario.Sobrenome;
                            pessoa.CPF           = usuario.CPF;
                            pessoa.RG            = usuario.RG;
                            pessoa.Sexo          = usuario.Sexo;
                            pessoa.Dt_Nascimento = usuario.DtNascimento;
                            pessoa.Tel_Principal = usuario.TelPrincipal;
                            pessoa.Tel_Opcional  = usuario.TelSecundario;
                            pessoa.Email         = usuario.Email;
                            //p.Email_Confirmado = usuario.EmailConfirmado;
                            //pessoa.Tot_Notif_NL = pessoa.Tot_Notif_NL;

                            db.Entry(pessoa).State = EntityState.Modified;
                            await db.SaveChangesAsync();
                        }

                        dbContextTransaction.Commit();
                    }
                    catch
                    {
                        dbContextTransaction.Rollback();
                    }
                }
            }
        }
示例#16
0
        public PerfilDeUsuarioViewModel GetPerfilUsuario(string nomeUsuario)
        {
            PerfilDeUsuarioViewModel PUVM = new PerfilDeUsuarioViewModel();

            using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities())
            {
                RBAC_Usuario usuario = db.RBAC_Usuario.Where(o => o.Username.Equals(nomeUsuario)).FirstOrDefault();

                if (nomeUsuario.Equals("Admin"))
                {
                    PUVM.UsuarioID     = usuario.Usuario_ID;
                    PUVM.PessoaID      = 0;
                    PUVM.Email         = "Sem Email";
                    PUVM.PrimeiroNome  = "Nome de Usuario" + nomeUsuario;
                    PUVM.Sobrenome     = "Sem sobrenome";
                    PUVM.CPF           = "Sem CPF";
                    PUVM.RG            = "Sem RG";
                    PUVM.Sexo          = "Sem Sexo";
                    PUVM.DtNascimento  = DateTime.Now;
                    PUVM.TelPrincipal  = "Sem Tel Principal";
                    PUVM.TelSecundario = "Sem Tel Secundario";
                    PUVM.EndCompleto   = "Sem Endereço";
                    PUVM.DtModif       = DateTime.Now;
                    PUVM.Bloqueado     = "Desbloqueado";
                    PUVM.Perfil        = GetUsuarioPerfilRBACNome(usuario.Usuario_ID) + usuario.RBAC_Link_Usuario_Perfil.FirstOrDefault().RBAC_Perfil.RBAC_Link_Perfil_Permissao.FirstOrDefault().RBAC_Permissao.Permissao_Nome;
                }
                else
                {
                    Negocio_Pessoa pessoa = db.Negocio_Pessoa.Find(usuario.Pessoa_ID);

                    PUVM.UsuarioID     = usuario.Usuario_ID;
                    PUVM.PessoaID      = pessoa.Pessoa_ID;
                    PUVM.Email         = pessoa.Email;
                    PUVM.PrimeiroNome  = pessoa.Primeiro_Nome;
                    PUVM.Sobrenome     = pessoa.Sobrenome;
                    PUVM.CPF           = pessoa.CPF;
                    PUVM.RG            = pessoa.RG;
                    PUVM.Sexo          = pessoa.Sexo;
                    PUVM.DtNascimento  = pessoa.Dt_Nascimento.Value;
                    PUVM.TelPrincipal  = pessoa.Tel_Principal;
                    PUVM.TelSecundario = pessoa.Tel_Opcional;
                    PUVM.EndCompleto   = GetUsuarioEndereco(pessoa.Pessoa_ID);
                    PUVM.DtModif       = usuario.Dt_Ultima_Modif.Value;
                    PUVM.Bloqueado     = usuario.Bloqueado.Value ? "Bloqueado" : "Desbloqueado";
                    PUVM.Perfil        = GetUsuarioPerfilRBACNome(usuario.Usuario_ID);
                }
                return(PUVM);
            }
        }
示例#17
0
 public string GetUsuarioSalt(string Email)
 {
     using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities())
     {
         var usuario = db.RBAC_Usuario.Where(o => o.Username.Equals(Email));
         if (usuario.Any())
         {
             return(usuario.FirstOrDefault().Salt);
         }
         else
         {
             return(string.Empty);
         }
     }
 }
示例#18
0
 public int GetPermissaoID(string nmPermissao)
 {
     using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities())
     {
         var permissao = db.RBAC_Permissao.Where(o => o.Permissao_Nome.Equals(nmPermissao));
         if (permissao.Any())
         {
             return(permissao.FirstOrDefault().Permissao_ID);
         }
         else
         {
             return(0);
         }
     }
 }
示例#19
0
 public string GetPermissaoNome(int id)
 {
     using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities())
     {
         var permissao = db.RBAC_Permissao.Where(o => o.Permissao_ID == id);
         if (permissao.Any())
         {
             return(permissao.FirstOrDefault().Permissao_Nome);
         }
         else
         {
             return(string.Empty);
         }
     }
 }
示例#20
0
 public bool GetUsuarioBloqueado(string Email)
 {
     using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities())
     {
         var usuario = db.RBAC_Usuario.Where(o => o.Username.Equals(Email));
         if (usuario.Any())
         {
             return(usuario.FirstOrDefault().Bloqueado.Value);
         }
         else
         {
             return(false);
         }
     }
 }
示例#21
0
 public string GetPerfilDescricao(int id)
 {
     using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities())
     {
         var perfil = db.RBAC_Perfil.Where(o => o.Perfil_ID == id);
         if (perfil.Any())
         {
             return(perfil.FirstOrDefault().Descricao);
         }
         else
         {
             return(string.Empty);
         }
     }
 }
示例#22
0
        public bool IsPermissaoInPerfisDeUsuario(int usuarioID, string permission)
        {
            using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities())
            {
                if (usuarioID != 0)
                {
                    int perfilID = db.RBAC_Link_Usuario_Perfil.Where(o => o.Usuario_ID == usuarioID).FirstOrDefault().Perfil_ID;

                    var  _permissao = db.RBAC_Link_Perfil_Permissao.Where(o => o.Perfil_ID == perfilID & o.RBAC_Permissao.Permissao_Nome.Equals(permission)).FirstOrDefault();
                    bool found      = _permissao != null ? true : false;
                    return(found);
                }
                return(false);
            }
        }
示例#23
0
 public string GetEmailUsernameByNome(string nmCompleto)
 {
     using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities())
     {
         int pessoaID = GetPessoaIDporNome(nmCompleto);
         var usuario  = db.RBAC_Usuario.Where(o => o.Pessoa_ID == pessoaID);
         if (usuario.Any())
         {
             return(usuario.FirstOrDefault().Username);
         }
         else
         {
             return(string.Empty);
         }
     }
 }
示例#24
0
 public bool ConfirmEmail(string email)
 {
     using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities())
     {
         Negocio_Pessoa pessoa = db.Negocio_Pessoa.Where(o => o.Email.Equals(email)).FirstOrDefault();
         if (!pessoa.Email_Confirmado.Value)
         {
             pessoa.Email_Confirmado = true;
             db.Entry(pessoa).State  = EntityState.Modified;
             db.SaveChanges();
             return(true);
         }
         else
         {
             return(false);
         }
     }
 }
示例#25
0
 public bool IsPermissaoEmPerfil(string nmPerfil, string nmPermissao)
 {
     using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities())
     {
         RBAC_Permissao permissao = db.RBAC_Permissao.Where(o => o.Permissao_Nome.ToLower().Equals(nmPermissao)).FirstOrDefault();
         if (permissao != null)
         {
             var perfilRBAC = from q in db.RBAC_Link_Perfil_Permissao
                              join r in db.RBAC_Perfil
                              on q.Perfil_ID equals r.Perfil_ID
                              where r.Perfil_Nome.Equals(nmPerfil) && q.Permissao_ID.Equals(permissao.Permissao_ID)
                              select r.Perfil_Nome;
             if (perfilRBAC != null)
             {
                 return(perfilRBAC.Any());
             }
         }
         return(false);
     }
 }
示例#26
0
 public bool IsUsuarioInPerfil(string usuarioNome, string perfilNome)
 {
     using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities())
     {
         RBAC_Usuario usuario = db.RBAC_Usuario.Where(o => o.Username.ToLower().Equals(usuarioNome))?.FirstOrDefault();
         if (usuario != null)
         {
             var perfilRBAC = from q in db.RBAC_Link_Usuario_Perfil
                              join r in db.RBAC_Perfil
                              on q.Perfil_ID equals r.Perfil_ID
                              where r.Perfil_Nome.Equals(perfilNome) && q.Usuario_ID.Equals(usuario.Usuario_ID)
                              select r.Perfil_Nome;
             if (perfilRBAC != null)
             {
                 return(perfilRBAC.Any());
             }
         }
         return(false);
     }
 }
示例#27
0
        public AlterarEnderecoViewModel GetEndereco(int pessoaID)
        {
            AlterarEnderecoViewModel AEVM = new AlterarEnderecoViewModel();

            using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities())
            {
                Negocio_Endereco NE = db.Negocio_Endereco.Where(o => o.Pessoa_ID == pessoaID && o.Ativo == true).FirstOrDefault();
                AEVM.PessoaID    = NE.Pessoa_ID;
                AEVM.CEP         = NE.CEP;
                AEVM.Complemento = NE.Complemento;
                AEVM.Numero      = NE.Numero.Value;
                AEVM.Logradouro  = NE.Negocio_Base_Endereco.Logradouro;
                AEVM.Bairro      = NE.Negocio_Base_Endereco.Bairro;
                AEVM.Cidade      = NE.Negocio_Base_Endereco.Cidade;
                AEVM.Estado      = NE.Negocio_Base_Endereco.Estado;
                AEVM.Pais        = NE.Negocio_Base_Endereco.Pais;

                return(AEVM);
            }
        }
示例#28
0
        public void DeleteUsuario(int usuarioID)
        {
            using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities())
            {
                using (var dbContextTransaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        foreach (RBAC_Link_Usuario_Perfil lup in db.RBAC_Link_Usuario_Perfil)
                        {
                            if (lup.Usuario_ID == usuarioID)
                            {
                                db.RBAC_Link_Usuario_Perfil.Remove(lup);
                                db.SaveChanges();
                            }
                        }

                        //var linkUP = db.RBAC_Link_Usuario_Perfil.Where(o => o.Usuario_ID == usuarioID);
                        //if (linkUP.Any())
                        //{
                        //    db.RBAC_Link_Usuario_Perfil.Remove(linkUP.FirstOrDefault());
                        //    db.SaveChanges();
                        //}

                        var usuario = db.RBAC_Usuario.Where(o => o.Usuario_ID == usuarioID);
                        if (usuario.Any())
                        {
                            db.RBAC_Usuario.Remove(usuario.FirstOrDefault());
                            db.SaveChanges();
                        }

                        dbContextTransaction.Commit();
                    }
                    catch
                    {
                        dbContextTransaction.Rollback();
                    }
                }
            }
        }
示例#29
0
        public void UpdatePermissao(CriarPermissaoRBACViewModel permissao)
        {
            using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities())
            {
                using (var dbContextTransaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        RBAC_Permissao p = db.RBAC_Permissao.Where(o => o.Permissao_ID == permissao.PermissaoID).FirstOrDefault();
                        p.Permissao_Nome = permissao.PermissaoNm;

                        db.Entry(p).State = EntityState.Modified;
                        db.SaveChanges();

                        dbContextTransaction.Commit();
                    }
                    catch
                    {
                        dbContextTransaction.Rollback();
                    }
                }
            }
        }
示例#30
0
 public void RemovePermissaoPerfil(int pmID, int pfID)
 {
     using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities())
     {
         using (var dbContextTransaction = db.Database.BeginTransaction())
         {
             try
             {
                 var linkPP = db.RBAC_Link_Perfil_Permissao.Where(o => o.Perfil_ID == pfID && o.Permissao_ID == pmID);
                 if (linkPP.Any())
                 {
                     db.RBAC_Link_Perfil_Permissao.Remove(linkPP.FirstOrDefault());
                     db.SaveChanges();
                 }
                 dbContextTransaction.Commit();
             }
             catch
             {
                 dbContextTransaction.Rollback();
             }
         }
     }
 }