From 225aa1499e37faf9d38257caabbadc68d78b427e Mon Sep 17 00:00:00 2001 From: Lucas Faria Mendes Date: Mon, 30 Mar 2026 12:29:41 -0300 Subject: decompiler.com --- .../DialogExportarPermissaoViewModel.cs | 109 +++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 Decompiler/Gestor.Application.ViewModels.Generic/DialogExportarPermissaoViewModel.cs (limited to 'Decompiler/Gestor.Application.ViewModels.Generic/DialogExportarPermissaoViewModel.cs') diff --git a/Decompiler/Gestor.Application.ViewModels.Generic/DialogExportarPermissaoViewModel.cs b/Decompiler/Gestor.Application.ViewModels.Generic/DialogExportarPermissaoViewModel.cs new file mode 100644 index 0000000..d2da048 --- /dev/null +++ b/Decompiler/Gestor.Application.ViewModels.Generic/DialogExportarPermissaoViewModel.cs @@ -0,0 +1,109 @@ +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Threading.Tasks; +using Gestor.Application.Servicos.Generic; +using Gestor.Common.Validation; +using Gestor.Model.Domain.Generic; +using Gestor.Model.Domain.Seguros; + +namespace Gestor.Application.ViewModels.Generic; + +public class DialogExportarPermissaoViewModel : BaseSegurosViewModel +{ + private bool _enableGrid = true; + + private List _usuarios; + + private ObservableCollection _usuariosFiltrados = new ObservableCollection(); + + public bool EnableGrid + { + get + { + return _enableGrid; + } + set + { + _enableGrid = value; + OnPropertyChanged("EnableGrid"); + } + } + + public List Usuarios + { + get + { + return _usuarios; + } + set + { + _usuarios = value; + OnPropertyChanged("Usuarios"); + } + } + + public ObservableCollection UsuariosFiltrados + { + get + { + return _usuariosFiltrados; + } + set + { + _usuariosFiltrados = value; + OnPropertyChanged("UsuariosFiltrados"); + } + } + + public DialogExportarPermissaoViewModel(long idUsuario) + { + Seleciona(idUsuario); + } + + private async void Seleciona(long idUsuario) + { + Loading(isLoading: true); + await SelecionaUsuarios(idUsuario); + Loading(isLoading: false); + } + + private async Task SelecionaUsuarios(long idUsuario) + { + EnableGrid = false; + Loading(isLoading: true); + Usuarios = (from x in await new BaseServico().BuscarUsuariosAsync() + where !x.Excluido && ((DomainBase)x).Id != idUsuario + orderby x.Nome + select x).ToList(); + UsuariosFiltrados = new ObservableCollection(Usuarios); + Loading(isLoading: false); + EnableGrid = true; + } + + internal async Task> Filtrar(string value) + { + return await Task.Run(() => FiltrarUsuario(value)); + } + + public List FiltrarUsuario(string filter) + { + UsuariosFiltrados = (string.IsNullOrWhiteSpace(filter) ? new ObservableCollection(Usuarios) : new ObservableCollection(from x in Usuarios + where ValidationHelper.RemoveDiacritics(x.Nome.ToUpper().Trim()).Contains(ValidationHelper.RemoveDiacritics(filter)) + orderby !x.Excluido descending, x.Nome + select x)); + return UsuariosFiltrados.ToList(); + } + + public void Selecionar() + { + if (UsuariosFiltrados != null && UsuariosFiltrados.Count != 0) + { + UsuariosFiltrados.ToList().ForEach(delegate(Usuario x) + { + x.Selecionado = !x.Selecionado; + }); + UsuariosFiltrados = new ObservableCollection(UsuariosFiltrados); + } + } +} -- cgit v1.2.3