/// <summary>
        /// Retrieve the complete list from db
        /// </summary>
        /// <returns>AuditoriaList</returns>
        public static AuditoriaList GetList(bool get_childs)
        {
            CriteriaEx criteria = Auditoria.GetCriteria(Auditoria.OpenSession());

            criteria.Childs = get_childs;

            criteria.Query = AuditoriaList.SELECT();

            AuditoriaList list = DataPortal.Fetch <AuditoriaList>(criteria);

            CloseSession(criteria.SessionCode);

            return(list);
        }
        /// <summary>
        /// Retrieve the complete list from db
        /// </summary>
        /// <returns>AuditoriaList</returns>
        public static long GetSiguienteTipoAuditoria(long oid_plan)
        {
            CriteriaEx criteria = Auditoria.GetCriteria(Auditoria.OpenSession());

            criteria.Childs = false;

            criteria.Query = Auditorias.SELECT_BY_PLAN(oid_plan);

            SerialAuditoriaInfo orden = DataPortal.Fetch <SerialAuditoriaInfo>(criteria);

            CloseSession(criteria.SessionCode);

            return(orden.Value);
        }
        /// <summary>
        /// Retrieve the complete list from db
        /// </summary>
        /// <returns>AuditoriaList</returns>
        public static AuditoriaList GetAvisoDiscrepanciasAbiertasList(DateTime f_fin)
        {
            CriteriaEx criteria = Auditoria.GetCriteria(Auditoria.OpenSession());

            criteria.Childs = false;

            criteria.Query = AuditoriaList.SELECT_AVISO_DISCREPANCIAS_ABIERTAS(f_fin);

            AuditoriaList list = DataPortal.Fetch <AuditoriaList>(criteria);

            CloseSession(criteria.SessionCode);

            return(list);
        }
        /// <summary>
        /// Retrieve the complete list from db
        /// </summary>
        /// <returns>AuditoriaList</returns>
        public static AuditoriaList GetAvisoInformesNoGenerados(DateTime f_fin)
        {
            CriteriaEx criteria = Auditoria.GetCriteria(Auditoria.OpenSession());

            criteria.Childs = false;

            criteria.Query = AuditoriaList.SELECT_AVISO_INFORMES_NO_GENERADOS(f_fin);

            AuditoriaList list = DataPortal.Fetch <AuditoriaList>(criteria);

            CloseSession(criteria.SessionCode);

            return(list);
        }
        /// <summary>
        /// Retrieve the complete list from db
        /// </summary>
        /// <returns>AuditoriaList</returns>
        public static AuditoriaList GetAbiertasList(long oid_auditoria, long oid_plan,
                                                    long estado, DateTime fecha_ini, DateTime fecha_fin, DateTime fecha_comunicacion,
                                                    bool f_ini, bool f_fin, bool f_comunicacion)
        {
            CriteriaEx criteria = Auditoria.GetCriteria(Auditoria.OpenSession());

            criteria.Childs = true;

            criteria.Query = AuditoriaList.SELECT_ABIERTAS(oid_auditoria, oid_plan, estado, fecha_ini, fecha_fin, fecha_comunicacion, f_ini, f_fin, f_comunicacion);

            AuditoriaList list = DataPortal.Fetch <AuditoriaList>(criteria);

            CloseSession(criteria.SessionCode);

            return(list);
        }