private void btn_Eliminar_Click(object sender, EventArgs e)
 {
     try
     {
         if (dgrid_Creditos.SelectedRows.Count == 0)
         {
             Crecibo_debito obj        = (Crecibo_debito)dgrid_Debitos.CurrentRow.DataBoundItem;
             bool           TieneCobro = adm.TieneCobro(obj);
             if (TieneCobro)
             {
                 Frm_confirmacion frm = new Frm_confirmacion("El Recibo/Debito hace referencia a un cobro existente.\nEste cobro no se borrara por integridad de la caja diaria en la que está./nQuiere continuar?", "Referencia hacia un cobro", "No", "Si");
                 frm.ShowDialog();
                 if (frm.RESPUESTA == "Si")
                 {
                     adm.EliminarOperacion(obj, TieneCobro, objcuenta);
                     ActualizarGrillaDebitos();
                     lbl_saldo.Text = objcuenta.Saldo.ToString();
                 }
             }
             else
             {
                 adm.EliminarOperacion(obj, TieneCobro, objcuenta);
                 ActualizarGrillaDebitos();
                 lbl_saldo.Text = objcuenta.Saldo.ToString();
             }
         }
         else
         {
             Cpago_credito obj        = (Cpago_credito)dgrid_Creditos.CurrentRow.DataBoundItem;
             bool          TieneGasto = adm.TieneGasto(obj);
             if (TieneGasto)
             {
                 Frm_confirmacion frm = new Frm_confirmacion("El Pago/Credito hace referencia a un gasto existente.\nEste gasto no se borrara por integridad de la caja diaria en la que está./nQuiere continuar?", "Referencia hacia un gasto", "No", "Si");
                 frm.ShowDialog();
                 if (frm.RESPUESTA == "Si")
                 {
                     adm.EliminarOperacion(obj, TieneGasto, objcuenta);
                     ActualizarGrillaCreditos();
                     lbl_saldo.Text = objcuenta.Saldo.ToString();
                 }
             }
             else
             {
                 adm.EliminarOperacion(obj, TieneGasto, objcuenta);
                 ActualizarGrillaCreditos();
                 lbl_saldo.Text = objcuenta.Saldo.ToString();
             }
         }
     }
     catch (Exception ex)
     {
         Frm_confirmacion frm = new Frm_confirmacion(ex.Message, "Bueno, esto es embarazoso. Pero lo solucionaremos :)", "Aceptar");
         frm.ShowDialog();
     }
 }
 public Ccuenta_corriente EliminarOperacion(Cpago_credito obj, bool tienepago, Ccuenta_corriente cuenta)
 {
     Cdatos_operaciones.EliminarReferenciaDebitosCreditos("Credito", obj);
     if (tienepago)
     {
         EliminarRefOperacion(obj, "[GASTOS-PAGOS]");
     }
     Cdatos_operaciones.Eliminar("[PAGOS_CREDITOS]", obj);
     cuenta.EliminarCredito(obj);
     return(cuenta);
 }
示例#3
0
 static public DataTable DevolverRebibosDePagos(Cpago_credito obj)
 {
     try
     {
         string cmdtext = "SELECT Debito FROM [DEBITOS-CREDITOS] where Credito=" + obj.Numero;
         return(cDatos.DevolverDatos(cmdtext));
     }
     catch
     {
         throw new ArgumentException("Error al devolver los datos");
     }
 }
示例#4
0
 static public void AgregarRelacion(Cpago_credito obj1, Crecibo_debito obj2)
 {
     try
     {
         string cmdtxt = "INSERT INTO [DEBITOS-CREDITOS] (debito,credito) VALUES (" + obj2.Numero + "," + obj1.Numero + ")";
         cDatos.ActualizarDatos(cmdtxt);
         Actualizar = true;
     }
     catch
     {
         throw new ArgumentException("Error al cargar la operacion debitos a creditos");
     }
 }
