public IList <Processo> AtribuidosPara(int matricula) { var pessoa = _pessoaRepository.Find(matricula); Processo processo = null; Pessoa pessoaDestino = null; OrgaoUnidade orgaoUnidadeDestino = null; var consulta = Session.QueryOver <Processo>(() => processo); consulta.Left.JoinQueryOver(() => processo.PessoaDestino, () => pessoaDestino); consulta.Left.JoinQueryOver(() => processo.OrgaoUnidadeDestino, () => orgaoUnidadeDestino); var condicoes = Restrictions.Disjunction(); condicoes.Add(Restrictions.Eq( Projections.Property(() => orgaoUnidadeDestino.IdOrgaoUnidade), pessoa.OrgaoUnidadeLotacao.IdOrgaoUnidade)); condicoes.Add(Restrictions.Eq(Projections.Property(() => pessoaDestino.Matricula), pessoa.Matricula)); return(consulta.Where(condicoes).OrderBy(() => processo.UltimaModificacao).Desc.List()); }
public void Start() { using (var session = _sessionFactory.OpenSession()) { var player1 = new Player { Name = "Aaron Rogers", Position = "QB", Team = "Green Bay Packers" }; var player2 = new Player { Name = "Tom Brady", Position = "QB", Team = "New England Patriots" }; var ship1 = new Spacecraft { Name = "Apollo", Agency = "NASA" }; var ship2 = new Spacecraft { Name = "Soyuz", Agency = "Roscosmos" }; var ouCsi = new OrgaoUnidade { DsOrgaoUnidade = "CSI", IdOrgaoUnidade = 1, Atributos = "D" }; var ouCorregedoria = new OrgaoUnidade { DsOrgaoUnidade = "Corregedoria-Geral do Ministério Público", IdOrgaoUnidade = 2, Atributos = "D" }; var assuntoCorreicaoOrdinaria = new Assunto { CdAssunto = 930406, DsAssunto = "Correição Ordinária" }; var assuntoCorreicaoExtra = new Assunto { CdAssunto = 930407, DsAssunto = "Correição Extraordinária" }; var assuntoFerias = new Assunto { CdAssunto = 930152, DsAssunto = "Férias" }; var movimentoEncaminhamento = new Movimento { CdMovimento = 920025, DsMovimento = "Encaminhamento a Órgão Interno", DsMovimentoSimples = "Encaminhamento a Órgão Interno" }; var movimentoEntrada = new Movimento { CdMovimento = 920246, DsMovimento = "Entrada da carga", DsMovimentoSimples = "Entrada da carga" }; var movimentoDeferimento = new Movimento { CdMovimento = 920370, DsMovimento = "Deferido / Concedido / Procedente / Autorizado", DsMovimentoSimples = "Deferido / Concedido / Procedente / Autorizado" }; var movimentoIndeferimento = new Movimento { CdMovimento = 920372, DsMovimento = "Indeferido / Prejudicado / Improcedente / Não autorizado", DsMovimentoSimples = "Indeferido / Prejudicado / Improcedente / Não autorizado" }; var cienciaDecisao = new Movimento { CdMovimento = 920311, DsMovimento = "Ciência de Decisão Administrativa", DsMovimentoSimples = "Ciência de Decisão Administrativa" }; var ruiDaBaea = new Pessoa { Matricula = 353547, Nome = "Rui Maurício", OrgaoUnidadeLotacao = ouCsi }; var tiagoCorreria = new Pessoa { Nome = "Tiago Magalhães", Matricula = 352862, OrgaoUnidadeLotacao = ouCorregedoria }; var processoCorreicao = new Processo { Assunto = assuntoCorreicaoOrdinaria, Autor = tiagoCorreria, Cadastro = DateTime.Now, Complemento = "Se ligue aí", OrgaoUnidadeDestino = ouCsi, Interessado = ruiDaBaea.Nome }; var movimentoEncaminhamentoCorreicao = new ProcessoMovimento { Autor = tiagoCorreria, Data = DateTime.Now, Movimento = movimentoEncaminhamento, OrgaoUnidadeDestino = ouCsi, OrgaoUnidadeOrigem = ouCorregedoria, PessoaOrigem = tiagoCorreria, Processo = processoCorreicao }; session.Save(player1); session.Save(player2); session.Save(ship1); session.Save(ship2); session.Save(ouCsi); session.Save(ouCorregedoria); session.Save(assuntoCorreicaoExtra); session.Save(assuntoCorreicaoOrdinaria); session.Save(assuntoFerias); session.Save(movimentoEncaminhamento); session.Save(movimentoEntrada); session.Save(movimentoDeferimento); session.Save(movimentoIndeferimento); session.Save(cienciaDecisao); session.Save(ruiDaBaea); session.Save(tiagoCorreria); session.Save(processoCorreicao); session.Save(movimentoEncaminhamentoCorreicao); processoCorreicao.UltimoMovimento = movimentoEncaminhamentoCorreicao; processoCorreicao.UltimaModificacao = movimentoEncaminhamentoCorreicao.Data; session.Save(processoCorreicao); session.Flush(); } }