private void Fetch(Auditoria source)
        {
            try
            {
                SessionCode = source.SessionCode;

                _base.CopyValues(source);

                CriteriaEx criteria = CuestionAuditoria.GetCriteria(Session());
                criteria.AddEq("OidAuditoria", this.Oid);
                _cuestiones = CuestionesAuditoria.GetChildList(criteria.List <CuestionAuditoria>());

                criteria = InformeDiscrepancia.GetCriteria(Session());
                criteria.AddEq("OidAuditoria", this.Oid);
                _informes = InformesDiscrepancias.GetChildList(criteria.List <InformeDiscrepancia>());

                criteria = HistoriaAuditoria.GetCriteria(Session());
                criteria.AddEq("OidAuditoria", this.Oid);
                _historial = HistoriaAuditorias.GetChildList(criteria.List <HistoriaAuditoria>());

                criteria = NotificacionInterna.GetCriteria(Session());
                criteria.AddEq("OidAsociado", this.Oid);
                criteria.AddEq("TipoAsociado", (long)TipoNotificacionAsociado.COMUNICADO_AUDITORIA);
                _notificaciones = NotificacionesInternas.GetChildList(criteria.List <NotificacionInterna>());
            }
            catch (Exception ex)
            {
                iQExceptionHandler.TreatException(ex);
            }

            MarkOld();
        }
        //  private InformeDiscrepanciaList() { }

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

            criteria.Childs = childs;
            //No criteria. Retrieve all de List
            InformeDiscrepanciaList list = DataPortal.Fetch <InformeDiscrepanciaList>(criteria);

            CloseSession(criteria.SessionCode);

            return(list);
        }