public static void InsertItem(IBankLine source, long oid_caja, int sessionCode) { if (source is Payment && ((Payment)source).EEstadoPago != EEstado.Pagado) { return; } else if (source is Charge && ((Charge)source).EEstadoCobro != EEstado.Charged) { return; } switch (source.EMedioPago) { //Creamos la entrada de caja correspondiente case EMedioPago.Efectivo: { Cash caja = Cash.Get(oid_caja, sessionCode); CashLine lc = caja.Lines.NewItem(caja); lc.CopyFrom(source); if (source.ETipoMovimientoBanco == EBankLineType.PagoPrestamo) { Payment pago = (Payment)source; lc.Haber = pago.Importe + pago.GastosBancarios; } caja.UpdateSaldo(); caja.SaveAsChild(); //caja.CloseSession(); } break; } }
/// <summary> /// Realiza el Save de los objetos de la lista. Inserta, Actualiza o Borra en función /// de los flags de cada objeto de la lista /// </summary> /// <param name="parent">BusinessBaseEx padre de la lista</param> internal void Update(IBankLine parent) { this.RaiseListChangedEvents = false; SessionCode = parent.SessionCode; // update (thus deleting) any deleted child objects foreach (BankLine obj in DeletedList) { obj.DeleteSelf(parent); } // now that they are deleted, remove them from memory too DeletedList.Clear(); // add/update any current child objects foreach (BankLine obj in this) { if (!this.Contains(obj)) { if (obj.IsNew) { obj.Insert(parent); } else { obj.Update(parent); } } } this.RaiseListChangedEvents = true; }
public static void AnulaItem(IBankLine source, long oid_caja, int sessionCode) { switch (source.EMedioPago) { //Anulamos la salida de caja correspondiente case EMedioPago.Efectivo: { Cash caja = Cash.Get(oid_caja, sessionCode); CashLine lc = null; switch (source.ETipoMovimientoBanco) { case EBankLineType.PagoFactura: case EBankLineType.PagoGasto: case EBankLineType.PagoNomina: case EBankLineType.Prestamo: lc = caja.Lines.GetItemByPayment(source.Oid); break; case EBankLineType.Cobro: lc = caja.Lines.GetItemByCharge(source.Oid); break; } if (lc != null) { lc.EEstado = EEstado.Anulado; caja.UpdateSaldo(); caja.SaveAsChild(); //caja.CloseSession(); } else { CashLineInfo info = null; switch (source.ETipoMovimientoBanco) { case EBankLineType.PagoFactura: case EBankLineType.PagoGasto: case EBankLineType.PagoNomina: case EBankLineType.Prestamo: info = CashLineInfo.GetByPago(source.Oid); break; case EBankLineType.Cobro: info = CashLineInfo.GetByCobro(source.Oid); break; } if (info != null && info.OidCierre != 0) { throw new iQInfoException(Resources.Messages.LINEA_INCLUIDA_CIERRE); } } } break; } }
public static void AnulaItem(IBankLine source, int sessionCode) { AnulaItem(source, 1, sessionCode); }
public static void EditItem(IBankLine source, IBankLineInfo oldSource, long oid_caja, int sessionCode) { if (source.EEstado == EEstado.Anulado || (source is Payment && (source as Payment).EEstadoPago != EEstado.Pagado) || (source is Charge && (source as Charge).EEstadoCobro != EEstado.Charged)) { //Anulamos la salida de caja correspondiente AnulaItem(source, oid_caja, sessionCode); return; } switch (source.EMedioPago) { case EMedioPago.Efectivo: { Cash caja = Cash.Get(oid_caja, sessionCode); CashLine lc = null; switch (source.ETipoMovimientoBanco) { case EBankLineType.PagoFactura: case EBankLineType.PagoGasto: case EBankLineType.PagoNomina: case EBankLineType.Prestamo: case EBankLineType.PagoPrestamo: lc = caja.Lines.GetItemByPayment(source.Oid); break; case EBankLineType.Cobro: lc = caja.Lines.GetItemByCharge(source.Oid); break; } if (lc == null) { CashLineInfo info = null; switch (source.ETipoMovimientoBanco) { case EBankLineType.PagoFactura: case EBankLineType.PagoGasto: case EBankLineType.PagoNomina: case EBankLineType.Prestamo: info = CashLineInfo.GetByPago(source.Oid); break; case EBankLineType.Cobro: info = CashLineInfo.GetByCobro(source.Oid); break; } if (info != null && info.OidCierre != 0) { throw new iQInfoException(Resources.Messages.LINEA_INCLUIDA_CIERRE, string.Empty, iQExceptionCode.WARNING); } if ((source is Payment && (oldSource as PaymentInfo).EEstadoPago == EEstado.Pendiente && (source as Payment).EEstadoPago == EEstado.Pagado) || (source is Charge && (oldSource as ChargeInfo).EEstadoCobro == EEstado.Pendiente && (source as Charge).EEstadoCobro == EEstado.Charged)) { InsertItem(source, sessionCode); } return; } lc.CopyFrom(source); if (source.ETipoMovimientoBanco == EBankLineType.PagoPrestamo) { Payment pago = (Payment)source; lc.Haber = pago.Importe + pago.GastosBancarios; } caja.UpdateSaldo(); caja.SaveAsChild(); } break; } }
public static void EditItem(IBankLine source, IBankLineInfo oldSource, int sessionCode) { EditItem(source, oldSource, 1, sessionCode); }
public static void InsertItem(IBankLine source, int sessionCode) { InsertItem(source, 1, sessionCode); }
/// <summary> /// Crea un nuevo elemento y lo añade a la lista /// </summary> /// <returns>Nuevo item</returns> public BankLine NewItem(IBankLine parent) { this.NewItem(BankLine.NewChild(parent)); return(this[Count - 1]); }