// called to retrieve data from the database private void DataPortal_Fetch(CriteriaEx criteria) { try { SessionCode = criteria.SessionCode; Childs = criteria.Childs; if (nHMng.UseDirectSQL) { IncidenciaCronograma.DoLOCK(Session()); IDataReader reader = nHMng.SQLNativeSelect(criteria.Query, Session()); if (reader.Read()) { _base.CopyValues(reader); } if (Childs) { IncidenciaSesionCronograma.DoLOCK(Session()); //PENDIENTE //string query = IncidenciaSesionesCronogramas.SELECT_SESIONES_PLAN(this.Oid); //reader = nHManager.Instance.SQLNativeSelect(query, Session()); //_sesiones = IncidenciaSesionesCronogramas.GetChildList(reader); } } else { _base.Record.CopyValues((IncidenciaCronogramaRecord)(criteria.UniqueResult())); //Session().Lock(Session().Get<IncidenciaCronogramaRecord>(Oid), LockMode.UpgradeNoWait); if (Childs) { criteria = IncidenciaSesionCronograma.GetCriteria(Session()); criteria.AddEq("OidIncidencia", this.Oid); _sesiones = IncidenciaSesionesCronogramas.GetChildList(criteria.List <IncidenciaSesionCronograma>()); } } } catch (NHibernate.ADOException) { if (Transaction() != null) { Transaction().Rollback(); } throw new iQLockException(moleQule.Library.Resources.Messages.LOCK_ERROR); } catch (Exception ex) { if (Transaction() != null) { Transaction().Rollback(); } iQExceptionHandler.TreatException(ex); } }
private void Fetch(IncidenciaCronograma source) { try { SessionCode = source.SessionCode; _base.CopyValues(source); CriteriaEx criteria = IncidenciaSesionCronograma.GetCriteria(Session()); criteria.AddEq("OidIncidencia", this.Oid); _sesiones = IncidenciaSesionesCronogramas.GetChildList(criteria.List <IncidenciaSesionCronograma>()); } catch (Exception ex) { iQExceptionHandler.TreatException(ex); } MarkOld(); }