public virtual void ExportBankTransfers() { Traspasos banktransfers2 = null; try { _invoice_conditions.Orders.Clear(); _invoice_conditions.Orders.NewOrder("Fecha", System.ComponentModel.ListSortDirection.Ascending, typeof(Traspaso)); TraspasoList banktransfers = TraspasoList.GetList(_invoice_conditions, false); foreach (TraspasoInfo item in banktransfers) { if (item.EEstado == EEstado.Anulado) { continue; } LineaRegistro lr = _registry.LineaRegistros.NewItem(_registry, item); BuildBankTransferAccountingEntry(item, lr); _accounting_entry++; } //Cambiamos el estado de las ayudas contabilizadas banktransfers2 = Traspasos.GetList(_invoice_conditions, false); foreach (Traspaso item in banktransfers2) { if (item.EEstado == EEstado.Anulado) { continue; } if (item.EEstado != EEstado.Exportado) { item.EEstado = EEstado.Exportado; } } banktransfers2.Save(); } catch (Exception ex) { _registry = null; throw ex; } finally { if (banktransfers2 != null) { banktransfers2.CloseSession(); } } }
/// <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(Traspasos parent) { // if we're not dirty then don't update the database if (!this.IsDirty) { return; } OidUsuario = AppContext.User.Oid; Usuario = AppContext.User.Name; ValidationRules.CheckRules(); if (!IsValid) { throw new iQValidationException(Library.Resources.Messages.GENERIC_VALIDATION_ERROR); } SessionCode = parent.SessionCode; BankTransferRecord obj = Session().Get <BankTransferRecord>(Oid); Traspaso old = Traspaso.New(); old.Base.Record.CopyValues(obj); TraspasoInfo oldItem = old.GetInfo(false); obj.CopyValues(Base.Record); Session().Update(obj); //Si no se ha modificado el estado del traspaso es porque se ha modificado algún otro campo // y hay que modificar el movimiento asociado //En caso de haber modificado el estado, si el nuevo no es Exportado es porque se ha modificado //algún otro campo y hay que modificar el movimiento asociado if (EEstado == oldItem.EEstado || (EEstado != oldItem.EEstado && EEstado != EEstado.Exportado)) { //Editamos el Movimiento de Banco asociado si lo hubiera BankLine.EditItem(this, oldItem, SessionCode); } 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(Traspasos 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; } SessionCode = parent.SessionCode; Session().Delete(Session().Get <BankTransferRecord>(Oid)); //Anulamos el Movimiento de Banco asociado BankLine.AnulaItem(this, SessionCode); 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(Traspasos parent) { // if we're not dirty then don't update the database if (!this.IsDirty) { return; } GetNewCode(); ValidationRules.CheckRules(); if (!IsValid) { throw new iQValidationException(Library.Resources.Messages.GENERIC_VALIDATION_ERROR); } parent.Session().Save(Base.Record); //Insertamos el movimiento de banco asociado BankLine.InsertItem(this, SessionCode); MarkOld(); }