summaryrefslogtreecommitdiff
path: root/Codemerx/Gestor.Application/ViewModels/Configuracoes
diff options
context:
space:
mode:
authorLucas Faria Mendes <lucas.fariamo08@gmail.com>2026-03-30 13:38:18 +0000
committerLucas Faria Mendes <lucas.fariamo08@gmail.com>2026-03-30 13:38:18 +0000
commit1f4e14b2e973ee7de337fd4866d9a5ceff5cb6d1 (patch)
treee1c3b20ea08f0cf71122a1e73f0d395f8fd83874 /Codemerx/Gestor.Application/ViewModels/Configuracoes
parent674ca83ba9243a9e95a7568c797668dab6aee26a (diff)
downloadgestor-1f4e14b2e973ee7de337fd4866d9a5ceff5cb6d1.tar.gz
gestor-1f4e14b2e973ee7de337fd4866d9a5ceff5cb6d1.zip
chore: location
Diffstat (limited to 'Codemerx/Gestor.Application/ViewModels/Configuracoes')
-rw-r--r--Codemerx/Gestor.Application/ViewModels/Configuracoes/ConfiguracoesViewModel.cs178
1 files changed, 178 insertions, 0 deletions
diff --git a/Codemerx/Gestor.Application/ViewModels/Configuracoes/ConfiguracoesViewModel.cs b/Codemerx/Gestor.Application/ViewModels/Configuracoes/ConfiguracoesViewModel.cs
new file mode 100644
index 0000000..b399eb5
--- /dev/null
+++ b/Codemerx/Gestor.Application/ViewModels/Configuracoes/ConfiguracoesViewModel.cs
@@ -0,0 +1,178 @@
+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;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Diagnostics;
+using System.Linq;
+using System.Runtime.CompilerServices;
+using System.Threading.Tasks;
+
+namespace Gestor.Application.ViewModels.Configuracoes
+{
+ public class ConfiguracoesViewModel : BaseViewModel
+ {
+ private bool _hasRows;
+
+ private ObservableCollection<Configuracao> _configuracoes;
+
+ private Configuracao _selectedConfiguracao;
+
+ private string _descricao;
+
+ private bool _carregando;
+
+ private ObservableCollection<ConfiguracaoSistema> _configuracoesAdicionadas;
+
+ private ConfuguracoesServico _servico
+ {
+ get;
+ set;
+ }
+
+ public bool Carregando
+ {
+ get
+ {
+ return this._carregando;
+ }
+ set
+ {
+ this._carregando = value;
+ base.OnPropertyChanged("Carregando");
+ }
+ }
+
+ public ObservableCollection<Configuracao> Configuracoes
+ {
+ get
+ {
+ return this._configuracoes;
+ }
+ set
+ {
+ this._configuracoes = value;
+ base.EnableFields = (value != null ? value.Count > 0 : false);
+ base.OnPropertyChanged("Configuracoes");
+ }
+ }
+
+ public ObservableCollection<ConfiguracaoSistema> ConfiguracoesAdicionadas
+ {
+ get
+ {
+ return this._configuracoesAdicionadas;
+ }
+ set
+ {
+ this._configuracoesAdicionadas = value;
+ this.HasRows = (value != null ? value.Count > 0 : false);
+ this.PopularConfiguracoes(value);
+ base.OnPropertyChanged("ConfiguracoesAdicionadas");
+ }
+ }
+
+ public string Descricao
+ {
+ get
+ {
+ return this._descricao;
+ }
+ set
+ {
+ this._descricao = value;
+ base.OnPropertyChanged("Descricao");
+ }
+ }
+
+ public bool HasRows
+ {
+ get
+ {
+ return this._hasRows;
+ }
+ set
+ {
+ this._hasRows = value;
+ base.OnPropertyChanged("HasRows");
+ }
+ }
+
+ public Configuracao SelectedConfiguracao
+ {
+ get
+ {
+ return this._selectedConfiguracao;
+ }
+ set
+ {
+ this._selectedConfiguracao = value;
+ this.Descricao = ValidationHelper.GetCategory(value);
+ base.OnPropertyChanged("SelectedConfiguracao");
+ }
+ }
+
+ public ConfiguracoesViewModel()
+ {
+ this._servico = new ConfuguracoesServico();
+ base.EnableMenu = true;
+ }
+
+ public async Task BuscarConfiguracoes()
+ {
+ List<ConfiguracaoSistema> configuracaoSistemas = await this._servico.Buscar();
+ List<ConfiguracaoSistema> configuracaoSistemas1 = configuracaoSistemas;
+ Recursos.Configuracoes = (
+ from x in configuracaoSistemas1
+ orderby ValidationHelper.GetDescription(x.get_Configuracao())
+ select x).ToList<ConfiguracaoSistema>();
+ this.ConfiguracoesAdicionadas = new ObservableCollection<ConfiguracaoSistema>(configuracaoSistemas);
+ }
+
+ public async Task Excluir(ConfiguracaoSistema configuracao)
+ {
+ if (await this._servico.Excluir(configuracao))
+ {
+ await this.BuscarConfiguracoes();
+ }
+ }
+
+ private void PopularConfiguracoes(ObservableCollection<ConfiguracaoSistema> configuracoes)
+ {
+ if (configuracoes == null)
+ {
+ return;
+ }
+ List<Configuracao> configuracaos = new List<Configuracao>();
+ foreach (Configuracao configuracao in
+ from x in (Configuracao[])Enum.GetValues(typeof(Configuracao))
+ orderby ValidationHelper.GetDescription(x)
+ select x)
+ {
+ if (configuracoes.Any<ConfiguracaoSistema>((ConfiguracaoSistema x) => x.get_Configuracao() == configuracao))
+ {
+ continue;
+ }
+ configuracaos.Add(configuracao);
+ }
+ this.Configuracoes = new ObservableCollection<Configuracao>(configuracaos);
+ this.SelectedConfiguracao = this.Configuracoes.FirstOrDefault<Configuracao>();
+ }
+
+ public async Task Salvar()
+ {
+ ConfuguracoesServico confuguracoesServico = this._servico;
+ ConfiguracaoSistema configuracaoSistema = new ConfiguracaoSistema();
+ configuracaoSistema.set_Configuracao(this.SelectedConfiguracao);
+ if (await confuguracoesServico.Salvar(configuracaoSistema).get_Id() != 0)
+ {
+ await this.BuscarConfiguracoes();
+ }
+ }
+ }
+} \ No newline at end of file