public static bool isGrupoAdmin(Grupos grupo)
        {
            try
            {
                if ((grupo.Nome == "Admin") && (grupo.IdSistema == 1))
                    return true;

                return false;
            }
            catch
            {
                return false;
            }
        }
        public static bool adicionarPermissaoAoGrupo(ref Grupos objGrupo, int visaoId, int tipoPerm)
        {
            try
            {
                int idGrupo = objGrupo.Id;

                List<GrupoVisoes> objGruposVisoes = bdContext<ControleDeLoginEntities>.Instance.BD.GrupoVisoes.Where(x => x.IdVisao == visaoId && x.IdGrupo == idGrupo).ToList();

                GrupoVisoes objGrupoVisao;
                if (objGruposVisoes.Count() > 0)
                    objGrupoVisao = objGruposVisoes.FirstOrDefault();
                else
                {
                    objGrupoVisao = new GrupoVisoes();
                    objGrupoVisao.IdVisao = visaoId;
                }

                if (objGrupoVisao.Permissao.Where(x => x.Tipo == tipoPerm).Count() <= 0)
                {
                    Permissao objPermissao = new Permissao();
                    objPermissao.Tipo = tipoPerm;
                    objGrupoVisao.Permissao.Add(objPermissao);

                    if (objGruposVisoes.Count() <= 0)
                        objGrupo.GrupoVisoes.Add(objGrupoVisao);

                    bdContext<ControleDeLoginEntities>.Instance.BD.SaveChanges();
                }

                return true;
            }
            catch
            {
                return false;
            }
        }
 /// <summary>
 /// Deprecated Method for adding a new object to the Grupos EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
 /// </summary>
 public void AddToGrupos(Grupos grupos)
 {
     base.AddObject("Grupos", grupos);
 }
 /// <summary>
 /// Create a new Grupos object.
 /// </summary>
 /// <param name="id">Initial value of the Id property.</param>
 /// <param name="nome">Initial value of the Nome property.</param>
 /// <param name="idSistema">Initial value of the IdSistema property.</param>
 public static Grupos CreateGrupos(global::System.Int32 id, global::System.String nome, global::System.Int32 idSistema)
 {
     Grupos grupos = new Grupos();
     grupos.Id = id;
     grupos.Nome = nome;
     grupos.IdSistema = idSistema;
     return grupos;
 }
        public static bool removerUsuarioDoGrupo(ref Grupos objGrupo, int userId, int idEstab)
        {
            try
            {
                int idGrupo = objGrupo.Id;
                GrupoUsuarios objGrupoUsuario = bdContext<ControleDeLoginEntities>.Instance.BD.GrupoUsuarios.Where(x => x.IdGrupo == idGrupo &&
                                                                                                                        x.IdUsuario == userId &&
                                                                                                                        x.IdEstabelecimento == idEstab).
                                                                                                             FirstOrDefault();

                if (objGrupoUsuario != null)
                    bdContext<ControleDeLoginEntities>.Instance.BD.DeleteObject(objGrupoUsuario);

                return true;
            }
            catch
            {
                return false;
            }
        }
 public static bool removerTodosPrivilegiosGrupo(ref Grupos objGrupo)
 {
     try
     {
         List<GrupoVisoes> grpVisoes = objGrupo.GrupoVisoes.ToList();
         foreach (var grpVisao in grpVisoes)
         {
             List<Permissao> permissoesVisao = grpVisao.Permissao.ToList();
             foreach (var permissaoVisao in permissoesVisao)
             {
                 bdContext<ControleDeLoginEntities>.Instance.BD.DeleteObject(permissaoVisao);
             }
             bdContext<ControleDeLoginEntities>.Instance.BD.DeleteObject(grpVisao);
         }
         return true;
     }
     catch
     {
         return false;
     }
 }
        public static bool removerPermissaoDoGrupo(ref Grupos objGrupo, int visaoId, int tipoPerm)
        {
            try
            {
                int idGrupo = objGrupo.Id;

                GrupoVisoes objGrupoVisoes = bdContext<ControleDeLoginEntities>.Instance.BD.GrupoVisoes.Where(x => x.IdGrupo == idGrupo && x.IdVisao == visaoId).FirstOrDefault();
                Permissao objPermissao = null;

                if (objGrupoVisoes != null)
                    objPermissao = objGrupoVisoes.Permissao.Where(x => x.Tipo == tipoPerm).FirstOrDefault();

                if (objPermissao != null)
                    bdContext<ControleDeLoginEntities>.Instance.BD.DeleteObject(objPermissao);

                if (objGrupoVisoes != null)
                {
                    if (objGrupoVisoes.Permissao.Count() <= 0)
                        bdContext<ControleDeLoginEntities>.Instance.BD.DeleteObject(objGrupoVisoes);
                }

                bdContext<ControleDeLoginEntities>.Instance.BD.SaveChanges();

                return true;
            }
            catch
            {
                return false;
            }
        }
 public static bool isAnyUsuarioVinculadoGrupo(ref Grupos objGrupo)
 {
     return objGrupo.GrupoUsuarios.Count() > 0;
 }
        public static bool adicionarUsuarioAoGrupo(ref Grupos objGrupo, int userId, int idEstab)
        {
            try
            {
                int idGrupo = objGrupo.Id;
                if (bdContext<ControleDeLoginEntities>.Instance.BD.GrupoUsuarios.Where(x => x.IdGrupo == idGrupo &&
                                                                                            x.IdUsuario == userId &&
                                                                                            x.IdEstabelecimento == idEstab).
                                                                                 Count() <= 0)
                {
                    GrupoUsuarios objGrupoUsuario = new GrupoUsuarios();
                    objGrupoUsuario.IdUsuario = userId;
                    objGrupoUsuario.IdEstabelecimento = idEstab;

                    objGrupo.GrupoUsuarios.Add(objGrupoUsuario);
                }
                return true;
            }
            catch
            {
                return false;
            }
        }
 public static bool adicionarSistemaAoGrupo(ref Grupos objGrupo, int idSistema)
 {
     try
     {
         objGrupo.IdSistema = idSistema;
         return true;
     }
     catch
     {
         return false;
     }
 }