@page "/usuarios" Usuários - FinControl

Gerenciador de Usuários

Usuários Cadastrados
@if (usuarios != null && usuarios.Count > 0) {
@foreach (var usuario in usuarios) { }
Nome Email Permissão Status Ações
@(usuario.Nome != null && usuario.Nome.Length > 0 ? usuario.Nome[0] : "?")
@usuario.Nome
@usuario.Email @usuario.Permissao @(usuario.Ativo ? "Ativo" : "Inativo")
} else {

Nenhum usuário cadastrado

}
@if (mostrarModal) { } @code { private List usuarios = new(); private bool mostrarModal = false; private int editandoId = 0; private Usuario novoUsuario = new(); protected override void OnInitialized() { CarregarUsuarios(); } private void CarregarUsuarios() { usuarios = new List { new Usuario { Id = 1, Nome = "João Silva", Email = "joao@example.com", Permissao = "Admin", Ativo = true }, new Usuario { Id = 2, Nome = "Maria Santos", Email = "maria@example.com", Permissao = "User", Ativo = true }, new Usuario { Id = 3, Nome = "Pedro Oliveira", Email = "pedro@example.com", Permissao = "User", Ativo = false } }; } private void AbrirModalNovoUsuario() { editandoId = 0; novoUsuario = new() { Permissao = "User", Ativo = true }; mostrarModal = true; } private void EditarUsuario(int id) { editandoId = id; var usuario = usuarios.FirstOrDefault(u => u.Id == id); if (usuario != null) { novoUsuario = new Usuario { Id = usuario.Id, Nome = usuario.Nome, Email = usuario.Email, Permissao = usuario.Permissao, Ativo = usuario.Ativo }; } mostrarModal = true; } private void FecharModal() { mostrarModal = false; } private async Task SalvarUsuario() { if (editandoId == 0) { novoUsuario.Id = usuarios.Count + 1; usuarios.Add(novoUsuario); } else { var usuario = usuarios.FirstOrDefault(u => u.Id == editandoId); if (usuario != null) { usuario.Nome = novoUsuario.Nome; usuario.Email = novoUsuario.Email; usuario.Permissao = novoUsuario.Permissao; usuario.Ativo = novoUsuario.Ativo; } } FecharModal(); await Task.CompletedTask; } private void DeletarUsuario(int id) { usuarios.RemoveAll(u => u.Id == id); } public class Usuario { public int Id { get; set; } public string? Nome { get; set; } public string? Email { get; set; } public string? Senha { get; set; } public string? Permissao { get; set; } public bool Ativo { get; set; } } }