diff options
Diffstat (limited to 'Decompiler/Gestor.Application.ViewModels.Generic/DialogCopiarPermissaoViewModel.cs')
| -rw-r--r-- | Decompiler/Gestor.Application.ViewModels.Generic/DialogCopiarPermissaoViewModel.cs | 320 |
1 files changed, 320 insertions, 0 deletions
diff --git a/Decompiler/Gestor.Application.ViewModels.Generic/DialogCopiarPermissaoViewModel.cs b/Decompiler/Gestor.Application.ViewModels.Generic/DialogCopiarPermissaoViewModel.cs new file mode 100644 index 0000000..465409a --- /dev/null +++ b/Decompiler/Gestor.Application.ViewModels.Generic/DialogCopiarPermissaoViewModel.cs @@ -0,0 +1,320 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Gestor.Application.Helpers; +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.Classificacao; +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.Generic; + +public class DialogCopiarPermissaoViewModel : BaseSegurosViewModel +{ + private Usuario _selectedUsuario; + + private Tuple<List<PermissaoUsuario>, Usuario, List<RestricaoUsuario>, List<PermissaoArquivoDigital>, List<RestricaoUsuarioCamposRelatorios>> _usuarioParameter; + + public Usuario SelectedUsuario + { + get + { + return _selectedUsuario; + } + set + { + _selectedUsuario = value; + WorkOnSelectedUsuario(value); + OnPropertyChanged("SelectedUsuario"); + } + } + + public Tuple<List<PermissaoUsuario>, Usuario, List<RestricaoUsuario>, List<PermissaoArquivoDigital>, List<RestricaoUsuarioCamposRelatorios>> UsuarioParameter + { + get + { + return _usuarioParameter; + } + set + { + _usuarioParameter = value; + OnPropertyChanged("UsuarioParameter"); + } + } + + public DialogCopiarPermissaoViewModel() + { + UsuarioParameter = new Tuple<List<PermissaoUsuario>, Usuario, List<RestricaoUsuario>, List<PermissaoArquivoDigital>, List<RestricaoUsuarioCamposRelatorios>>(null, null, null, null, null); + } + + private async void WorkOnSelectedUsuario(Usuario value) + { + if (value != null && ((DomainBase)value).Id != 0L) + { + UsuarioParameter = new Tuple<List<PermissaoUsuario>, Usuario, List<RestricaoUsuario>, List<PermissaoArquivoDigital>, List<RestricaoUsuarioCamposRelatorios>>(await GetPermissoes(value), value, await GetRestricoes(value), await GetPermissoesArquivoDigital(value), await GetRestricoesCamposRelatorios(value)); + } + } + + private async Task<List<PermissaoArquivoDigital>> GetPermissoesArquivoDigital(Usuario usuario) + { + List<PermissaoArquivoDigital> list = new List<PermissaoArquivoDigital>(); + List<string> telas = (from TipoArquivoDigital v in Enum.GetValues(typeof(TipoArquivoDigital)) + select ((object)(TipoArquivoDigital)(ref v)).ToString() into x + orderby x + select x).ToList(); + List<PermissaoArquivoDigital> 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<List<PermissaoUsuario>> GetPermissoes(Usuario usuario) + { + List<PermissaoUsuario> list = new List<PermissaoUsuario>(); + List<string> telas = (from TipoTela v in Enum.GetValues(typeof(TipoTela)) + select ((object)(TipoTela)(ref v)).ToString() into x + orderby x + select x).ToList(); + List<PermissaoUsuario> 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_003f: Unknown result type (might be due to invalid IL or missing references) + //IL_0129: Unknown result type (might be due to invalid IL or missing references) + //IL_012e: Unknown result type (might be due to invalid IL or missing references) + //IL_0135: Unknown result type (might be due to invalid IL or missing references) + //IL_0137: 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_0148: Unknown result type (might be due to invalid IL or missing references) + //IL_014f: Unknown result type (might be due to invalid IL or missing references) + //IL_0157: Unknown result type (might be due to invalid IL or missing references) + //IL_0161: Expected O, but got Unknown + TipoTela tela = (TipoTela)Enum.Parse(typeof(TipoTela), x); + if (string.Equals(ValidationHelper.GetCategory((Enum)(object)tela), "seguros", StringComparison.CurrentCultureIgnoreCase) || string.Equals(ValidationHelper.GetCategory((Enum)(object)tela), "ferramentas", 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<List<RestricaoUsuario>> GetRestricoes(Usuario usuario) + { + List<RestricaoUsuario> list = new List<RestricaoUsuario>(); + List<string> tipos = (from TipoRestricao v in Enum.GetValues(typeof(TipoRestricao)) + select ((object)(TipoRestricao)(ref v)).ToString() into x + orderby x + select x).ToList(); + List<RestricaoUsuario> 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_0087: Unknown result type (might be due to invalid IL or missing references) + //IL_008c: Unknown result type (might be due to invalid IL or missing references) + //IL_0093: Unknown result type (might be due to invalid IL or missing references) + //IL_0095: Unknown result type (might be due to invalid IL or missing references) + //IL_009f: Unknown result type (might be due to invalid IL or missing references) + //IL_00a7: Expected O, but got Unknown + TipoRestricao tipo = (TipoRestricao)Enum.Parse(typeof(TipoRestricao), x); + 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 + }; + list.Add(item); + }); + return list; + } + + private async Task<List<RestricaoUsuarioCamposRelatorios>> GetRestricoesCamposRelatorios(Usuario usuario) + { + List<RestricaoUsuarioCamposRelatorios> list = new List<RestricaoUsuarioCamposRelatorios>(); + List<ParametrosRelatorio> parametros = new List<ParametrosRelatorio>(); + foreach (Relatorio item2 in Enum.GetValues(typeof(Relatorio)).Cast<Relatorio>()) + { + switch ((int)item2) + { + case 0: + case 1: + parametros.AddRange(Funcoes.ColunasRelatorio<ClientesAtivosInativos>(item2, new List<ParametrosRelatorio>())); + break; + case 2: + parametros.AddRange(Funcoes.ColunasRelatorio<Producao>(item2, new List<ParametrosRelatorio>())); + break; + case 3: + parametros.AddRange(Funcoes.ColunasRelatorio<ApolicePendente>(item2, new List<ParametrosRelatorio>())); + break; + case 18: + parametros.AddRange(Funcoes.ColunasRelatorio<Tarefa>(item2, new List<ParametrosRelatorio>())); + break; + case 4: + parametros.AddRange(Funcoes.ColunasRelatorio<Renovacao>(item2, new List<ParametrosRelatorio>())); + break; + case 5: + parametros.AddRange(Funcoes.ColunasRelatorio<Comissao>(item2, new List<ParametrosRelatorio>())); + break; + case 6: + case 16: + parametros.AddRange(Funcoes.ColunasRelatorio<Pendente>(item2, new List<ParametrosRelatorio>())); + break; + case 9: + case 10: + parametros.AddRange(Funcoes.ColunasRelatorio<Sinistro>(item2, new List<ParametrosRelatorio>())); + break; + case 23: + parametros.AddRange(Funcoes.ColunasRelatorio<LogsEnvio>(item2, new List<ParametrosRelatorio>())); + break; + case 8: + parametros.AddRange(Funcoes.ColunasRelatorio<Auditoria>(item2, new List<ParametrosRelatorio>())); + break; + case 13: + parametros.AddRange(Funcoes.ColunasRelatorio<ExtratoBaixadoRelatorio>(item2, new List<ParametrosRelatorio>())); + break; + case 12: + parametros.AddRange(Funcoes.ColunasRelatorio<FaturaPendente>(item2, new List<ParametrosRelatorio>())); + break; + case 14: + parametros.AddRange(Funcoes.ColunasRelatorio<MetaSeguradoraRelatorio>(item2, new List<ParametrosRelatorio>())); + break; + case 15: + parametros.AddRange(Funcoes.ColunasRelatorio<MetaVendedorRelatorio>(item2, new List<ParametrosRelatorio>())); + break; + case 11: + parametros.AddRange(Funcoes.ColunasRelatorio<Fechamento>(item2, new List<ParametrosRelatorio>())); + break; + case 17: + parametros.AddRange(Funcoes.ColunasRelatorio<Licenciamento>(item2, new List<ParametrosRelatorio>())); + break; + case 27: + parametros.AddRange(Funcoes.ColunasRelatorio<Placas>(item2, new List<ParametrosRelatorio>())); + break; + case 7: + parametros.AddRange(Funcoes.ColunasRelatorio<DadosRelatorio>(item2, new List<ParametrosRelatorio>())); + break; + case 19: + parametros.AddRange(Funcoes.ColunasRelatorio<NotaFiscalRelatorio>(item2, new List<ParametrosRelatorio>())); + break; + case 20: + parametros.AddRange(Funcoes.ColunasRelatorio<PrevisaoPagamento>(item2, new List<ParametrosRelatorio>())); + break; + case 29: + parametros.AddRange(Funcoes.ColunasRelatorio<Classificacao>(item2, new List<ParametrosRelatorio>())); + break; + } + } + List<RestricaoUsuarioCamposRelatorios> 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; + } +} |