public static void NovoUsuario(string email, string nome, string senha, int cdNivelAcesso)
        {
            string senhaCripto;

            if (ValidarContaUsuario(email))
            {
                if (ValidarSenha(senha))
                {
                    senhaCripto = CriptografarSenha(senha);
                    Usuario usuario = new Usuario(email, nome, senhaCripto, cdNivelAcesso);
                    using (MicroSistemaContext context = new MicroSistemaContext())
                    {
                        context.Usuario.Add(usuario);
                        context.SaveChanges();
                    }
                }
                else
                {
                    throw new SenhaInvalidaException("Senha do usuário não satisfaz critérios de validação.");
                }
            }
            else
            {
                throw new ContaInvalidaException("Email do usuário não satisfaz critérios de validação.");
            }
        }
 public static void Excluir(Usuario usuarioExcluir)
 {
     using (MicroSistemaContext context = new MicroSistemaContext())
     {
         Usuario usuario = context.Usuario.Where(u => u.CdUsuario == usuarioExcluir.CdUsuario).Single();
         context.Usuario.Remove(usuario);
         context.SaveChanges();
     }
 }
        public static Usuario BuscarUsuario(int cdUsuario)
        {
            Usuario usuario;

            using (MicroSistemaContext context = new MicroSistemaContext())
            {
                usuario = context.Usuario.Where(u => u.CdUsuario == cdUsuario).Single();
            }
            return(usuario);
        }
 public static object ListarUsuarios(int cdNA = 0)
 {
     using (MicroSistemaContext context = new MicroSistemaContext())
     {
         var lista = context.Usuario.Select(u => new { u.Nome, u.Email, NivelAcesso = u.NivelAcesso.Titulo, u.DataCadastro, u.CdUsuario });
         if (cdNA != 0)
         {
             lista = context.Usuario.Where(u => u.CdNivelAcesso == cdNA).Select(u => new { u.Nome, u.Email, NivelAcesso = u.NivelAcesso.Titulo, u.DataCadastro, u.CdUsuario });
         }
         return(lista.ToList());
     }
 }
        public static object ListarNiveisAcesso(string cabecalho = "")
        {
            using (MicroSistemaContext context = new MicroSistemaContext())
            {
                var lista = context.NivelAcesso.Select(n => new { n.CdNivelAcesso, n.Titulo }).ToList();
                if (cabecalho != "")
                {
                    lista.Add(new { CdNivelAcesso = 0, Titulo = cabecalho });
                }
                lista = lista.OrderBy(b => b.CdNivelAcesso).ToList();

                return(lista);
            }
        }
        public static void Login(string conta, string senha)
        {
            MicroSistemaContext context = new MicroSistemaContext();
            // Valores de teste: [email protected] e $3nh4I-II-III "10CA25278C7CD10AA375D98EFAD44FBA"

            Usuario usuario     = null;
            string  senhaCripto = CriptografarSenha(senha);

            usuario           = context.Usuario.Where(x => x.Email.Equals(conta, StringComparison.InvariantCultureIgnoreCase) && x.Senha.Equals(senhaCripto) && x.Ativo == true).FirstOrDefault();
            UsuarioUtilizador = usuario;
            if (UsuarioUtilizador != null)
            {
                SenhaTemporaria = VerificarSenhaTemporaria(senha);
            }
        }
 public static void AlterarUsuario(Usuario usuarioAlterar)
 {
     if (ValidarContaUsuario(usuarioAlterar.Email))
     {
         using (MicroSistemaContext context = new MicroSistemaContext())
         {
             context.Entry(usuarioAlterar).State = System.Data.Entity.EntityState.Modified;
             context.SaveChanges();
         }
     }
     else
     {
         throw new ContaInvalidaException("Email do usuário não satisfaz critérios de validação.");
     }
 }
 public static void AlterarSenha(Usuario usuario, string novaSenha)
 {
     if (ValidarSenha(novaSenha))
     {
         string senhaCripto = CriptografarSenha(novaSenha);
         using (MicroSistemaContext context = new MicroSistemaContext())
         {
             Usuario usuarioAlterar = context.Usuario.SingleOrDefault(u => u.CdUsuario == usuario.CdUsuario);
             usuarioAlterar.AtribuirSenha(senhaCripto);
             context.SaveChanges();
         }
     }
     else
     {
         throw new SenhaInvalidaException("Senha do usuário não satisfaz critérios de validação.");
     }
 }