using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Threading.Tasks; using Gestor.Application.Helpers; using Gestor.Application.Servicos.Configuracoes; using Gestor.Application.ViewModels.Generic; using Gestor.Common.Validation; using Gestor.Model.Common; using Gestor.Model.Domain.Configuracoes; using Gestor.Model.Domain.Generic; namespace Gestor.Application.ViewModels.Configuracoes; public class ConfiguracoesViewModel : BaseViewModel { private bool _hasRows; private ObservableCollection _configuracoes; private Configuracao _selectedConfiguracao; private string _descricao; private bool _carregando; private ObservableCollection _configuracoesAdicionadas; private ConfuguracoesServico _servico { get; set; } public bool HasRows { get { return _hasRows; } set { _hasRows = value; OnPropertyChanged("HasRows"); } } public ObservableCollection Configuracoes { get { return _configuracoes; } set { _configuracoes = value; base.EnableFields = value != null && value.Count > 0; OnPropertyChanged("Configuracoes"); } } public Configuracao SelectedConfiguracao { get { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return _selectedConfiguracao; } set { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) _selectedConfiguracao = value; Descricao = ValidationHelper.GetCategory((Enum)(object)value); OnPropertyChanged("SelectedConfiguracao"); } } public string Descricao { get { return _descricao; } set { _descricao = value; OnPropertyChanged("Descricao"); } } public bool Carregando { get { return _carregando; } set { _carregando = value; OnPropertyChanged("Carregando"); } } public ObservableCollection ConfiguracoesAdicionadas { get { return _configuracoesAdicionadas; } set { _configuracoesAdicionadas = value; HasRows = value != null && value.Count > 0; PopularConfiguracoes(value); OnPropertyChanged("ConfiguracoesAdicionadas"); } } public ConfiguracoesViewModel() { _servico = new ConfuguracoesServico(); base.EnableMenu = true; } public async Task BuscarConfiguracoes() { List list = await _servico.Buscar(); Recursos.Configuracoes = list.OrderBy((ConfiguracaoSistema x) => ValidationHelper.GetDescription((Enum)(object)x.Configuracao)).ToList(); ConfiguracoesAdicionadas = new ObservableCollection(list); } private void PopularConfiguracoes(ObservableCollection configuracoes) { //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) if (configuracoes == null) { return; } List list = new List(); foreach (Configuracao configuracao in ((Configuracao[])Enum.GetValues(typeof(Configuracao))).OrderBy((Configuracao x) => ValidationHelper.GetDescription((Enum)(object)x))) { if (!configuracoes.Any((ConfiguracaoSistema x) => x.Configuracao == configuracao)) { list.Add(configuracao); } } Configuracoes = new ObservableCollection(list); SelectedConfiguracao = Configuracoes.FirstOrDefault(); } public async Task Salvar() { if (((DomainBase)(await _servico.Salvar(new ConfiguracaoSistema { Configuracao = SelectedConfiguracao }))).Id != 0L) { await BuscarConfiguracoes(); } } public async Task Excluir(ConfiguracaoSistema configuracao) { if (await _servico.Excluir(configuracao)) { await BuscarConfiguracoes(); } } }