using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Threading.Tasks; using System.Windows; using Gestor.Application.Actions; using Gestor.Application.Helpers; using Gestor.Application.Servicos.Ferramentas; using Gestor.Application.ViewModels.Generic; using Gestor.Common.Validation; using Gestor.Model.Common; using Gestor.Model.Domain.Generic; using Gestor.Model.Domain.Relatorios; using Gestor.Model.Domain.Relatorios.ApolicePendente; using Gestor.Model.Domain.Relatorios.Auditoria; using Gestor.Model.Domain.Relatorios.ClientesAtivosInativos; using Gestor.Model.Domain.Relatorios.Comissao; using Gestor.Model.Domain.Relatorios.ExtratoBaixado; using Gestor.Model.Domain.Relatorios.FaturaPendente; using Gestor.Model.Domain.Relatorios.Fechamento; using Gestor.Model.Domain.Relatorios.Licenciamento; using Gestor.Model.Domain.Relatorios.LogsEnvio; using Gestor.Model.Domain.Relatorios.MetaSeguradora; using Gestor.Model.Domain.Relatorios.MetaVendedor; using Gestor.Model.Domain.Relatorios.NotaFiscal; using Gestor.Model.Domain.Relatorios.Pendente; using Gestor.Model.Domain.Relatorios.Placa; using Gestor.Model.Domain.Relatorios.PrevisaoPagamentoComissao; using Gestor.Model.Domain.Relatorios.Producao; using Gestor.Model.Domain.Relatorios.Renovacao; using Gestor.Model.Domain.Relatorios.Sinistro; using Gestor.Model.Domain.Relatorios.Tarefa; using Gestor.Model.Domain.Seguros; namespace Gestor.Application.ViewModels.Drawer; public class PermissaoUsuarioViewModel : BaseSegurosViewModel { private readonly UsuarioServico _servicoUsuario; private Usuario _selectedUsuario; private bool _expandedBis; private bool _expandedSeguros; private bool _expandedRelatorios; private bool _expandedCampos; private bool _expandedTotalizacoes; private bool _expandedFinanceiros; private bool _expandedFerramentas; private bool _expandedAjudas; private ObservableCollection _seguros; private ObservableCollection _ferramentas; private ObservableCollection _arquivosDigitais; private bool _enableAlterarPermiss = true; private ObservableCollection _restricoesBisFiltradas; private ObservableCollection _restricoesSegurosFiltradas; private ObservableCollection _restricoesRelatoriosFiltrados; private ObservableCollection _restricoesTotalizacoesRelatoriosFiltrados; private ObservableCollection _restricoesCamposRelatoriosFiltrados; private ObservableCollection _restricoesFinanceirosFiltradas; private ObservableCollection _restricoesFerramentasFiltradas; private ObservableCollection _restricoesAjudasFiltrados; private List _restricoesBis; private List _restricoesSeguros; private List _restricoesRelatorios; private List _restricoesTotalizacoesRelatorios; private List _restricoesCamposRelatorios; private List _restricoesFinanceiros; private List _restricoesFerramentas; private List _restricoesAjudas; private Visibility _restricoesBisVisibility; private Visibility _restricoesSegurosVisibility; private Visibility _restricoesRelatoriosVisibility; private Visibility _restricoesTotalizacoesRelatoriosVisibility; private Visibility _restricoesCamposRelatoriosVisibility; private Visibility _restricoesFinanceirosVisibility; private Visibility _restricoesFerramentasVisibility; private Visibility _restricoesAjudasVisibility; private List _permissaoAggilizador; private PermissaoAggilizador _selectedPermissao; private bool _admUsuario; private bool _importarEnabled; private bool _carregando; private bool _ativarDesativarPermissoesBool = true; private bool _ativarDesativarRestricoesBool = true; public Usuario SelectedUsuario { get { return _selectedUsuario; } set { _selectedUsuario = value; OnPropertyChanged("SelectedUsuario"); } } public bool Carregado { get; set; } public bool ExpandedBis { get { return _expandedBis; } set { _expandedBis = value; OnPropertyChanged("ExpandedBis"); } } public bool ExpandedSeguros { get { return _expandedSeguros; } set { _expandedSeguros = value; OnPropertyChanged("ExpandedSeguros"); } } public bool ExpandedRelatorios { get { return _expandedRelatorios; } set { _expandedRelatorios = value; OnPropertyChanged("ExpandedRelatorios"); } } public bool ExpandedCampos { get { return _expandedCampos; } set { _expandedCampos = value; OnPropertyChanged("ExpandedCampos"); } } public bool ExpandedTotalizacoes { get { return _expandedTotalizacoes; } set { _expandedTotalizacoes = value; OnPropertyChanged("ExpandedTotalizacoes"); } } public bool ExpandedFinanceiros { get { return _expandedFinanceiros; } set { _expandedFinanceiros = value; OnPropertyChanged("ExpandedFinanceiros"); } } public bool ExpandedFerramentas { get { return _expandedFerramentas; } set { _expandedFerramentas = value; OnPropertyChanged("ExpandedFerramentas"); } } public bool ExpandedAjudas { get { return _expandedAjudas; } set { _expandedAjudas = value; OnPropertyChanged("ExpandedAjudas"); } } public ObservableCollection Seguros { get { return _seguros; } set { _seguros = value; OnPropertyChanged("Seguros"); if (value != null && Ferramentas != null && value.All((PermissaoUsuario x) => ((int)x.Tela == 21 && x.Consultar) || ((int)x.Tela == 5 && x.Alterar && x.Incluir && x.Excluir) || ((int)x.Tela != 21 && (int)x.Tela != 5 && x.Consultar && x.Alterar && x.Incluir && x.Excluir)) && Ferramentas.All((PermissaoUsuario x) => ((int)x.Tela == 18 && x.Consultar && x.Alterar) || ((int)x.Tela == 10 && x.Consultar && x.Alterar && x.Incluir) || ((int)x.Tela == 12 && x.Consultar && x.Alterar) || ((int)x.Tela == 13 && x.Consultar && x.Alterar && x.Incluir) || ((int)x.Tela != 18 && (int)x.Tela != 10 && (int)x.Tela != 12 && (int)x.Tela != 13 && x.Consultar && x.Alterar && x.Incluir && x.Excluir))) { AtivarDesativarPermissoesBool = false; } Gestor.Application.Actions.Actions.OcultarTogglesSeguros(); } } public ObservableCollection Ferramentas { get { return _ferramentas; } set { _ferramentas = value; OnPropertyChanged("Ferramentas"); if (value != null && Seguros != null && value.All((PermissaoUsuario x) => ((int)x.Tela == 18 && x.Consultar && x.Alterar) || ((int)x.Tela == 10 && x.Consultar && x.Alterar && x.Incluir) || ((int)x.Tela == 12 && x.Consultar && x.Alterar) || ((int)x.Tela == 13 && x.Consultar && x.Alterar && x.Incluir) || ((int)x.Tela != 18 && (int)x.Tela != 10 && (int)x.Tela != 12 && (int)x.Tela != 13 && x.Consultar && x.Alterar && x.Incluir && x.Excluir)) && Seguros.All((PermissaoUsuario x) => ((int)x.Tela == 21 && x.Consultar) || ((int)x.Tela == 5 && x.Alterar && x.Incluir && x.Excluir) || ((int)x.Tela != 21 && (int)x.Tela != 5 && x.Consultar && x.Alterar && x.Incluir && x.Excluir))) { AtivarDesativarPermissoesBool = false; } Gestor.Application.Actions.Actions.OcultarTogglesFerramentas(); } } public ObservableCollection ArquivosDigitais { get { return _arquivosDigitais; } set { _arquivosDigitais = value; OnPropertyChanged("ArquivosDigitais"); Gestor.Application.Actions.Actions.OcultarTogglesArquivoDigital(); } } public bool EnableAlterarPermiss { get { return _enableAlterarPermiss; } set { _enableAlterarPermiss = value; OnPropertyChanged("EnableAlterarPermiss"); } } public ObservableCollection RestricoesBisFiltradas { get { return _restricoesBisFiltradas; } set { RestricoesBisVisibility = (Visibility)((value == null || value.Count <= 0) ? 2 : 0); _restricoesBisFiltradas = new ObservableCollection(from x in value.ToList() orderby ValidationHelper.GetDescription((Enum)(object)x.Tipo) select x); OnPropertyChanged("RestricoesBisFiltradas"); AtivarDesativarRestricoes(); } } public ObservableCollection RestricoesSegurosFiltradas { get { return _restricoesSegurosFiltradas; } set { RestricoesSegurosVisibility = (Visibility)((value == null || value.Count <= 0) ? 2 : 0); _restricoesSegurosFiltradas = new ObservableCollection(from x in value.ToList() orderby ValidationHelper.GetDescription((Enum)(object)x.Tipo) select x); OnPropertyChanged("RestricoesSegurosFiltradas"); AtivarDesativarRestricoes(); } } public ObservableCollection RestricoesRelatoriosFiltrados { get { return _restricoesRelatoriosFiltrados; } set { RestricoesRelatoriosVisibility = (Visibility)((value == null || value.Count <= 0) ? 2 : 0); _restricoesRelatoriosFiltrados = new ObservableCollection(from x in value.ToList() orderby ValidationHelper.GetDescription((Enum)(object)x.Tipo) select x); OnPropertyChanged("RestricoesRelatoriosFiltrados"); AtivarDesativarRestricoes(); } } public ObservableCollection RestricoesTotalizacoesRelatoriosFiltrados { get { return _restricoesTotalizacoesRelatoriosFiltrados; } set { RestricoesTotalizacoesRelatoriosVisibility = (Visibility)((value == null || value.Count <= 0) ? 2 : 0); _restricoesTotalizacoesRelatoriosFiltrados = new ObservableCollection(from x in value.ToList() orderby ValidationHelper.GetDescription((Enum)(object)x.Tipo) select x); OnPropertyChanged("RestricoesTotalizacoesRelatoriosFiltrados"); AtivarDesativarRestricoes(); } } public ObservableCollection RestricoesCamposRelatoriosFiltrados { get { return _restricoesCamposRelatoriosFiltrados; } set { RestricoesCamposRelatoriosVisibility = (Visibility)((value == null || value.Count <= 0) ? 2 : 0); _restricoesCamposRelatoriosFiltrados = new ObservableCollection(from x in value.ToList() orderby x.Relatorio, x.Campo select x); OnPropertyChanged("RestricoesCamposRelatoriosFiltrados"); AtivarDesativarRestricoes(); } } public ObservableCollection RestricoesFinanceirosFiltradas { get { return _restricoesFinanceirosFiltradas; } set { RestricoesFinanceirosVisibility = (Visibility)((value == null || value.Count <= 0) ? 2 : 0); _restricoesFinanceirosFiltradas = new ObservableCollection(from x in value.ToList() orderby ValidationHelper.GetDescription((Enum)(object)x.Tipo) select x); OnPropertyChanged("RestricoesFinanceirosFiltradas"); AtivarDesativarRestricoes(); } } public ObservableCollection RestricoesFerramentasFiltradas { get { return _restricoesFerramentasFiltradas; } set { RestricoesFerramentasVisibility = (Visibility)((value == null || value.Count <= 0) ? 2 : 0); _restricoesFerramentasFiltradas = new ObservableCollection(from x in value.ToList() orderby ValidationHelper.GetDescription((Enum)(object)x.Tipo) select x); OnPropertyChanged("RestricoesFerramentasFiltradas"); AtivarDesativarRestricoes(); } } public ObservableCollection RestricoesAjudasFiltrados { get { return _restricoesAjudasFiltrados; } set { RestricoesAjudasVisibility = (Visibility)((value == null || value.Count <= 0) ? 2 : 0); _restricoesAjudasFiltrados = new ObservableCollection(from x in value.ToList() orderby ValidationHelper.GetDescription((Enum)(object)x.Tipo) select x); OnPropertyChanged("RestricoesAjudasFiltrados"); AtivarDesativarRestricoes(); } } public List RestricoesBis { get { return _restricoesBis; } set { _restricoesBis = value; OnPropertyChanged("RestricoesBis"); } } public List RestricoesSeguros { get { return _restricoesSeguros; } set { _restricoesSeguros = value; OnPropertyChanged("RestricoesSeguros"); } } public List RestricoesRelatorios { get { return _restricoesRelatorios; } set { _restricoesRelatorios = value; OnPropertyChanged("RestricoesRelatorios"); } } public List RestricoesTotalizacoesRelatorios { get { return _restricoesTotalizacoesRelatorios; } set { _restricoesTotalizacoesRelatorios = value; OnPropertyChanged("RestricoesTotalizacoesRelatorios"); } } public List RestricoesCamposRelatorios { get { return _restricoesCamposRelatorios; } set { _restricoesCamposRelatorios = value; OnPropertyChanged("RestricoesCamposRelatorios"); } } public List RestricoesFinanceiros { get { return _restricoesFinanceiros; } set { _restricoesFinanceiros = value; OnPropertyChanged("RestricoesFinanceiros"); } } public List RestricoesFerramentas { get { return _restricoesFerramentas; } set { _restricoesFerramentas = value; OnPropertyChanged("RestricoesFerramentas"); } } public List RestricoesAjudas { get { return _restricoesAjudas; } set { _restricoesAjudas = value; OnPropertyChanged("RestricoesAjudas"); } } public Visibility RestricoesBisVisibility { get { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return _restricoesBisVisibility; } 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) _restricoesBisVisibility = value; OnPropertyChanged("RestricoesBisVisibility"); } } public Visibility RestricoesSegurosVisibility { get { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return _restricoesSegurosVisibility; } 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) _restricoesSegurosVisibility = value; OnPropertyChanged("RestricoesSegurosVisibility"); } } public Visibility RestricoesRelatoriosVisibility { get { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return _restricoesRelatoriosVisibility; } 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) _restricoesRelatoriosVisibility = value; OnPropertyChanged("RestricoesRelatoriosVisibility"); } } public Visibility RestricoesTotalizacoesRelatoriosVisibility { get { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return _restricoesTotalizacoesRelatoriosVisibility; } 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) _restricoesTotalizacoesRelatoriosVisibility = value; OnPropertyChanged("RestricoesTotalizacoesRelatoriosVisibility"); } } public Visibility RestricoesCamposRelatoriosVisibility { get { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return _restricoesCamposRelatoriosVisibility; } 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) _restricoesCamposRelatoriosVisibility = value; OnPropertyChanged("RestricoesCamposRelatoriosVisibility"); } } public Visibility RestricoesFinanceirosVisibility { get { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return _restricoesFinanceirosVisibility; } 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) _restricoesFinanceirosVisibility = value; OnPropertyChanged("RestricoesFinanceirosVisibility"); } } public Visibility RestricoesFerramentasVisibility { get { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return _restricoesFerramentasVisibility; } 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) _restricoesFerramentasVisibility = value; OnPropertyChanged("RestricoesFerramentasVisibility"); } } public Visibility RestricoesAjudasVisibility { get { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return _restricoesAjudasVisibility; } 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) _restricoesAjudasVisibility = value; OnPropertyChanged("RestricoesAjudasVisibility"); } } public List PermissaoAggilizador { get { return _permissaoAggilizador; } set { _permissaoAggilizador = value; OnPropertyChanged("PermissaoAggilizador"); } } public PermissaoAggilizador SelectedPermissao { get { return _selectedPermissao; } set { _selectedPermissao = value; OnPropertyChanged("SelectedPermissao"); } } public bool AdmUsuario { get { return _admUsuario; } set { _admUsuario = value; ImportarEnabled = !value; SelectedUsuario.Administrador = value; if (value && !Carregando) { AtivarDesativarPermissoes(permiss: true); AtivarDesativarRestricoes(restricao: false); } OnPropertyChanged("AdmUsuario"); } } public bool ImportarEnabled { get { return _importarEnabled; } set { _importarEnabled = value; OnPropertyChanged("ImportarEnabled"); } } public bool Carregando { get { return _carregando; } set { _carregando = value; base.IsEnabled = !value; base.EnableMenu = !value; OnPropertyChanged("Carregando"); } } public bool AtivarDesativarPermissoesBool { get { return _ativarDesativarPermissoesBool; } set { _ativarDesativarPermissoesBool = value; OnPropertyChanged("AtivarDesativarPermissoesBool"); } } public bool AtivarDesativarRestricoesBool { get { return _ativarDesativarRestricoesBool; } set { _ativarDesativarRestricoesBool = value; OnPropertyChanged("AtivarDesativarRestricoesBool"); } } public PermissaoUsuarioViewModel(Usuario usuario) { SelectedUsuario = usuario; _servicoUsuario = new UsuarioServico(); CarregarModulos(usuario); EnableAlterarPermiss = ((DomainBase)Recursos.Usuario).Id > 0; } private async void CarregarModulos(Usuario usuario) { await Modulos(usuario); Carregado = true; } private async Task Modulos(Usuario usuario) { Carregando = true; usuario = await _servicoUsuario.BuscarUsuarioPorId(((DomainBase)usuario).Id); Seguros = new ObservableCollection(await GetPermissoes(usuario, "seguros")); Ferramentas = new ObservableCollection(await GetPermissoes(usuario, "ferramentas")); ArquivosDigitais = new ObservableCollection(await GetPermissoesArquivoDigital(usuario)); PermissaoAggilizador = new List(await _servicoUsuario.BuscarPermissaoAggilizador()); RestricoesBis = await GetRestricoes(usuario, "b.i."); RestricoesBisFiltradas = new ObservableCollection(RestricoesBis); RestricoesSeguros = await GetRestricoes(usuario, "seguros"); RestricoesSegurosFiltradas = new ObservableCollection(RestricoesSeguros); RestricoesRelatorios = await GetRestricoes(usuario, "relatorios"); RestricoesRelatoriosFiltrados = new ObservableCollection(RestricoesRelatorios); RestricoesFinanceiros = await GetRestricoes(usuario, "financeiro"); RestricoesFinanceirosFiltradas = new ObservableCollection(RestricoesFinanceiros); RestricoesFerramentas = await GetRestricoes(usuario, "ferramentas"); RestricoesFerramentasFiltradas = new ObservableCollection(RestricoesFerramentas); RestricoesAjudas = await GetRestricoes(usuario, "ajuda"); RestricoesAjudasFiltrados = new ObservableCollection(RestricoesAjudas); RestricoesTotalizacoesRelatorios = await GetRestricoes(usuario, "totalizacoesRelatorios"); RestricoesTotalizacoesRelatoriosFiltrados = new ObservableCollection(RestricoesTotalizacoesRelatorios); RestricoesCamposRelatorios = await GetRestricoesCamposRelatorios(usuario); RestricoesCamposRelatoriosFiltrados = new ObservableCollection(RestricoesCamposRelatorios); Carregando = false; AdmUsuario = usuario.Administrador; SelectedPermissao = ((!usuario.PermissaoAggilizador.HasValue) ? ((IEnumerable)PermissaoAggilizador).FirstOrDefault((Func)((PermissaoAggilizador x) => ((DomainBase)x).Id == 2)) : ((IEnumerable)PermissaoAggilizador).FirstOrDefault((Func)((PermissaoAggilizador x) => ((DomainBase)x).Id == usuario.PermissaoAggilizador))); } private async Task> GetPermissoesArquivoDigital(Usuario usuario) { List list = new List(); List telas = (from TipoArquivoDigital v in Enum.GetValues(typeof(TipoArquivoDigital)) select ((object)(TipoArquivoDigital)(ref v)).ToString() into x orderby x select x).ToList(); List permissoes = await ServicoPermissArquivoDigital.PermissArquivoDigital(usuario); telas.ForEach(delegate(string x) { //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00f0: Unknown result type (might be due to invalid IL or missing references) //IL_00fa: Expected O, but got Unknown TipoArquivoDigital tela = (TipoArquivoDigital)Enum.Parse(typeof(TipoArquivoDigital), x); long id = 0L; bool consultar = true; bool incluir = true; bool excluir = true; if (permissoes.Count > 0 && permissoes.Any((PermissaoArquivoDigital y) => y.Tela == tela)) { id = ((DomainBase)permissoes.First((PermissaoArquivoDigital y) => y.Tela == tela)).Id; consultar = permissoes.First((PermissaoArquivoDigital y) => y.Tela == tela).Consultar; incluir = permissoes.First((PermissaoArquivoDigital y) => y.Tela == tela).Incluir; excluir = permissoes.First((PermissaoArquivoDigital y) => y.Tela == tela).Excluir; } PermissaoArquivoDigital item = new PermissaoArquivoDigital { Id = id, Tela = tela, Consultar = consultar, Incluir = incluir, Excluir = excluir }; list.Add(item); }); return list; } private async Task> GetPermissoes(Usuario usuario, string modulo) { List list = new List(); List telas = (from TipoTela v in Enum.GetValues(typeof(TipoTela)) select ((object)(TipoTela)(ref v)).ToString() into x orderby x select x).ToList(); List permissoes = await ServicoPermissUsuario.PermissUsuario(usuario); telas.ForEach(delegate(string x) { //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_0119: Unknown result type (might be due to invalid IL or missing references) //IL_011b: Unknown result type (might be due to invalid IL or missing references) //IL_0125: Unknown result type (might be due to invalid IL or missing references) //IL_012c: Unknown result type (might be due to invalid IL or missing references) //IL_0133: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Unknown result type (might be due to invalid IL or missing references) //IL_0145: Expected O, but got Unknown TipoTela tela = (TipoTela)Enum.Parse(typeof(TipoTela), x); if (string.Equals(ValidationHelper.GetCategory((Enum)(object)tela), modulo, StringComparison.CurrentCultureIgnoreCase)) { long id = 0L; bool consultar = true; bool incluir = true; bool alterar = true; bool excluir = true; if (permissoes.Count > 0 && permissoes.Any((PermissaoUsuario y) => y.Tela == tela)) { id = ((DomainBase)permissoes.First((PermissaoUsuario y) => y.Tela == tela)).Id; consultar = permissoes.First((PermissaoUsuario y) => y.Tela == tela).Consultar; incluir = permissoes.First((PermissaoUsuario y) => y.Tela == tela).Incluir; alterar = permissoes.First((PermissaoUsuario y) => y.Tela == tela).Alterar; excluir = permissoes.First((PermissaoUsuario y) => y.Tela == tela).Excluir; } PermissaoUsuario item = new PermissaoUsuario { Id = id, Tela = tela, Consultar = consultar, Incluir = incluir, Alterar = alterar, Excluir = excluir }; list.Add(item); } }); return list; } private async Task> GetRestricoes(Usuario usuario, string modulo) { List list = new List(); List tipos = (from TipoRestricao v in Enum.GetValues(typeof(TipoRestricao)) select ((object)(TipoRestricao)(ref v)).ToString() into x orderby x select x).ToList(); List restricoesUsuario = await ServicoRestriUsuario.BuscarRestricoes(((DomainBase)usuario).Id); tipos.ForEach(delegate(string x) { //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00df: Expected O, but got Unknown TipoRestricao tipo = (TipoRestricao)Enum.Parse(typeof(TipoRestricao), x); if (string.Equals(ValidationHelper.GetCategory((Enum)(object)tipo), modulo, StringComparison.CurrentCultureIgnoreCase)) { string help = ValidationHelper.GetHelp((Enum)(object)tipo); long id = 0L; bool restricao = false; if (restricoesUsuario.Count > 0 && restricoesUsuario.Any((RestricaoUsuario y) => y.Tipo == tipo)) { id = ((DomainBase)restricoesUsuario.First((RestricaoUsuario y) => y.Tipo == tipo)).Id; restricao = restricoesUsuario.First((RestricaoUsuario y) => y.Tipo == tipo).Restricao; } RestricaoUsuario item = new RestricaoUsuario { Id = id, Tipo = tipo, Restricao = restricao, Ajuda = help }; list.Add(item); } }); return list; } private async Task> GetRestricoesCamposRelatorios(Usuario usuario) { List list = new List(); List parametros = new List(); foreach (Relatorio item2 in Enum.GetValues(typeof(Relatorio)).Cast()) { switch ((int)item2) { case 0: case 1: parametros.AddRange(Funcoes.ColunasRelatorio(item2, new List())); break; case 2: parametros.AddRange(Funcoes.ColunasRelatorio(item2, new List())); break; case 3: parametros.AddRange(Funcoes.ColunasRelatorio(item2, new List())); break; case 18: parametros.AddRange(Funcoes.ColunasRelatorio(item2, new List())); break; case 4: parametros.AddRange(Funcoes.ColunasRelatorio(item2, new List())); break; case 5: parametros.AddRange(Funcoes.ColunasRelatorio(item2, new List())); break; case 6: case 16: parametros.AddRange(Funcoes.ColunasRelatorio(item2, new List())); break; case 9: case 10: parametros.AddRange(Funcoes.ColunasRelatorio(item2, new List())); break; case 23: parametros.AddRange(Funcoes.ColunasRelatorio(item2, new List())); break; case 8: parametros.AddRange(Funcoes.ColunasRelatorio(item2, new List())); break; case 13: parametros.AddRange(Funcoes.ColunasRelatorio(item2, new List())); break; case 12: parametros.AddRange(Funcoes.ColunasRelatorio(item2, new List())); break; case 14: parametros.AddRange(Funcoes.ColunasRelatorio(item2, new List())); break; case 15: parametros.AddRange(Funcoes.ColunasRelatorio(item2, new List())); break; case 11: parametros.AddRange(Funcoes.ColunasRelatorio(item2, new List())); break; case 17: parametros.AddRange(Funcoes.ColunasRelatorio(item2, new List())); break; case 27: parametros.AddRange(Funcoes.ColunasRelatorio(item2, new List())); break; case 7: parametros.AddRange(Funcoes.ColunasRelatorio(item2, new List())); break; case 19: parametros.AddRange(Funcoes.ColunasRelatorio(item2, new List())); break; case 20: parametros.AddRange(Funcoes.ColunasRelatorio(item2, new List())); break; } } List restricoesUsuario = await ServicoRestriUsuario.BuscarRestricoesCamposRelatorios(((DomainBase)usuario).Id); parametros.ForEach(delegate(ParametrosRelatorio x) { //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Expected O, but got Unknown long id = 0L; bool restricao = false; if (restricoesUsuario.Count > 0 && restricoesUsuario.Any((RestricaoUsuarioCamposRelatorios y) => y.Campo == x.Header && y.Relatorio == x.Relatorio)) { id = ((DomainBase)restricoesUsuario.First((RestricaoUsuarioCamposRelatorios y) => y.Campo == x.Header && y.Relatorio == x.Relatorio)).Id; restricao = restricoesUsuario.First((RestricaoUsuarioCamposRelatorios y) => y.Campo == x.Header && y.Relatorio == x.Relatorio).Restricao; } RestricaoUsuarioCamposRelatorios item = new RestricaoUsuarioCamposRelatorios { Id = id, Campo = x.Header, Relatorio = x.Relatorio, Restricao = restricao }; list.Add(item); }); return list; } public async Task Salvar(long? idUsuario = null, bool registrar = true) { PermissaoUsuario obj = ServicoPermissUsuario.BuscarPermissao(Recursos.Usuario, (TipoTela)43); if (obj != null && !obj.Alterar && !Recursos.Usuario.Administrador) { await ShowMessage("VOCÊ NÃO TEM PERMISSÃO PARA ALTERAR PERMISSÕES!"); return false; } Usuario usuario = await _servicoUsuario.BuscarUsuarioPorId(idUsuario ?? ((DomainBase)_selectedUsuario).Id); List prevPer = new List(); List list = prevPer; list.AddRange(await GetPermissoes(usuario, "seguros")); list = prevPer; list.AddRange(await GetPermissoes(usuario, "ferramentas")); List prevPerArquivoDigital = new List(); List list2 = prevPerArquivoDigital; list2.AddRange(await GetPermissoesArquivoDigital(usuario)); List permissao = ((IEnumerable)ArquivosDigitais).Select((Func)((PermissaoArquivoDigital x) => new PermissaoArquivoDigital { Id = ((prevPerArquivoDigital.Count == 0) ? 0 : ((DomainBase)prevPerArquivoDigital.First((PermissaoArquivoDigital y) => y.Tela == x.Tela)).Id), Tela = x.Tela, Consultar = x.Consultar, Incluir = x.Incluir, Excluir = x.Excluir, Usuario = usuario })).ToList(); List permissoes = new List(); List collection = ((IEnumerable)Seguros).Select((Func)((PermissaoUsuario x) => new PermissaoUsuario { Id = ((prevPer.Count == 0) ? 0 : ((DomainBase)prevPer.First((PermissaoUsuario y) => y.Tela == x.Tela)).Id), Tela = x.Tela, Consultar = x.Consultar, Incluir = x.Incluir, Alterar = x.Alterar, Excluir = x.Excluir, Usuario = usuario })).ToList(); permissoes.AddRange(collection); collection = ((IEnumerable)Ferramentas).Select((Func)((PermissaoUsuario x) => new PermissaoUsuario { Id = ((prevPer.Count == 0) ? 0 : ((DomainBase)prevPer.First((PermissaoUsuario y) => y.Tela == x.Tela)).Id), Tela = x.Tela, Consultar = x.Consultar, Incluir = x.Incluir, Alterar = x.Alterar, Excluir = x.Excluir, Usuario = usuario })).ToList(); permissoes.AddRange(collection); Usuario obj2 = usuario; PermissaoAggilizador selectedPermissao = SelectedPermissao; obj2.PermissaoAggilizador = ((selectedPermissao != null) ? ((DomainBase)selectedPermissao).Id : 0); usuario.Administrador = AdmUsuario; await ServicoPermissArquivoDigital.SavePermiss(permissao, prevPerArquivoDigital); if (!ServicoPermissArquivoDigital.Sucesso) { return false; } await ServicoPermissUsuario.SavePermiss(permissoes, prevPer); if (!ServicoPermissUsuario.Sucesso) { return false; } await _servicoUsuario.Save(usuario); if (!_servicoUsuario.Sucesso) { return false; } if (((DomainBase)Recursos.Usuario).Id == ((DomainBase)_selectedUsuario).Id) { Recursos.Usuario = usuario; } List prevRes = new List(); List list3 = prevRes; list3.AddRange(await GetRestricoes(usuario, "b.i.")); list3 = prevRes; list3.AddRange(await GetRestricoes(usuario, "seguros")); list3 = prevRes; list3.AddRange(await GetRestricoes(usuario, "relatorios")); list3 = prevRes; list3.AddRange(await GetRestricoes(usuario, "financeiro")); list3 = prevRes; list3.AddRange(await GetRestricoes(usuario, "ferramentas")); list3 = prevRes; list3.AddRange(await GetRestricoes(usuario, "ajuda")); list3 = prevRes; list3.AddRange(await GetRestricoes(usuario, "totalizacoesRelatorios")); list3 = prevRes; list3.AddRange(await GetRestricoes(usuario, "camposRelatorios")); List prevResCamposRelatorios = new List(); List list4 = prevResCamposRelatorios; list4.AddRange(await GetRestricoesCamposRelatorios(usuario)); List list5 = new List(); List restricoesCamposRelatorios = new List(); List collection2 = ((IEnumerable)RestricoesBis).Select((Func)((RestricaoUsuario x) => new RestricaoUsuario { Id = ((prevRes.Count == 0) ? 0 : ((DomainBase)prevRes.First((RestricaoUsuario y) => y.Tipo == x.Tipo)).Id), Tipo = x.Tipo, Restricao = x.Restricao, Usuario = usuario })).ToList(); list5.AddRange(collection2); collection2 = ((IEnumerable)RestricoesSeguros).Select((Func)((RestricaoUsuario x) => new RestricaoUsuario { Id = ((prevRes.Count == 0) ? 0 : ((DomainBase)prevRes.First((RestricaoUsuario y) => y.Tipo == x.Tipo)).Id), Tipo = x.Tipo, Restricao = x.Restricao, Usuario = usuario })).ToList(); list5.AddRange(collection2); collection2 = ((IEnumerable)RestricoesRelatorios).Select((Func)((RestricaoUsuario x) => new RestricaoUsuario { Id = ((prevRes.Count == 0) ? 0 : ((DomainBase)prevRes.First((RestricaoUsuario y) => y.Tipo == x.Tipo)).Id), Tipo = x.Tipo, Restricao = x.Restricao, Usuario = usuario })).ToList(); list5.AddRange(collection2); collection2 = ((IEnumerable)RestricoesTotalizacoesRelatorios).Select((Func)((RestricaoUsuario x) => new RestricaoUsuario { Id = ((prevRes.Count == 0) ? 0 : ((DomainBase)prevRes.First((RestricaoUsuario y) => y.Tipo == x.Tipo)).Id), Tipo = x.Tipo, Restricao = x.Restricao, Usuario = usuario })).ToList(); list5.AddRange(collection2); collection2 = ((IEnumerable)RestricoesFinanceiros).Select((Func)((RestricaoUsuario x) => new RestricaoUsuario { Id = ((prevRes.Count == 0) ? 0 : ((DomainBase)prevRes.First((RestricaoUsuario y) => y.Tipo == x.Tipo)).Id), Tipo = x.Tipo, Restricao = x.Restricao, Usuario = usuario })).ToList(); list5.AddRange(collection2); collection2 = ((IEnumerable)RestricoesFerramentas).Select((Func)((RestricaoUsuario x) => new RestricaoUsuario { Id = ((prevRes.Count == 0) ? 0 : ((DomainBase)prevRes.First((RestricaoUsuario y) => y.Tipo == x.Tipo)).Id), Tipo = x.Tipo, Restricao = x.Restricao, Usuario = usuario })).ToList(); list5.AddRange(collection2); collection2 = ((IEnumerable)RestricoesAjudas).Select((Func)((RestricaoUsuario x) => new RestricaoUsuario { Id = ((prevRes.Count == 0) ? 0 : ((DomainBase)prevRes.First((RestricaoUsuario y) => y.Tipo == x.Tipo)).Id), Tipo = x.Tipo, Restricao = x.Restricao, Usuario = usuario })).ToList(); list5.AddRange(collection2); List collection3 = ((IEnumerable)RestricoesCamposRelatorios).Select((Func)((RestricaoUsuarioCamposRelatorios x) => new RestricaoUsuarioCamposRelatorios { Id = ((prevResCamposRelatorios.Count == 0) ? 0 : ((DomainBase)prevResCamposRelatorios.First((RestricaoUsuarioCamposRelatorios y) => y.Campo == x.Campo && y.Relatorio == x.Relatorio)).Id), Campo = x.Campo, Restricao = x.Restricao, Relatorio = x.Relatorio, Usuario = usuario })).ToList(); restricoesCamposRelatorios.AddRange(collection3); await ServicoRestriUsuario.SaveRestri(list5, prevRes); if (!ServicoRestriUsuario.Sucesso) { return false; } await ServicoRestriUsuario.SaveRestriCamposRelatorios(restricoesCamposRelatorios, prevResCamposRelatorios); if (!ServicoRestriUsuario.Sucesso) { return false; } if (registrar) { RegistrarAcao("ALTEROU PERMISSÕES/RESTRIÇÕES DO USUÁRIO \"" + SelectedUsuario.Nome + "\"", ((DomainBase)SelectedUsuario).Id, (TipoTela)43, "ACESSE O LOG DE ALTERAÇÕES NA TELA DE PERMISSÕES/RESTRIÇÕES PARA VER EXATAMENTE O QUE FOI ALTERADO."); } return true; } internal async Task> FiltrarRestricoesBi(string value) { return await Task.Run(() => FiltrarRestricoesBis(value)); } internal async Task> FiltrarRestricoesSeguro(string value) { return await Task.Run(() => FiltrarRestricoesSeguros(value)); } internal async Task> FiltrarRestricoesRelatorio(string value) { return await Task.Run(() => FiltrarRestricoesRelatorios(value)); } internal async Task> FiltrarRestricoesTotalizacoesRelatorio(string value) { return await Task.Run(() => FiltrarRestricoesTotalizacoesRelatorios(value)); } internal async Task> FiltrarRestricoesCamposRelatorio(string value) { return await Task.Run(() => FiltrarRestricoesCamposRelatorios(value)); } internal async Task> FiltrarRestricoesFinanceiro(string value) { return await Task.Run(() => FiltrarRestricoesFinanceiros(value)); } internal async Task> FiltrarRestricoesFerramenta(string value) { return await Task.Run(() => FiltrarRestricoesFerramentas(value)); } internal async Task> FiltrarRestricoesAjuda(string value) { return await Task.Run(() => FiltrarRestricoesAjudas(value)); } public List FiltrarRestricoesBis(string filter) { RestricoesBisFiltradas = ((filter == "") ? new ObservableCollection(RestricoesBis) : new ObservableCollection(RestricoesBis.Where((RestricaoUsuario x) => ValidationHelper.RemoveDiacritics(ValidationHelper.GetDescription((Enum)(object)x.Tipo).Trim()).ToUpper().Contains(filter.ToUpper())))); ExpandedBis = RestricoesBisFiltradas.Count > 0 && filter != ""; if (!(filter == "")) { return RestricoesBisFiltradas.ToList(); } return null; } public List FiltrarRestricoesSeguros(string filter) { RestricoesSegurosFiltradas = ((filter == "") ? new ObservableCollection(RestricoesSeguros) : new ObservableCollection(RestricoesSeguros.Where((RestricaoUsuario x) => ValidationHelper.RemoveDiacritics(ValidationHelper.GetDescription((Enum)(object)x.Tipo).Trim()).ToUpper().Contains(filter.ToUpper())))); ExpandedSeguros = RestricoesSegurosFiltradas.Count > 0 && filter != ""; if (!(filter == "")) { return RestricoesSegurosFiltradas.ToList(); } return null; } public List FiltrarRestricoesRelatorios(string filter) { RestricoesRelatoriosFiltrados = ((filter == "") ? new ObservableCollection(RestricoesRelatorios) : new ObservableCollection(RestricoesRelatorios.Where((RestricaoUsuario x) => ValidationHelper.RemoveDiacritics(ValidationHelper.GetDescription((Enum)(object)x.Tipo).Trim()).ToUpper().Contains(filter.ToUpper())))); ExpandedRelatorios = RestricoesRelatoriosFiltrados.Count > 0 && filter != ""; if (!(filter == "")) { return RestricoesRelatoriosFiltrados.ToList(); } return null; } public List FiltrarRestricoesTotalizacoesRelatorios(string filter) { RestricoesTotalizacoesRelatoriosFiltrados = ((filter == "") ? new ObservableCollection(RestricoesTotalizacoesRelatorios) : new ObservableCollection(RestricoesTotalizacoesRelatorios.Where((RestricaoUsuario x) => ValidationHelper.RemoveDiacritics(ValidationHelper.GetDescription((Enum)(object)x.Tipo).Trim()).ToUpper().Contains(filter.ToUpper())))); ExpandedTotalizacoes = RestricoesTotalizacoesRelatoriosFiltrados.Count > 0 && filter != ""; if (!(filter == "")) { return RestricoesTotalizacoesRelatoriosFiltrados.ToList(); } return null; } public List FiltrarRestricoesCamposRelatorios(string filter) { RestricoesCamposRelatoriosFiltrados = ((filter == "") ? new ObservableCollection(RestricoesCamposRelatorios) : new ObservableCollection(RestricoesCamposRelatorios.Where((RestricaoUsuarioCamposRelatorios x) => ValidationHelper.RemoveDiacritics(x.Campo.ToUpper().Trim()).Contains(filter.ToUpper()) || ValidationHelper.RemoveDiacritics(ValidationHelper.GetDescription((Enum)(object)x.Relatorio).Trim()).ToUpper().Contains(filter.ToUpper())))); ExpandedCampos = RestricoesCamposRelatoriosFiltrados.Count > 0 && filter != ""; if (!(filter == "")) { return RestricoesCamposRelatoriosFiltrados.ToList(); } return null; } public List FiltrarRestricoesFinanceiros(string filter) { RestricoesFinanceirosFiltradas = ((filter == "") ? new ObservableCollection(RestricoesFinanceiros) : new ObservableCollection(RestricoesFinanceiros.Where((RestricaoUsuario x) => ValidationHelper.RemoveDiacritics(ValidationHelper.GetDescription((Enum)(object)x.Tipo).Trim()).ToUpper().Contains(filter.ToUpper())))); ExpandedFinanceiros = RestricoesFinanceirosFiltradas.Count > 0 && filter != ""; if (!(filter == "")) { return RestricoesFinanceirosFiltradas.ToList(); } return null; } public List FiltrarRestricoesFerramentas(string filter) { RestricoesFerramentasFiltradas = ((filter == "") ? new ObservableCollection(RestricoesFerramentas) : new ObservableCollection(RestricoesFerramentas.Where((RestricaoUsuario x) => ValidationHelper.RemoveDiacritics(ValidationHelper.GetDescription((Enum)(object)x.Tipo).Trim()).ToUpper().Contains(filter.ToUpper())))); ExpandedFerramentas = RestricoesFerramentasFiltradas.Count > 0 && filter != ""; if (!(filter == "")) { return RestricoesFerramentasFiltradas.ToList(); } return null; } public List FiltrarRestricoesAjudas(string filter) { RestricoesAjudasFiltrados = ((filter == "") ? new ObservableCollection(RestricoesAjudas) : new ObservableCollection(RestricoesAjudas.Where((RestricaoUsuario x) => ValidationHelper.RemoveDiacritics(ValidationHelper.GetDescription((Enum)(object)x.Tipo).Trim()).ToUpper().Contains(filter.ToUpper())))); ExpandedAjudas = RestricoesAjudasFiltrados.Count > 0 && filter != ""; if (!(filter == "")) { return RestricoesAjudasFiltrados.ToList(); } return null; } public bool CopiarPermissoes(Tuple, Usuario, List, List, List> copiarPermiss) { if (copiarPermiss.Item1.Count > 0) { copiarPermiss.Item1.ForEach(delegate(PermissaoUsuario x) { Seguros.ToList().ForEach(delegate(PermissaoUsuario y) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) if (x.Tela == y.Tela) { y.Consultar = x.Consultar; y.Incluir = x.Incluir; y.Alterar = x.Alterar; y.Excluir = x.Excluir; y.Usuario = _selectedUsuario; } }); Ferramentas.ToList().ForEach(delegate(PermissaoUsuario y) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) if (x.Tela == y.Tela) { y.Consultar = x.Consultar; y.Incluir = x.Incluir; y.Alterar = x.Alterar; y.Excluir = x.Excluir; y.Usuario = _selectedUsuario; } }); }); } else { Seguros.ToList().ForEach(delegate(PermissaoUsuario x) { x.Consultar = false; x.Incluir = false; x.Alterar = false; x.Excluir = false; x.Usuario = _selectedUsuario; }); Ferramentas.ToList().ForEach(delegate(PermissaoUsuario x) { x.Consultar = false; x.Incluir = false; x.Alterar = false; x.Excluir = false; x.Usuario = _selectedUsuario; }); } if (copiarPermiss.Item4.Count > 0) { copiarPermiss.Item4.ForEach(delegate(PermissaoArquivoDigital x) { ArquivosDigitais.ToList().ForEach(delegate(PermissaoArquivoDigital y) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) if (x.Tela == y.Tela) { y.Consultar = x.Consultar; y.Incluir = x.Incluir; y.Excluir = x.Excluir; y.Usuario = _selectedUsuario; } }); }); } else { ArquivosDigitais.ToList().ForEach(delegate(PermissaoArquivoDigital x) { x.Consultar = false; x.Incluir = false; x.Excluir = false; x.Usuario = _selectedUsuario; }); } SelectedPermissao = (copiarPermiss.Item2.PermissaoAggilizador.HasValue ? ((IEnumerable)PermissaoAggilizador).FirstOrDefault((Func)((PermissaoAggilizador x) => ((DomainBase)x).Id == copiarPermiss.Item2.PermissaoAggilizador)) : null); copiarPermiss.Item3.ForEach(delegate(RestricaoUsuario x) { //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Unknown result type (might be due to invalid IL or missing references) //IL_019e: Unknown result type (might be due to invalid IL or missing references) //IL_01a4: Unknown result type (might be due to invalid IL or missing references) //IL_0201: Unknown result type (might be due to invalid IL or missing references) //IL_0207: Unknown result type (might be due to invalid IL or missing references) //IL_0264: Unknown result type (might be due to invalid IL or missing references) //IL_026a: Unknown result type (might be due to invalid IL or missing references) foreach (RestricaoUsuario restricoesBi in RestricoesBis) { if (restricoesBi.Tipo == x.Tipo) { restricoesBi.Restricao = x.Restricao; restricoesBi.Usuario = _selectedUsuario; } } foreach (RestricaoUsuario restricoesSeguro in RestricoesSeguros) { if (restricoesSeguro.Tipo == x.Tipo) { restricoesSeguro.Restricao = x.Restricao; restricoesSeguro.Usuario = _selectedUsuario; } } foreach (RestricaoUsuario restricoesRelatorio in RestricoesRelatorios) { if (restricoesRelatorio.Tipo == x.Tipo) { restricoesRelatorio.Restricao = x.Restricao; restricoesRelatorio.Usuario = _selectedUsuario; } } foreach (RestricaoUsuario restricoesTotalizacoesRelatorio in RestricoesTotalizacoesRelatorios) { if (restricoesTotalizacoesRelatorio.Tipo == x.Tipo) { restricoesTotalizacoesRelatorio.Restricao = x.Restricao; restricoesTotalizacoesRelatorio.Usuario = _selectedUsuario; } } foreach (RestricaoUsuario restricoesFinanceiro in RestricoesFinanceiros) { if (restricoesFinanceiro.Tipo == x.Tipo) { restricoesFinanceiro.Restricao = x.Restricao; restricoesFinanceiro.Usuario = _selectedUsuario; } } foreach (RestricaoUsuario restricoesFerramenta in RestricoesFerramentas) { if (restricoesFerramenta.Tipo == x.Tipo) { restricoesFerramenta.Restricao = x.Restricao; restricoesFerramenta.Usuario = _selectedUsuario; } } foreach (RestricaoUsuario restricoesAjuda in RestricoesAjudas) { if (restricoesAjuda.Tipo == x.Tipo) { restricoesAjuda.Restricao = x.Restricao; restricoesAjuda.Usuario = _selectedUsuario; } } }); copiarPermiss.Item5.ForEach(delegate(RestricaoUsuarioCamposRelatorios x) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) foreach (RestricaoUsuarioCamposRelatorios restricoesCamposRelatorio in RestricoesCamposRelatorios) { if (restricoesCamposRelatorio.Campo == x.Campo && restricoesCamposRelatorio.Relatorio == x.Relatorio) { restricoesCamposRelatorio.Restricao = x.Restricao; restricoesCamposRelatorio.Usuario = _selectedUsuario; } } }); RegistrarAcao("IMPORTOU PERMISSÕES/RESTRIÇÕES DO USUÁRIO \"" + copiarPermiss.Item2.Nome + "\"", ((DomainBase)SelectedUsuario).Id, (TipoTela)43, $"ID USUÁRIO: {((DomainBase)copiarPermiss.Item2).Id}"); return true; } public async Task ExportarPermissoes(List usuarios) { foreach (Usuario item in usuarios.Where((Usuario x) => x.Selecionado)) { await Salvar(((DomainBase)item).Id, registrar: false); } RegistrarAcao(string.Format("EXPORTOU PERMISSÕES/RESTRIÇÕES DO USUÁRIO \"{0}\" PARA {1} USUÁRIO{2}", SelectedUsuario.Nome, usuarios.Count, (usuarios.Count == 1) ? "" : "S"), ((DomainBase)SelectedUsuario).Id, (TipoTela)43, "IDS E NOMES DOS USUÁRIOS: " + string.Join("\n", usuarios.Select((Usuario x) => $"{((DomainBase)x).Id}: \"{x.Nome}\""))); return true; } public void AtivarDesativarPermissoes(bool permiss) { AtivarDesativarPermissoesBool = !permiss; Seguros.ToList().ForEach(delegate(PermissaoUsuario x) { x.Consultar = permiss; x.Incluir = permiss; x.Alterar = permiss; x.Excluir = permiss; }); Ferramentas.ToList().ForEach(delegate(PermissaoUsuario x) { x.Consultar = permiss; x.Incluir = permiss; x.Alterar = permiss; x.Excluir = permiss; }); ArquivosDigitais.ToList().ForEach(delegate(PermissaoArquivoDigital x) { x.Consultar = permiss; x.Incluir = permiss; x.Excluir = permiss; }); SelectedPermissao = (permiss ? ((IEnumerable)PermissaoAggilizador).FirstOrDefault((Func)((PermissaoAggilizador x) => x.Descricao == "ADMINISTRADOR")) : null); Seguros = new ObservableCollection(Seguros); Ferramentas = new ObservableCollection(Ferramentas); ArquivosDigitais = new ObservableCollection(ArquivosDigitais); } public void AtivarDesativarRestricoes(bool restricao) { AtivarDesativarRestricoesBool = !restricao; foreach (RestricaoUsuario restricoesBisFiltrada in RestricoesBisFiltradas) { restricoesBisFiltrada.Restricao = restricao; } foreach (RestricaoUsuario restricoesSegurosFiltrada in RestricoesSegurosFiltradas) { restricoesSegurosFiltrada.Restricao = restricao; } foreach (RestricaoUsuario restricoesRelatoriosFiltrado in RestricoesRelatoriosFiltrados) { restricoesRelatoriosFiltrado.Restricao = restricao; } foreach (RestricaoUsuario restricoesTotalizacoesRelatoriosFiltrado in RestricoesTotalizacoesRelatoriosFiltrados) { restricoesTotalizacoesRelatoriosFiltrado.Restricao = restricao; } foreach (RestricaoUsuarioCamposRelatorios restricoesCamposRelatoriosFiltrado in RestricoesCamposRelatoriosFiltrados) { restricoesCamposRelatoriosFiltrado.Restricao = restricao; } foreach (RestricaoUsuario restricoesFinanceirosFiltrada in RestricoesFinanceirosFiltradas) { restricoesFinanceirosFiltrada.Restricao = restricao; } foreach (RestricaoUsuario restricoesFerramentasFiltrada in RestricoesFerramentasFiltradas) { restricoesFerramentasFiltrada.Restricao = restricao; } foreach (RestricaoUsuario restricoesAjudasFiltrado in RestricoesAjudasFiltrados) { restricoesAjudasFiltrado.Restricao = restricao; } RestricoesBisFiltradas = new ObservableCollection(RestricoesBisFiltradas); RestricoesSegurosFiltradas = new ObservableCollection(RestricoesSegurosFiltradas); RestricoesRelatoriosFiltrados = new ObservableCollection(RestricoesRelatoriosFiltrados); RestricoesTotalizacoesRelatoriosFiltrados = new ObservableCollection(RestricoesTotalizacoesRelatoriosFiltrados); RestricoesCamposRelatoriosFiltrados = new ObservableCollection(RestricoesCamposRelatoriosFiltrados); RestricoesFinanceirosFiltradas = new ObservableCollection(RestricoesFinanceirosFiltradas); RestricoesFerramentasFiltradas = new ObservableCollection(RestricoesFerramentasFiltradas); RestricoesAjudasFiltrados = new ObservableCollection(RestricoesAjudasFiltrados); } public void AtivarDesativarRestricoes() { if (RestricoesBisFiltradas != null && RestricoesAjudasFiltrados != null && RestricoesSegurosFiltradas != null && RestricoesRelatoriosFiltrados != null && RestricoesFinanceirosFiltradas != null && RestricoesFerramentasFiltradas != null && RestricoesTotalizacoesRelatoriosFiltrados != null && RestricoesCamposRelatoriosFiltrados != null && RestricoesBisFiltradas.All((RestricaoUsuario x) => x.Restricao) && RestricoesAjudasFiltrados.All((RestricaoUsuario x) => x.Restricao) && RestricoesSegurosFiltradas.All((RestricaoUsuario x) => x.Restricao) && RestricoesRelatoriosFiltrados.All((RestricaoUsuario x) => x.Restricao) && RestricoesFinanceirosFiltradas.All((RestricaoUsuario x) => x.Restricao) && RestricoesFerramentasFiltradas.All((RestricaoUsuario x) => x.Restricao) && RestricoesTotalizacoesRelatoriosFiltrados.All((RestricaoUsuario x) => x.Restricao) && RestricoesCamposRelatoriosFiltrados.All((RestricaoUsuarioCamposRelatorios x) => x.Restricao)) { AtivarDesativarRestricoesBool = false; } } public void DesabilitarArquivoDigital(PermissaoArquivoDigital desabilitar) { PermissaoArquivoDigital val = ArquivosDigitais.First((PermissaoArquivoDigital x) => x.Tela == desabilitar.Tela); if (val.Incluir || val.Excluir) { val.Incluir = false; val.Excluir = false; ArquivosDigitais = new ObservableCollection(ArquivosDigitais); } } public void DesabilitarConsulta(PermissaoUsuario desabilitar, string source) { if (!(source == "Ferramentas")) { PermissaoUsuario val = Seguros.First((PermissaoUsuario x) => x.Tela == desabilitar.Tela); if (val.Incluir || val.Alterar || val.Excluir) { val.Alterar = false; val.Incluir = false; val.Excluir = false; Seguros = new ObservableCollection(Seguros); } } else { PermissaoUsuario val2 = Ferramentas.First((PermissaoUsuario x) => x.Tela == desabilitar.Tela); if (val2.Incluir || val2.Alterar || val2.Excluir) { val2.Alterar = false; val2.Incluir = false; val2.Excluir = false; Ferramentas = new ObservableCollection(Ferramentas); } } } public void HabilitarArquivoDigital(PermissaoArquivoDigital habilitar) { PermissaoArquivoDigital val = ArquivosDigitais.First((PermissaoArquivoDigital x) => x.Tela == habilitar.Tela); if (!val.Consultar) { val.Consultar = true; ArquivosDigitais = new ObservableCollection(ArquivosDigitais); } } public void HabilitarConsulta(PermissaoUsuario habilitar, string source) { if (!(source == "Ferramentas")) { PermissaoUsuario val = Seguros.First((PermissaoUsuario x) => x.Tela == habilitar.Tela); if (!val.Consultar) { val.Consultar = true; Seguros = new ObservableCollection(Seguros); } } else { PermissaoUsuario val2 = Ferramentas.First((PermissaoUsuario x) => x.Tela == habilitar.Tela); if (!val2.Consultar) { val2.Consultar = true; Ferramentas = new ObservableCollection(Ferramentas); } } } }