示例#5
0
 static public void AgregarRelacion(Cpago_credito obj1, Cventa obj2, int id_caja_diaria)
 {
     try
     {
         string cmdtxt = "INSERT INTO [VENTAS-CREDITOS] (numero,id_caja_diaria,id_venta) VALUES (" + obj1.Numero + "," + id_caja_diaria + "," + obj2.ID + ")";
         cDatos.ActualizarDatos(cmdtxt);
         Actualizar = true;
     }
     catch
     {
         throw new ArgumentException("Error al cargar la operacion venta a creditos");
     }
 }
示例#6
0
 static public void AgregarRelacion(Cpago_credito obj1, Cgasto obj2)
 {
     try
     {
         string cmdtxt = "INSERT INTO [GASTOS-PAGOS] (numero,id) VALUES (" + obj1.Numero + "," + obj2.Numero + ")";
         cDatos.ActualizarDatos(cmdtxt);
         Actualizar = true;
     }
     catch
     {
         throw new ArgumentException("Error al cargar la operacion");
     }
 }
 public void DarBajaoAlta(Cpago_credito obj, Ccuenta_corriente objcuenta, bool alta)
 {
     Cdatos_operaciones.Modificar("[PAGOS_CREDITOS]", obj, alta, obj.Concepto);
     if (alta)
     {
         objcuenta.Creditos.Remove(obj);
         obj.Alta = alta;
         objcuenta.AgregarCredito(obj);
     }
     else
     {
         objcuenta.EliminarCredito(obj);
     }
 }
