Advertisement
Seishura

Untitled

Dec 24th, 2020
901
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.76 KB | None | 0 0
  1.         public IList<OrdemServico> ObterOrdemServicosMapa(Filtro<OrdemServico> filtro)
  2.         {
  3.             return ObterOrdemServicosMapa(GetSession().Query<OrdemServico>().Filter(filtro));
  4.         }
  5.  
  6.         private IList<OrdemServico> ObterOrdemServicosMapa(IQueryable<OrdemServico> query)
  7.         {
  8.             var ordemQuery = GetSession().Query<Ordem>()
  9.                 .Where(c => c.Servicos.Any(d => query.Any(e => e == d)));
  10.  
  11.             ordemQuery.Fetch(c => c.Cliente)
  12.                 .ThenFetch(c => c.Pessoa)
  13.                 .ToFuture();
  14.  
  15.             ordemQuery.FetchMany(c => c.Pedidos).ToFuture();
  16.             ordemQuery.FetchMany(c => c.Adiantamentos).ThenFetch(c => c.Adiantamento).ToFuture();
  17.             ordemQuery.FetchMany(c => c.InformacoesAdicionais).ThenFetch(c => c.InformacaoAdicional).ToFuture();
  18.             ordemQuery.Fetch(c => c.Cliente).ThenFetch(c => c.Pessoa).ToFuture();
  19.             ordemQuery.FetchMany(c => c.Itens).ThenFetch(c => c.OrdemServico).ThenFetch(c => c.Periodo).ToFuture();
  20.  
  21.             ordemQuery.FetchMany(c => c.Adiantamentos)
  22.                 .ThenFetch(c => c.Adiantamento)
  23.                 .ToFuture();
  24.  
  25.  
  26.             if (Configuracao.Get<ISistemaConfiguracao>().ModuloPetLicenciado)
  27.             {
  28.                 GetSession().Query<OrdemPet>()
  29.                      .Where(c => c.Servicos.Any(d => query.Any(e => e.Id == d.Id)))
  30.                      .Fetch(c => c.Raca)
  31.                      .Fetch(c => c.Porte)
  32.                      .Fetch(c => c.Internacao)
  33.                      .Fetch(c => c.Animal)
  34.                          .ThenFetchMany(c => c.Imagens)
  35.                      .ToFuture();
  36.             }
  37.  
  38.             GetSession().Query<OrdemPedido>()
  39.                 .Where(c => ordemQuery.Any(d => d == c.Ordem))
  40.                 .Fetch(c => c.Pedido)
  41.                 .ToFuture();
  42.  
  43.             GetSession().Query<Profissional>()
  44.                 .Where(c => query.Any(d => d.Profissional == c))
  45.                 .Fetch(c => c.Pessoa)
  46.                 .Fetch(c => c.QuadroHorario)
  47.                 .ThenFetchMany(c => c.DiasSemana)
  48.                 .ToFuture();
  49.  
  50.             query.FetchMany(c => c.OrdemServicoProcedimentos)
  51.                 .ThenFetch(c => c.ServicoPrestadoProcedimento)
  52.                     .ThenFetch(c => c.Procedimento)
  53.                         .ThenFetch(c => c.ProdutoGrade)
  54.                 .ToFuture();
  55.  
  56.             query.Fetch(c => c.Ordem).ThenFetchMany(c => c.Itens).ToFuture();
  57.  
  58.             query.Fetch(c => c.ServicoPrestado).ToFuture();
  59.  
  60.             return query
  61.                 .Fetch(c => c.Ordem)
  62.                 .Fetch(c => c.Periodo)
  63.                 .Fetch(c => c.Profissional)
  64.                 .ToFuture()
  65.                 .OrderBy(c => c.Ordenacao)
  66.                 .ToList();
  67.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement