Skip to content

Instantly share code, notes, and snippets.

@FabioRodrigues
Created October 8, 2014 17:16
Show Gist options
  • Save FabioRodrigues/6b588406c2487b4b56ee to your computer and use it in GitHub Desktop.
Save FabioRodrigues/6b588406c2487b4b56ee to your computer and use it in GitHub Desktop.
public class Usuario : EntidadeBase
{
public Usuario()
{
}
public string Login { get; protected set; }
public string Senha { get; protected set; }
public virtual ICollection<Grupo> Grupos { get; protected set; }
public virtual Pessoa Pessoa { get; protected set; }
public Usuario(string login, string senha)
{
AlterarLogin(login);
AlterarSenha(senha);
}
public void AdicionarNoGrupo(Grupo grupo)
{
if (!Grupos.Contains(grupo))
this.Grupos.Add(grupo);
}
public void RemoverDoGrupo(Grupo grupo)
{
if (Grupos.Contains(grupo))
this.Grupos.Remove(grupo);
}
public void DesativarUsuario()
{
this.Pessoa.AlterarStatus(false);
}
public void AtivarUsuario()
{
this.Pessoa.AlterarStatus(true);
}
public virtual void AlterarLogin(string login)
{
this.Login = login;
}
public virtual void AlterarSenha(string senha)
{
this.Senha = senha;
}
public virtual bool PossuiPermissao(TipoFuncionalidadeUsuario tipo, AreaGrupoAcessoUsuario area)
{
return
Grupos.Any(
x =>
x.Permissoes.Any(
j => j.Area.Nome.ToLower() == area.ToString().ToLower()
&& j.Funcionalidades.Any(k => k.Nome.ToLower() == tipo.ToString().ToLower())));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment