public void GotoPagoAction() { if (ActiveItem.EEstado == moleQule.Base.EEstado.Anulado) { return; } if (ActiveItem.Total == 0) { return; } if (ActiveItem.OidPago == 0) { //Se obtiene el registro desde la DB para que actualice el pendiente de pago //en el caso de que se haya creado justo antes de esta acción Payment pago = Payment.New(ExpenseInfo.Get(ActiveItem.Oid, false), moleQule.Store.Structs.EnumConvert.ToETipoPago(ActiveItem.ECategoriaGasto)); ExpensePaymentAddForm form = new ExpensePaymentAddForm(pago, this); form.ShowDialog(this); if (form.ActionResult == DialogResult.OK) { ActiveItem.CopyFrom(form.Entity); } } else { ExpensePaymentEditForm form = new ExpensePaymentEditForm(ActiveItem.OidPago, moleQule.Store.Structs.EnumConvert.ToETipoPago(ActiveItem.ECategoriaGasto), this); form.ShowDialog(this); } }
public override void OpenAddForm() { ETipoPago tipo = (_tipo != ETipoPago.Todos) ? _tipo : ActiveItem == null ? _tipo : ActiveItem.ETipoPago; switch (tipo) { case ETipoPago.Factura: { OpenEditForm(); _entity = null; } break; case ETipoPago.Gasto: { ExpensePaymentAddForm form = new ExpensePaymentAddForm(tipo, this); AddForm(form); _entity = (form.ActionResult == DialogResult.OK) ? form.Entity : null; } break; case ETipoPago.Nomina: { if (ActiveItem.OidAgente == 0) { PayrollPaymentAddForm form = new PayrollPaymentAddForm(tipo, this); AddForm(form); _entity = (form.ActionResult == DialogResult.OK) ? form.Entity : null; } else { OpenEditForm(); _entity = null; } } break; case ETipoPago.Prestamo: { LoanPaymentAddForm form = new LoanPaymentAddForm(tipo, this); AddForm(form); _entity = (form.ActionResult == DialogResult.OK) ? form.Entity : null; } break; case ETipoPago.Fraccionado: { PagoFraccionadoAddForm form = new PagoFraccionadoAddForm(tipo, this); AddForm(form); _entity = (form.ActionResult == DialogResult.OK) ? form.Entity : null; } break; case ETipoPago.ExtractoTarjeta: { CreditCardPaymentAddForm form = new CreditCardPaymentAddForm(tipo, this); AddForm(form); _entity = (form.ActionResult == DialogResult.OK) ? form.Entity : null; } break; } }