static public int BuscarCuentayCargarDebito(Ccobro obj) { string cmdtext = "SELECT R.numero,Concepto,Importe,R.fecha,R.id_cuenta_corriente FROM [COBROS-RECIBOS] G inner join [RECIBOS_DEBITOS] R on G.numero=R.Numero WHERE id=" + obj.Numero; DataTable DT = cDatos.DevolverDatos(cmdtext); obj.Debito(new Crecibo_debito(Convert.ToInt32(DT.Rows[0][0]), DT.Rows[0][1].ToString(), Convert.ToDecimal(DT.Rows[0][2]), Convert.ToDateTime(DT.Rows[0][3]), true)); return(Convert.ToInt32(DT.Rows[0][4])); }
private void btn_Guardar_Click(object sender, EventArgs e) { try{ Oconcepto = (Cconcepto)cb_concepto.SelectedItem; if (Gasto) { Cgasto obj = new Cgasto(Oconcepto, Convert.ToDecimal(txt_importe.Text), (Cforma_pago)cb_FormasPagos.SelectedValue); if (Ooperacion == null) { if (obj.FORMAPAGO().Altera_caja) { if (ObjCajaDiaria.Efec_final >= obj.Importe) { adm.AgregarOperacion(obj, ObjCajaDiaria); } else { throw new Exception("No tiene suficiente plata en caja como para pagar ese gasto"); } } else { adm.AgregarOperacion(obj, ObjCajaDiaria); } } else { if (obj.FORMAPAGO().Altera_caja) { if (ObjCajaDiaria.Efec_final < (obj.Importe - Ooperacion.Importe)) { throw new Exception("No tiene suficiente plata en caja como para pagar ese gasto"); } } adm.ModificarOperacion((Cgasto)Ooperacion, obj, ObjCajaDiaria); } if (cb_registrar.Checked) { Ctrl_cuentas_corrientes admCuentas = Ctrl_cuentas_corrientes.ClaseActiva(); Cpago_credito objcu = new Cpago_credito(obj.Concepto, obj.Importe, DateTime.Today, true); Cproveedor objproveedor = ((Cproveedor)Opersona); admCuentas.CargarAltasDebitosyCreditos(objproveedor.DevolverCuentaCorriente()); admCuentas.AgregarOperacion(objcu, objproveedor.DevolverCuentaCorriente()); admCuentas.AgregarReferiaEntreOperacion(objcu, obj); } else { if (Opersona != null) { Cgasto ogasto = (Cgasto)Ooperacion; if (obj.Importe != ogasto.Credito().Importe) { Ccuenta_corriente cuenta = Opersona.DevolverCuentaCorriente(); ogasto.Credito().Importe = obj.Importe; cuenta.ModificarCredito(cuenta.BuscarCredito(ogasto.Credito().Numero), obj.Importe); Ctrl_cuentas_corrientes admCuentas = Ctrl_cuentas_corrientes.ClaseActiva(); admCuentas.ModificarOperacion(ogasto.Credito()); } } } } else { Ccobro obj = new Ccobro(Oconcepto, Convert.ToDecimal(txt_importe.Text), (Cforma_pago)cb_FormasPagos.SelectedValue); if (Ooperacion == null) { adm.AgregarOperacion(obj, ObjCajaDiaria); } else { adm.ModificarOperacion((Ccobro)Ooperacion, obj, ObjCajaDiaria); } if (cb_registrar.Checked) { Ctrl_cuentas_corrientes admCuentas = Ctrl_cuentas_corrientes.ClaseActiva(); Crecibo_debito objc = new Crecibo_debito(obj.Concepto, obj.Importe, DateTime.Today, true); Ccliente objcliente = ((Ccliente)Opersona); admCuentas.CargarAltasDebitosyCreditos(objcliente.DevolverCuentaCorriente()); admCuentas.AgregarOperacion(objc, objcliente.DevolverCuentaCorriente()); admCuentas.AgregarReferiaEntreOperacion(objc, obj); } else { if (Opersona != null) { Ccobro ocobro = (Ccobro)Ooperacion; if (obj.Importe != ocobro.Debito().Importe) { Ccuenta_corriente cuenta = Opersona.DevolverCuentaCorriente(); ocobro.Debito().Importe = obj.Importe; cuenta.ModificarDebito(cuenta.BuscarDebito(ocobro.Debito().Numero), obj.Importe); Ctrl_cuentas_corrientes admCuentas = Ctrl_cuentas_corrientes.ClaseActiva(); admCuentas.ModificarOperacion(ocobro.Debito()); } } } } Close(); } catch (Exception ex) { Frm_confirmacion frm = new Frm_confirmacion(ex.Message, "Error", "Aceptar"); frm.ShowDialog(); } }