示例#8
0
        static public bool TieneGasto(Cpago_credito obj)
        {
            string    cmdtext = "SELECT id FROM [GASTOS-PAGOS] WHERE numero=" + obj.Numero;
            DataTable DT      = cDatos.DevolverDatos(cmdtext);

            if (DT.Rows.Count == 0)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
 public void AgregarOperacion(Cpago_credito objcredito, Ccuenta_corriente objcuenta)
 {
     if (ultimoCredito == 0)
     {
         ultimoCredito = Cdatos_operaciones.DevolverUltimo("[PAGOS_CREDITOS]");
     }
     try
     {
         ultimoCredito++;
         objcredito.Numero = ultimoCredito;
         Cdatos_operaciones.Agregar("[PAGOS_CREDITOS]", objcredito, objcuenta, objcredito.Concepto);
         objcuenta.AgregarCredito(objcredito);
         Cdatos_cuentas_corrientes.Modificar(objcuenta);
     }
     catch
     {
         AgregarOperacion(objcredito, objcuenta);
     }
 }
        public void CargarBajasDebitosyCreditos(Ccuenta_corriente obj)
        {
            DataTable      DT    = Cdatos_operaciones.DevolverDebitos(obj, false);
            int            index = 0;
            Crecibo_debito oDebito;

            foreach (DataRow DR in DT.Rows)
            {
                oDebito = new Crecibo_debito(Convert.ToInt32(DR[0]), DR[1].ToString(), Convert.ToDecimal(DR[2]), Convert.ToDateTime(DR[3]), false);
                obj.Debitos.Insert(index, oDebito);
                index++;
                if (DR[4].ToString() != "")
                {
                    oDebito.Compra(new Ccompra(Convert.ToInt32(DR[4]), Convert.ToDecimal(DR[5]), Convert.ToDecimal(DR[6]), Convert.ToDecimal(DR[7]), Convert.ToDateTime(DR[8])));
                }
            }
            DT    = Cdatos_operaciones.DevolverCreditos(obj, false);
            index = 0;
            Cpago_credito     oCredito = null;
            Cpago             oPago;
            Ctrl_formas_pagos adm = Ctrl_formas_pagos.ClaseActiva();

            foreach (DataRow DR in DT.Rows)
            {
                if (index == 0 || obj.Creditos[index].Numero != Convert.ToInt32(DR[0]))
                {
                    oCredito = new Cpago_credito(Convert.ToInt32(DR[0]), DR[1].ToString(), Convert.ToDecimal(DR[2]), Convert.ToDateTime(DR[3]), false);
                    obj.Creditos.Insert(index, oCredito);
                    index++;
                    if (DR[4].ToString() != "")
                    {
                        oPago = new Cpago(adm.BuscarPorID(Convert.ToInt32(DR[11])), Convert.ToDecimal(DR[8]), DR[9].ToString(), Convert.ToDecimal(DR[10]));
                        oCredito.Venta(new Cventa(Convert.ToInt32(DR[4]), Convert.ToDecimal(DR[6]), Convert.ToDecimal(DR[7]), oPago));
                        oCredito.ID_Caja_Diaria(Convert.ToInt32(DR[5]));
                    }
                }
                else
                {
                    oPago = new Cpago(adm.BuscarPorID(Convert.ToInt32(DR[11])), Convert.ToDecimal(DR[8]), DR[9].ToString(), Convert.ToDecimal(DR[10]));
                    oCredito.Venta().Pago2 = oPago;
                }
            }
        }
示例#11
0
 private void btn_Modificar_Click(object sender, EventArgs e)
 {
     if (dgrid_Creditos.SelectedRows.Count == 0)
     {
         Crecibo_debito odebito = (Crecibo_debito)dgrid_Debitos.CurrentRow.DataBoundItem;
         txt_concepto.Text  = odebito.Concepto;
         objoperacion       = odebito;
         rb_credito.Checked = false;
         rb_debito.Checked  = true;
     }
     else
     {
         Cpago_credito ocredito = (Cpago_credito)dgrid_Creditos.CurrentRow.DataBoundItem;
         txt_concepto.Text  = ocredito.Concepto;
         objoperacion       = ocredito;
         rb_debito.Checked  = false;
         rb_credito.Checked = true;
     }
     Expandido();
     cb_afecta_caja_CheckedChanged(sender, e);
     txt_dia.Text     = objoperacion.Fecha.ToShortDateString();
     txt_importe.Text = objoperacion.Importe.ToString();
 }
示例#12
0
 private void dgrid_Creditos_MouseDoubleClick(object sender, MouseEventArgs e)
 {
     try
     {
         if (dgrid_Creditos.SelectedRows.Count > 0 && !proveedor)
         {
             int cal = (dgrid_Creditos.Rows[0].Height * (dgrid_Creditos.Rows.Count)) + 28;
             if (cal > e.Location.Y && e.Location.Y > 28)
             {
                 Cpago_credito ocredito = (Cpago_credito)dgrid_Creditos.CurrentRow.DataBoundItem;
                 Cventa        oVenta   = ocredito.Venta();
                 if (oVenta != null)
                 {
                     if (oVenta.Items().Count == 0)
                     {
                         Ctrl_Ventas admventa = Ctrl_Ventas.ClaseActiva();
                         admventa.CargarItems(oVenta, ocredito.ID_Caja_Diaria());
                     }
                     string argumento = "Forma de pago : " + oVenta.Pago.FormaPago + "\nDesc/Rec : $ " + oVenta.Pago.Descuento + "\nImporte : $ " + oVenta.Pago.Importe;
                     if (oVenta.Pago2 != null)
                     {
                         argumento = argumento + "\nForma de pago 2 : " + oVenta.Pago2.FormaPago + "\nDesc/Rec : $ " + oVenta.Pago2.Descuento + "\nImporte : $ " + oVenta.Pago2.Importe;
                     }
                     Ctrl_cajas_diarias ctrl = Ctrl_cajas_diarias.ClaseActiva();
                     Frm_Items          frm  = new Frm_Items(argumento, oVenta, ctrl.BuscarCajaDiaria(ocredito.ID_Caja_Diaria()), ocredito.Fecha);
                     frm.ShowDialog();
                 }
             }
         }
     }
     catch (Exception ex)
     {
         Frm_confirmacion frm = new Frm_confirmacion(ex.Message, "Bueno, esto es embarazoso. Pero lo solucionaremos :)", "Aceptar");
         frm.ShowDialog();
     }
 }
 public void AgregarReferiaEntreOperacion(Cpago_credito objcredito, Cventa objventa, Ccaja_diaria caja)
 {
     objcredito.Venta(objventa);
     Cdatos_operaciones.AgregarRelacion(objcredito, objventa, caja.ID);
 }
示例#14
0
 private void SeleccionarTodos()
 {
     txt_concepto.Text = "Liquidación de ";
     if (proveedor)
     {
         rb_debito.Checked  = false;
         rb_credito.Checked = true;
         foreach (DataGridViewRow fila in dgrid_Debitos.Rows)
         {
             Crecibo_debito obj    = (Crecibo_debito)fila.DataBoundItem;
             decimal        pagado = 0;
             foreach (Cpago_credito auxcredito in objcuenta.Creditos)
             {
                 if (auxcredito.Recibos() != null)
                 {
                     if (auxcredito.Recibos().Contains(obj))
                     {
                         pagado += auxcredito.Importe;
                     }
                 }
             }
             fila.Cells["Concepto"].Style.BackColor = Color.FromArgb(240, 194, 70);
             fila.Cells["Importe"].Style.BackColor  = Color.FromArgb(240, 194, 70);
             txt_concepto.Text = txt_concepto.Text + obj.Concepto + ", ";
             if (LRecibos.Count < 1)
             {
                 txt_importe.Text = "0";
                 ApagarDelprimero = obj.Importe - pagado;
             }
             else if (LRecibos.Count == 1)
             {
                 txt_importe.Text    = ApagarDelprimero.ToString();
                 txt_importe.Enabled = false;
             }
             txt_importe.Text = (Convert.ToDecimal(txt_importe.Text) + (obj.Importe - pagado)).ToString();
             LRecibos.Add(obj);
         }
     }
     else
     {
         decimal total = 0;
         rb_debito.Checked  = true;
         rb_credito.Checked = false;
         foreach (DataGridViewRow fila in dgrid_Creditos.Rows)
         {
             Cpago_credito auxcred = (Cpago_credito)fila.DataBoundItem;
             decimal       pagado  = 0;
             foreach (Crecibo_debito auxdebito in objcuenta.Debitos)
             {
                 if (auxdebito.Creditos() != null)
                 {
                     if (auxdebito.Creditos().Contains(auxcred))
                     {
                         pagado += auxdebito.Importe;
                     }
                 }
             }
             fila.Cells["Concepto"].Style.BackColor = Color.FromArgb(240, 194, 70);
             fila.Cells["Importe"].Style.BackColor  = Color.FromArgb(240, 194, 70);
             txt_concepto.Text = txt_concepto.Text + auxcred.Concepto + ", ";
             if (LCreditos.Count < 1)
             {
                 txt_importe.Text = "0";
                 ApagarDelprimero = auxcred.Importe - pagado;
             }
             else if (LCreditos.Count == 1)
             {
                 total = ApagarDelprimero;
                 txt_importe.Enabled = false;
             }
             total += (auxcred.Importe - pagado);
             LCreditos.Add(auxcred);
         }
         txt_importe.Text = total.ToString();
     }
 }
示例#15
0
 private void dgrid_Creditos_SelectionChanged(object sender, EventArgs e)
 {
     if (dgrid_Creditos.SelectedRows.Count > 0)
     {
         Cpago_credito objcred = ((Cpago_credito)dgrid_Creditos.CurrentRow.DataBoundItem);
         if (!proveedor)
         {
             decimal pagado = 0;
             foreach (Crecibo_debito aux in objcuenta.Debitos)
             {
                 if (aux.Creditos() != null)
                 {
                     if (aux.Creditos().Contains(objcred))
                     {
                         pagado += aux.Importe;
                     }
                 }
             }
             L_Incial.Text = objcred.Importe.ToString();
             L_Pagado.Text = pagado.ToString();
             L_APagar.Text = (objcred.Importe - pagado).ToString();
         }
         if (ModoModificacion)
         {
             if (LCreditos.Contains(objcred))
             {
                 dgrid_Creditos.CurrentRow.Cells["Concepto"].Style.BackColor = Color.FromArgb(64, 64, 64);
                 dgrid_Creditos.CurrentRow.Cells["Importe"].Style.BackColor  = Color.FromArgb(64, 64, 64);
                 txt_concepto.Text = txt_concepto.Text.Replace(objcred.Concepto + ", ", "");
                 if (LCreditos.Count == 2)
                 {
                     txt_importe.Enabled = true;
                 }
                 total           -= Convert.ToDecimal(L_APagar.Text);
                 txt_importe.Text = total.ToString();
                 LCreditos.Remove(objcred);
             }
             else
             {
                 dgrid_Creditos.CurrentRow.Cells["Concepto"].Style.BackColor = Color.FromArgb(240, 194, 70);
                 dgrid_Creditos.CurrentRow.Cells["Importe"].Style.BackColor  = Color.FromArgb(240, 194, 70);
                 txt_concepto.Text = txt_concepto.Text + objcred.Concepto + ", ";
                 if (LCreditos.Count < 1)
                 {
                     total            = Convert.ToDecimal(L_APagar.Text);
                     ApagarDelprimero = total;
                 }
                 else if (LCreditos.Count == 1)
                 {
                     txt_importe.Enabled = false;
                     total += Convert.ToDecimal(L_APagar.Text);
                 }
                 else
                 {
                     total += Convert.ToDecimal(L_APagar.Text);
                 }
                 LCreditos.Add(objcred);
                 txt_importe.Text = total.ToString();
             }
             dgrid_Creditos.ClearSelection();
         }
         else
         {
             dgrid_Debitos.ClearSelection();
             btn_Eliminar.Enabled  = true;
             btn_Modificar.Enabled = true;
             if (vertodos)
             {
                 if (!objcred.AltaOp())
                 {
                     btn_DarBaja.Enabled = true;
                 }
                 else
                 {
                     btn_DarBaja.Enabled = false;
                 }
             }
             else
             {
                 btn_DarBaja.Enabled = true;
             }
         }
     }
 }
 public void CargarAltasDebitosyCreditos(Ccuenta_corriente obj)
 {
     if (obj.Creditos == null)
     {
         decimal saldoActual = obj.Saldo;
         obj.Saldo = 0;
         DataTable DT = Cdatos_operaciones.DevolverDebitos(obj, true);
         obj.Debitos = new List <Crecibo_debito>();
         Crecibo_debito oDebito;
         foreach (DataRow DR in DT.Rows)
         {
             oDebito = new Crecibo_debito(Convert.ToInt32(DR[0]), DR[1].ToString(), Convert.ToDecimal(DR[2]), Convert.ToDateTime(DR[3]), true);
             obj.AgregarDebito(oDebito);
             if (DR[4].ToString() != "")
             {
                 oDebito.Compra(new Ccompra(Convert.ToInt32(DR[4]), Convert.ToDecimal(DR[5]), Convert.ToDecimal(DR[6]), Convert.ToDecimal(DR[7]), Convert.ToDateTime(DR[8])));
             }
         }
         DT           = Cdatos_operaciones.DevolverCreditos(obj, true);
         obj.Creditos = new List <Cpago_credito>();
         Cpago_credito     oCredito = null;
         int               index    = 0;
         Cpago             oPago;
         Ctrl_formas_pagos adm = Ctrl_formas_pagos.ClaseActiva();
         foreach (DataRow DR in DT.Rows)
         {
             if (index == 0)
             {
                 oCredito = new Cpago_credito(Convert.ToInt32(DR[0]), DR[1].ToString(), Convert.ToDecimal(DR[2]), Convert.ToDateTime(DR[3]), true);
                 //obj.Creditos.Insert(index, oCredito);
                 obj.AgregarCredito(oCredito);
                 index++;
                 if (DR[4].ToString() != "")
                 {
                     oPago = new Cpago(adm.BuscarPorID(Convert.ToInt32(DR[11])), Convert.ToDecimal(DR[8]), DR[9].ToString(), Convert.ToDecimal(DR[10]));
                     oCredito.Venta(new Cventa(Convert.ToInt32(DR[4]), Convert.ToDecimal(DR[6]), Convert.ToDecimal(DR[7]), Convert.ToDecimal(DR[6]) - Convert.ToDecimal(DR[7]), oPago));
                     oCredito.ID_Caja_Diaria(Convert.ToInt32(DR[5]));
                 }
             }
             else
             {
                 if (obj.Creditos[index - 1].Numero != Convert.ToInt32(DR[0]))
                 {
                     oCredito = new Cpago_credito(Convert.ToInt32(DR[0]), DR[1].ToString(), Convert.ToDecimal(DR[2]), Convert.ToDateTime(DR[3]), true);
                     //obj.Creditos.Insert(index, oCredito);
                     obj.AgregarCredito(oCredito);
                     index++;
                     if (DR[4].ToString() != "")
                     {
                         oPago = new Cpago(adm.BuscarPorID(Convert.ToInt32(DR[11])), Convert.ToDecimal(DR[8]), DR[9].ToString(), Convert.ToDecimal(DR[10]));
                         oCredito.Venta(new Cventa(Convert.ToInt32(DR[4]), Convert.ToDecimal(DR[6]), Convert.ToDecimal(DR[7]), Convert.ToDecimal(DR[6]) - Convert.ToDecimal(DR[7]), oPago));
                         oCredito.ID_Caja_Diaria(Convert.ToInt32(DR[5]));
                     }
                 }
                 else
                 {
                     oPago = new Cpago(adm.BuscarPorID(Convert.ToInt32(DR[11])), Convert.ToDecimal(DR[8]), DR[9].ToString(), Convert.ToDecimal(DR[10]));
                     oCredito.Venta().Pago2 = oPago;
                 }
             }
         }
         if (saldoActual != obj.Saldo)
         {
             Modificar(obj);
         }
     }
 }
示例#17
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();
     }
 }
