Exemplo n.º 1
0
        public void CargarCreditosdeDebitos(Ccuenta_corriente obj)
        {
            DataTable tabla;

            foreach (Crecibo_debito aux in obj.Debitos)
            {
                tabla = Cdatos_operaciones.DevolverCreditosDeDebitos(aux);
                if (tabla.Rows.Count > 0 && aux.Creditos() == null)
                {
                    aux.InstanciaCreditos();
                    foreach (DataRow DR in tabla.Rows)
                    {
                        aux.AgregarCreditos(obj.BuscarCredito(Convert.ToInt32(DR[0])));
                    }
                }
            }
        }
Exemplo n.º 2
0
 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();
     }
 }