/// <summary> /// Actualiza el registro en la base de datos /// </summary> /// <param name="parent">Lista padre</param> /// <remarks>La utiliza la BusinessListBaseEx correspondiente para actualizar elementos<remarks/> internal void Update(LineaInventarios parent) { // if we're not dirty then don't update the database if (!this.IsDirty) { return; } try { ValidationRules.CheckRules(); if (!IsValid) { throw new iQValidationException(moleQule.Resources.Messages.GENERIC_VALIDATION_ERROR); } SessionCode = parent.SessionCode; LineaInventarioRecord obj = Session().Get <LineaInventarioRecord>(Oid); obj.CopyValues(this._base.Record); Session().Update(obj); } catch (Exception ex) { iQExceptionHandler.TreatException(ex); } MarkOld(); }
/// <summary> /// Borra el registro de la base de datos /// </summary> /// <param name="parent">Lista padre</param> /// <remarks>La utiliza la BusinessListBaseEx correspondiente para borrar elementos<remarks/> internal void DeleteSelf(LineaInventarios parent) { // if we're not dirty then don't update the database if (!this.IsDirty) { return; } // if we're new then don't update the database if (this.IsNew) { return; } try { SessionCode = parent.SessionCode; Session().Delete(Session().Get <LineaInventarioRecord>(Oid)); } catch (Exception ex) { iQExceptionHandler.TreatException(ex); } MarkNew(); }
/// <summary> /// Inserta el registro en la base de datos /// </summary> /// <param name="parent">Lista padre</param> /// <remarks>La utiliza la BusinessListBaseEx correspondiente para insertar elementos<remarks/> internal void Insert(LineaInventarios parent) { // if we're not dirty then don't update the database if (!this.IsDirty) { return; } try { ValidationRules.CheckRules(); if (!IsValid) { throw new iQValidationException(moleQule.Resources.Messages.GENERIC_VALIDATION_ERROR); } parent.Session().Save(Base.Record); } catch (Exception ex) { iQExceptionHandler.TreatException(ex); } MarkOld(); }
/// <summary> /// Construye el objeto y se encarga de obtener los /// hijos si los tiene y se solicitan /// </summary> /// <param name="source">DataReader fuente</param> private void Fetch(IDataReader source) { try { _base.CopyValues(source); if (Childs) { if (nHMng.UseDirectSQL) { LineaInventario.DoLOCK(Session()); string query = LineaInventarios.SELECT(this); IDataReader reader = nHMng.SQLNativeSelect(query, Session()); _lineainventarios = LineaInventarios.GetChildList(reader, false); } else { CriteriaEx criteria = LineaInventario.GetCriteria(Session()); criteria.AddEq("OidInventario", this.Oid); _lineainventarios = LineaInventarios.GetChildList(criteria.List <LineaInventario>()); } } } catch (Exception ex) { iQExceptionHandler.TreatException(ex); } MarkOld(); }
/// <summary> /// Construye el objeto y se encarga de obtener los /// hijos si los tiene y se solicitan /// </summary> /// <param name="source">Objeto fuente</param> private void Fetch(InventarioAlmacen source) { try { SessionCode = source.SessionCode; _base.CopyValues(source); if (Childs) { if (nHMng.UseDirectSQL) { LineaInventario.DoLOCK(Session()); string query = LineaInventarios.SELECT(this); IDataReader reader = nHMng.SQLNativeSelect(query, Session()); _lineainventarios = LineaInventarios.GetChildList(reader, false); } } } catch (Exception ex) { iQExceptionHandler.TreatException(ex); } MarkOld(); }
/// <summary> /// Crea un nuevo inventario /// </summary> /// <returns>Nuevo inventario creado</returns> public virtual void CreateInventario(long oid_almacen) { StoreInfo almacen = StoreInfo.Get(oid_almacen, true); LineaInventarios.Clear(); /* foreach (LineaAlmacenInfo item in almacen.Partidas) * { * LineaInventarios.NewItem(this, item); * }*/ }
/// <summary> /// Obtiene un registro de la base de datos /// </summary> /// <param name="criteria">Criterios de consulta</param> /// <remarks>Lo llama el DataPortal tras generar el objeto</remarks> private void DataPortal_Fetch(CriteriaEx criteria) { try { _base.Record.Oid = 0; SessionCode = criteria.SessionCode; Childs = criteria.Childs; if (nHMng.UseDirectSQL) { InventarioAlmacen.DoLOCK(Session()); IDataReader reader = nHMng.SQLNativeSelect(criteria.Query, Session()); if (reader.Read()) { _base.CopyValues(reader); } if (Childs) { string query = string.Empty; LineaInventario.DoLOCK(Session()); query = LineaInventarios.SELECT(this); reader = nHMng.SQLNativeSelect(query, Session()); _lineainventarios = LineaInventarios.GetChildList(reader); } } MarkOld(); } catch (Exception ex) { if (Transaction() != null) { Transaction().Rollback(); } iQExceptionHandler.TreatException(ex, new object[] { criteria.Query }); } }