示例#18
0
        private void btn_Guardar_Click(object sender, EventArgs e)
        {
            try
            {
                if (objoperacion == null)
                {
                    Ctrl_conceptos admconceptos = Ctrl_conceptos.ClaseActiva();
                    if (rb_credito.Checked)
                    {
                        Cpago_credito objcredi = new Cpago_credito(txt_concepto.Text, Convert.ToDecimal(txt_importe.Text), DateTime.Today, true);
                        adm.AgregarOperacion(objcredi, objcuenta);
                        if (proveedor)
                        {
                            if (LRecibos.Count > 0)
                            {
                                bool darbaja = false;
                                if (LRecibos.Count > 1 || ApagarDelprimero == objcredi.Importe)
                                {
                                    adm.DarBajaoAlta(objcredi, objcuenta, false);
                                    darbaja = true;
                                }
                                objcredi.InstanciaRecibos();
                                int           seguidor;
                                int           tope;
                                Cpago_credito auxCredito;
                                foreach (Crecibo_debito auxDebito in LRecibos)
                                {
                                    adm.AgregarReferiaEntreOperacion(objcredi, auxDebito);
                                    objcredi.AgregarRecibo(auxDebito);
                                    if (darbaja)
                                    {
                                        adm.DarBajaoAlta(auxDebito, objcuenta, false);
                                        seguidor = 0;
                                        tope     = objcuenta.Creditos.Count;
                                        while (seguidor < tope)
                                        {
                                            auxCredito = objcuenta.Creditos[seguidor];
                                            if (auxCredito.Recibos() != null)
                                            {
                                                if (auxCredito.Recibos().Contains(auxDebito))
                                                {
                                                    adm.DarBajaoAlta(auxCredito, objcuenta, false);
                                                    tope--;
                                                    seguidor--;
                                                }
                                            }
                                            seguidor++;
                                        }
                                    }
                                }
                            }
                        }
                        if (cb_afecta_caja.Checked)
                        {
                            Cgasto objgasto = new Cgasto(admconceptos.BuscarPorID(1), objcredi.Importe, forma);
                            admcaja.AgregarOperacion(objgasto, ObjCajaDiaria);
                            adm.AgregarReferiaEntreOperacion(objcredi, objgasto);
                        }
                    }
                    else
                    {
                        Crecibo_debito objdebito = new Crecibo_debito(txt_concepto.Text, Convert.ToDecimal(txt_importe.Text), DateTime.Today, true);
                        adm.AgregarOperacion(objdebito, objcuenta);
                        if (!proveedor)
                        {
                            if (LCreditos.Count > 0)
                            {
                                bool darbaja = false;
                                if (LCreditos.Count > 1 || ApagarDelprimero == objdebito.Importe)
                                {
                                    adm.DarBajaoAlta(objdebito, objcuenta, false);
                                    darbaja = true;
                                }
                                objdebito.InstanciaCreditos();
                                int            seguidor;
                                int            tope;
                                Crecibo_debito auxDebito;
                                foreach (Cpago_credito auxCredito in LCreditos)
                                {
                                    adm.AgregarReferiaEntreOperacion(auxCredito, objdebito);
                                    objdebito.AgregarCreditos(auxCredito);

                                    if (darbaja)
                                    {
                                        adm.DarBajaoAlta(auxCredito, objcuenta, false);
                                        seguidor = 0;
                                        tope     = objcuenta.Debitos.Count;
                                        while (seguidor < tope)
                                        {
                                            auxDebito = objcuenta.Debitos[seguidor];
                                            if (auxDebito.Creditos() != null)
                                            {
                                                if (auxDebito.Creditos().Contains(auxCredito))
                                                {
                                                    adm.DarBajaoAlta(auxDebito, objcuenta, false);
                                                    tope--;
                                                    seguidor--;
                                                }
                                            }
                                            seguidor++;
                                        }
                                    }
                                }
                            }
                        }
                        if (cb_afecta_caja.Checked)
                        {
                            Ccobro objcobro = new Ccobro(admconceptos.BuscarPorID(2), objdebito.Importe, forma);
                            admcaja.AgregarOperacion(objcobro, ObjCajaDiaria);
                            adm.AgregarReferiaEntreOperacion(objdebito, objcobro);
                        }
                    }
                }
                else
                {
                    if (rb_credito.Checked)
                    {
                        Cpago_credito objcredito = (Cpago_credito)objoperacion;
                        objcredito.Concepto = txt_concepto.Text;
                        adm.ModificarOperacion(new Cpago_credito(objoperacion.Numero, txt_concepto.Text, Convert.ToDecimal(txt_importe.Text), Convert.ToDateTime(txt_dia.Text), objcredito.AltaOp()));
                        objcuenta.ModificarCredito(objcredito, Convert.ToDecimal(txt_importe.Text));
                    }
                    else
                    {
                        Crecibo_debito objdebito = (Crecibo_debito)objoperacion;
                        objdebito.Concepto = txt_concepto.Text;
                        adm.ModificarOperacion(new Crecibo_debito(objoperacion.Numero, txt_concepto.Text, Convert.ToDecimal(txt_importe.Text), Convert.ToDateTime(txt_dia.Text), objdebito.AltaOp()));
                        objcuenta.ModificarDebito(objdebito, Convert.ToDecimal(txt_importe.Text));
                    }
                }
                ActualizarGrillaCreditos();
                ActualizarGrillaDebitos();
                lbl_saldo.Text = objcuenta.Saldo.ToString();
                btn_Cancelar_Click(sender, e);
                adm.Modificar(objcuenta);
            }
            catch (Exception ex)
            {
                Frm_confirmacion frm = new Frm_confirmacion(ex.Message, "Bueno, esto es embarazoso. Pero lo solucionaremos :)", "Aceptar");
                frm.ShowDialog();
            }
        }
 public bool TieneGasto(Cpago_credito obj)
 {
     return(Cdatos_operaciones.TieneGasto(obj));
 }
 public void AgregarReferiaEntreOperacion(Cpago_credito objCredito, Crecibo_debito objDebito)
 {
     Cdatos_operaciones.AgregarRelacion(objCredito, objDebito);
 }
 public void AgregarReferiaEntreOperacion(Cpago_credito objcredito, Cgasto objgasto)
 {
     Cdatos_operaciones.AgregarRelacion(objcredito, objgasto);
 }
 public void ModificarOperacion(Cpago_credito objcredito)
 {
     Cdatos_operaciones.Modificar("[PAGOS_CREDITOS]", objcredito, true, objcredito.Concepto);
 }