public UnidadeExercicioFuncaoPessoa[] getUEFPporPessoa(int idPessoa)
        {
            DetachedCriteria dc = DetachedCriteria.For(typeof(UnidadeExercicioFuncaoPessoa));

            dc.Add(Expression.Eq("Pessoa.Id", idPessoa));
            dc.Add(Expression.Eq("DataFim", Convert.ToDateTime("01/01/0001 00:00:00")));
            dc.AddOrder(Order.Asc("DataInicio"));

            return(UnidadeExercicioFuncaoPessoa.FindAll(dc));
        }
        public UnidadeExercicioFuncaoPessoa[] ListarPregoeirosDaSubUnidade(int idSubUnidadeExercicio)
        {
            DetachedCriteria dc = DetachedCriteria.For(typeof(UnidadeExercicioFuncaoPessoa));

            dc.CreateAlias("UnidadeExercicioFuncao", "uef");
            dc.CreateAlias("uef.UnidadeExercicio", "uex");
            dc.Add(Expression.Eq("uex.Id", idSubUnidadeExercicio));
            dc.CreateAlias("uef.Funcao", "fun");
            dc.Add(Expression.InsensitiveLike("fun.Descricao", "%PREGOEIRO%"));
            dc.Add(Expression.Or(Expression.Eq("DataFim", Convert.ToDateTime("01/01/0001 00:00:00")), Expression.IsNull("DataFim")));
            return(UnidadeExercicioFuncaoPessoa.FindAll(dc));
        }
        public UnidadeExercicioFuncaoPessoa getAtualUniExerPessPorPessoa(int idPessoa)
        {
            string select = @"
			SELECT pk_cod_unidade_exercicio_funcao_pessoa_efp 
			FROM adm_licitar.tb_unidade_exercicio_funcao_pessoa_efp
			WHERE fk_cod_pessoa_pes = "            ;

            select += idPessoa + " AND dat_fim_efp = '-infinity' LIMIT 1 ";

            UnidadeExercicioFuncaoPessoa obj = null;

            DataTable dt = new PostgreSqlDatabase().Consultar(select);

            foreach (DataRow row in dt.Rows)
            {
                obj = UnidadeExercicioFuncaoPessoa.Find(Convert.ToInt32(row[0].ToString()));
            }

            return(obj);
        }
        public UnidadeExercicioFuncaoPessoa[] listarUEFP(string SUE, string pessoa, string UE)
        {
            DetachedCriteria dc = DetachedCriteria.For(typeof(UnidadeExercicioFuncaoPessoa));

            if (!string.IsNullOrEmpty(SUE))
            {
                dc.CreateAlias("UnidadeExercicioFuncao", "sue");
                dc.Add(Expression.Eq("sue.UnidadeExercicio.Id", Convert.ToInt32(SUE)));
                dc.AddOrder(Order.Asc("sue.UnidadeExercicio"));
            }
            else if (!string.IsNullOrEmpty(UE))
            {
                dc.CreateAlias("UnidadeExercicioFuncao", "sue");
                dc.CreateAlias("sue.UnidadeExercicio", "ue");
                dc.Add(Expression.Eq("ue.UnidadeExercicioPai.Id", Convert.ToInt32(UE)));
                dc.AddOrder(Order.Asc("sue.UnidadeExercicio"));
            }
            if (!string.IsNullOrEmpty(pessoa))
            {
                dc.Add(Expression.Eq("Pessoa.Id", Convert.ToInt32(pessoa)));
            }

            return(UnidadeExercicioFuncaoPessoa.FindAll(dc));
        }