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, Usuario, List, List, List> _usuarioParameter; public Usuario SelectedUsuario { get { return _selectedUsuario; } set { _selectedUsuario = value; WorkOnSelectedUsuario(value); OnPropertyChanged("SelectedUsuario"); } } public Tuple, Usuario, List, List, List> UsuarioParameter { get { return _usuarioParameter; } set { _usuarioParameter = value; OnPropertyChanged("UsuarioParameter"); } } public DialogCopiarPermissaoViewModel() { UsuarioParameter = new Tuple, Usuario, List, List, List>(null, null, null, null, null); } private async void WorkOnSelectedUsuario(Usuario value) { if (value != null && ((DomainBase)value).Id != 0L) { UsuarioParameter = new Tuple, Usuario, List, List, List>(await GetPermissoes(value), value, await GetRestricoes(value), await GetPermissoesArquivoDigital(value), await GetRestricoesCamposRelatorios(value)); } } 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) { 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_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> GetRestricoes(Usuario usuario) { 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_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> 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; case 29: 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; } }