public FluxoAndamento RetornaFluxoAndamento(string modalidade, string tipoAndamento, string fase) { DetachedCriteria pesqAtividade = DetachedCriteria.For(typeof(Atividade)); pesqAtividade.Add(Expression.Eq("Descricao", tipoAndamento).IgnoreCase()); DetachedCriteria pesqFase = DetachedCriteria.For(typeof(Fase)); pesqFase.Add(Expression.Eq("Descricao", fase.ToUpper()).IgnoreCase()); DetachedCriteria pesqWorkFlow = DetachedCriteria.For(typeof(Workflow)); pesqWorkFlow.Add(Expression.Sql(@" this_.pk_cod_workflow_wor = (select fk_cod_workflow_wor from adm_licitar.tb_workflow_modalidade_unidade_exercicio_wmu wmu inner join adm_licitar.tb_modalidade_mod mod on mod.pk_cod_modalidade_mod = wmu.fk_cod_modalidade_mod where txt_descricao_mod ilike '" + modalidade + @"')")); Atividade.FindFirst(pesqAtividade); Workflow.FindFirst(pesqWorkFlow); Fase.FindFirst(pesqFase); DetachedCriteria pesqFluxoAndamento = DetachedCriteria.For(typeof(FluxoAndamento)); pesqFluxoAndamento.CreateAlias("Atividade", "ati").CreateAlias("Fase", "fas").CreateAlias("Workflow", "work"); pesqFluxoAndamento.Add(Expression.Eq("ati.Id", Atividade.FindFirst(pesqAtividade).Id)); pesqFluxoAndamento.Add(Expression.Eq("fas.Id", Fase.FindFirst(pesqFase).Id)); pesqFluxoAndamento.Add(Expression.Eq("work.Id", Workflow.FindFirst(pesqWorkFlow).Id)); pesqFluxoAndamento.Add(Expression.Eq("CombinacaoAtiva", true)); return(FluxoAndamento.FindFirst(pesqFluxoAndamento)); }
public static FluxoAndamento getFluxoAndamentoCadastroCadastradoPGE(string modalidade) { DetachedCriteria dcFluxo = DetachedCriteria.For(typeof(FluxoAndamento)); dcFluxo.CreateAlias("Fase", "fas"); dcFluxo.CreateAlias("Atividade", "ati"); dcFluxo.Add(Expression.Eq("fas.Descricao", "CADASTRO")); dcFluxo.Add(Expression.Eq("ati.Descricao", "CADASTRADO")); dcFluxo.Add(Expression.Sql("this_.fk_cod_workflow_wor in (select wor.pk_cod_workflow_wor from adm_licitar.tb_workflow_modalidade_unidade_exercicio_wmu wmu inner join adm_licitar.tb_workflow_wor wor on wmu.fk_cod_workflow_wor = wor.pk_cod_workflow_wor where wmu.fk_cod_modalidade_mod='" + modalidade + "')")); return(FluxoAndamento.FindFirst(dcFluxo)); }