public static bool AdicionarDataPadraoCadastroUsuario(ref Usuarios objUsuario)
 {
     try
     {
         objUsuario.DataCriacao = System.DateTime.Now.Date;
         return true;
     }
     catch
     {
         return false;
     }
 }
        public static bool adicionarGrupoAoUsuario(ref Usuarios objUsuario, int grupoId, int idEstab)
        {
            try
            {
                int idUsuario = objUsuario.Id;

                if (bdContext<ControleDeLoginEntities>.Instance.BD.GrupoUsuarios.Where(x => x.IdGrupo == grupoId &&
                                                                                            x.IdUsuario == idUsuario &&
                                                                                            x.IdEstabelecimento == idEstab).
                                                                                 Count() <= 0)
                {
                    GrupoUsuarios objGrupoUsuario = new GrupoUsuarios();
                    objGrupoUsuario.IdGrupo = grupoId;
                    objGrupoUsuario.IdEstabelecimento = idEstab;
                    objUsuario.GrupoUsuarios.Add(objGrupoUsuario);
                }

                return true;
            }
            catch
            {
                return false;
            }
        }
 /// <summary>
 /// Deprecated Method for adding a new object to the Usuarios EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
 /// </summary>
 public void AddToUsuarios(Usuarios usuarios)
 {
     base.AddObject("Usuarios", usuarios);
 }
 /// <summary>
 /// Create a new Usuarios object.
 /// </summary>
 /// <param name="id">Initial value of the Id property.</param>
 /// <param name="login">Initial value of the Login property.</param>
 /// <param name="nome">Initial value of the Nome property.</param>
 /// <param name="senha">Initial value of the Senha property.</param>
 /// <param name="dataCriacao">Initial value of the DataCriacao property.</param>
 /// <param name="bloqueado">Initial value of the Bloqueado property.</param>
 /// <param name="idSistema">Initial value of the IdSistema property.</param>
 public static Usuarios CreateUsuarios(global::System.Int32 id, global::System.String login, global::System.String nome, global::System.String senha, global::System.DateTime dataCriacao, global::System.Boolean bloqueado, global::System.Int32 idSistema)
 {
     Usuarios usuarios = new Usuarios();
     usuarios.Id = id;
     usuarios.Login = login;
     usuarios.Nome = nome;
     usuarios.Senha = senha;
     usuarios.DataCriacao = dataCriacao;
     usuarios.Bloqueado = bloqueado;
     usuarios.IdSistema = idSistema;
     return usuarios;
 }
 public static int getIdEstabelecimentoUsuarioLogado(Usuarios usuario)
 {
     return usuario.Sistemas.Estabelecimentos.FirstOrDefault().Id;
 }
        public static bool removerGrupoDoUsuario(ref Usuarios objUsuario, int grupoId, int idEstab)
        {
            try
            {
                int idUsuario = objUsuario.Id;
                GrupoUsuarios objGrupoUsuario = bdContext<ControleDeLoginEntities>.Instance.BD.GrupoUsuarios.Where(x => x.IdUsuario == idUsuario &&
                                                                                                                        x.IdGrupo == grupoId &&
                                                                                                                        x.IdEstabelecimento == idEstab).
                                                                                                             FirstOrDefault();

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

                return true;
            }
            catch
            {
                return false;
            }
        }
 public static bool IsSenhaIgualLogin(ref Usuarios objUsuario)
 {
     return objUsuario.Senha == objUsuario.Login;
 }
 public static bool IsSenhaAntigaIgualBanco(ref Usuarios objUsuario, string senhaNaoCriptografada)
 {
     return objUsuario.Senha.Equals(getSenhaCriptografada(senhaNaoCriptografada));
 }
        public static bool isOutroLoginMesmoNome(string newLogin, ref Usuarios objUsuario, int idSistema)
        {
            if (objUsuario != null)
            {
                if ((objUsuario.Login == newLogin) && (objUsuario.IdSistema == idSistema))
                    return false;
            }

            return bdContext<ControleDeLoginEntities>.
                   Instance.BD.Usuarios.
                   Where(x => x.Login == newLogin &&
                              x.IdSistema == idSistema).
                   Count() > 0;
        }
 public static bool isAnyGrupoVinculadoUsuario(ref Usuarios objUsuario)
 {
     return objUsuario.GrupoUsuarios.Count() > 0;
 }
        public static bool haMaisDeUmEstabNosGruposUsuarios(ref Usuarios objUsuario)
        {
            List<ValDescr> tmpEstabs = null;

            if (!diferentesEstabsGruposUsuarios(ref objUsuario, out tmpEstabs))
                return false;

            return tmpEstabs.Count() > 1;
        }
        public static bool diferentesEstabsGruposUsuarios(ref Usuarios objUsuario, out List<ValDescr> estabs)
        {
            estabs = null;
            try
            {
                var estabelecimentos = objUsuario.GrupoUsuarios.Select(s => s.Estabelecimentos).Distinct();
                estabs = estabelecimentos.Select(x => new ValDescr
                                                    {
                                                        Id = x.Id,
                                                        Descricao = x.NomeFantasia
                                                    }
                                                ).Distinct().
                                                ToList();

                return true;
            }
            catch
            {
                return false;
            }
        }
 public static bool criptografarSenha(ref Usuarios objUsuario)
 {
     try
     {
         objUsuario.Senha = getSenhaCriptografada(objUsuario.Senha);
         return true;
     }
     catch
     {
         return false;
     }
 }
 public static bool adicionarSistemaAoUsuario(ref Usuarios objUsuario, int idSistema)
 {
     try
     {
         objUsuario.IdSistema = idSistema;
         return true;
     }
     catch
     {
         return false;
     }
 }