summaryrefslogtreecommitdiff
path: root/Decompiler/Gestor.Application.ViewModels.Generic/BaseTarefaViewModel.cs
diff options
context:
space:
mode:
authorLucas Faria Mendes <lucas.fariamo08@gmail.com>2026-03-30 15:29:41 +0000
committerLucas Faria Mendes <lucas.fariamo08@gmail.com>2026-03-30 15:29:41 +0000
commit225aa1499e37faf9d38257caabbadc68d78b427e (patch)
tree102bb7a40c58595348ae9d3c7076201759fe0720 /Decompiler/Gestor.Application.ViewModels.Generic/BaseTarefaViewModel.cs
parent1f4e14b2e973ee7de337fd4866d9a5ceff5cb6d1 (diff)
downloadgestor-225aa1499e37faf9d38257caabbadc68d78b427e.tar.gz
gestor-225aa1499e37faf9d38257caabbadc68d78b427e.zip
decompiler.com
Diffstat (limited to 'Decompiler/Gestor.Application.ViewModels.Generic/BaseTarefaViewModel.cs')
-rw-r--r--Decompiler/Gestor.Application.ViewModels.Generic/BaseTarefaViewModel.cs105
1 files changed, 105 insertions, 0 deletions
diff --git a/Decompiler/Gestor.Application.ViewModels.Generic/BaseTarefaViewModel.cs b/Decompiler/Gestor.Application.ViewModels.Generic/BaseTarefaViewModel.cs
new file mode 100644
index 0000000..8f2eb16
--- /dev/null
+++ b/Decompiler/Gestor.Application.ViewModels.Generic/BaseTarefaViewModel.cs
@@ -0,0 +1,105 @@
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Threading.Tasks;
+using Gestor.Application.Helpers;
+using Gestor.Application.Servicos;
+using Gestor.Model.Common;
+using Gestor.Model.Domain.Ferramentas;
+using Gestor.Model.Domain.Generic;
+using Gestor.Model.Domain.Seguros;
+
+namespace Gestor.Application.ViewModels.Generic;
+
+public abstract class BaseTarefaViewModel : BaseSegurosViewModel
+{
+ private ObservableCollection<ResponsavelTarefa> _responsaveis = new ObservableCollection<ResponsavelTarefa>();
+
+ private bool _hasResponsaveis;
+
+ public TarefaServico Servico { get; set; }
+
+ public abstract Tarefa SelectedTarefa { get; set; }
+
+ public abstract bool EnableAlterarTarefa { get; set; }
+
+ public ObservableCollection<ResponsavelTarefa> Responsaveis
+ {
+ get
+ {
+ return _responsaveis;
+ }
+ set
+ {
+ _responsaveis = value;
+ HasResponsaveis = value != null && value.Count > 0;
+ OnPropertyChanged("Responsaveis");
+ }
+ }
+
+ public bool HasResponsaveis
+ {
+ get
+ {
+ return _hasResponsaveis;
+ }
+ set
+ {
+ _hasResponsaveis = value;
+ OnPropertyChanged("HasResponsaveis");
+ }
+ }
+
+ public async Task<bool> ValidaPermissaoParaEditarTarefa()
+ {
+ bool flag = false;
+ bool flag3;
+ if (SelectedTarefa == null)
+ {
+ BaseTarefaViewModel baseTarefaViewModel = this;
+ BaseTarefaViewModel baseTarefaViewModel2 = this;
+ flag3 = (EnableAlterarTarefa = flag);
+ bool enableAlterar = (baseTarefaViewModel2.EnableExcluir = flag3);
+ baseTarefaViewModel.EnableAlterar = enableAlterar;
+ return flag;
+ }
+ PermissaoUsuario val = await BuscaPermisaoUsuario();
+ flag = Recursos.Usuario.Administrador || (val == null && !SelectedTarefa.Restrito.GetValueOrDefault()) || ((val == null || val.Alterar) && (!SelectedTarefa.Restrito.GetValueOrDefault() || ((DomainBase)SelectedTarefa.UsuarioCadastro).Id == ((DomainBase)Recursos.Usuario).Id || (SelectedTarefa.Responsaveis?.Any((ResponsavelTarefa x) => ((DomainBase)x.Usuario).Id == ((DomainBase)Recursos.Usuario).Id) ?? false) || ((DomainBase)SelectedTarefa.Usuario).Id == ((DomainBase)Recursos.Usuario).Id));
+ BaseTarefaViewModel baseTarefaViewModel3 = this;
+ BaseTarefaViewModel baseTarefaViewModel4 = this;
+ bool flag6 = (EnableAlterarTarefa = flag);
+ flag3 = (baseTarefaViewModel4.EnableExcluir = flag6);
+ return baseTarefaViewModel3.EnableAlterar = flag3;
+ }
+
+ internal async Task<PermissaoUsuario> BuscaPermisaoUsuario()
+ {
+ return await new PermissaoUsuarioServico().VerificarPermissao(Recursos.Usuario, (TipoTela)38);
+ }
+
+ public async Task<bool> ValidaPermissaoParaExcluirTarefa(Tarefa tarefa = null)
+ {
+ if (tarefa != null)
+ {
+ SelectedTarefa = tarefa;
+ }
+ PermissaoUsuario val = await BuscaPermisaoUsuario();
+ return Recursos.Usuario.Administrador || (val == null && !SelectedTarefa.Restrito.GetValueOrDefault()) || ((val == null || val.Excluir) && (!SelectedTarefa.Restrito.GetValueOrDefault() || ((DomainBase)SelectedTarefa.UsuarioCadastro).Id == ((DomainBase)Recursos.Usuario).Id || (SelectedTarefa.Responsaveis?.Any((ResponsavelTarefa x) => ((DomainBase)x.Usuario).Id == ((DomainBase)Recursos.Usuario).Id) ?? false) || ((DomainBase)SelectedTarefa.Usuario).Id == ((DomainBase)Recursos.Usuario).Id));
+ }
+
+ public void ListaUsuariosResponsaveis()
+ {
+ //IL_0035: Unknown result type (might be due to invalid IL or missing references)
+ //IL_003a: Unknown result type (might be due to invalid IL or missing references)
+ //IL_004b: Unknown result type (might be due to invalid IL or missing references)
+ //IL_0061: Expected O, but got Unknown
+ Tarefa selectedTarefa = SelectedTarefa;
+ if (((selectedTarefa != null) ? selectedTarefa.Usuario : null) != null && !Responsaveis.Any((ResponsavelTarefa r) => ((DomainBase)r.Usuario).Id == ((DomainBase)SelectedTarefa.Usuario).Id))
+ {
+ Responsaveis.Insert(0, new ResponsavelTarefa
+ {
+ IdTarefa = ((DomainBase)SelectedTarefa).Id,
+ Usuario = SelectedTarefa.Usuario
+ });
+ }
+ }
+}