コード例 #1
0
 private void btn_EliminarCobro_Click(object sender, EventArgs e)
 {
     try
     {
         Ccobro           obj = (Ccobro)dgrid_cobros.CurrentRow.DataBoundItem;
         Frm_confirmacion frm = new Frm_confirmacion("Esta seguro que desea eliminar el cobro?", "Confirmación", "No", "Si");
         frm.ShowDialog();
         if (frm.RESPUESTA == "Si")
         {
             if (adm.TieneDebito(obj))
             {
                 frm = new Frm_confirmacion("El cobro tiene registros en una recibo o debito en una cuenta corriente.\n El cobro se eliminara de la caja diaria pero no de la cuenta corriente.\n Quiere eliminarlo de todas formas?", "Referencias en una cuenta corriete", "No", "Si");
                 frm.ShowDialog();
                 if (frm.RESPUESTA == "Si")
                 {
                     adm.EliminarOperacion(obj, true, ObjCajaDiaria);
                 }
             }
             else
             {
                 adm.EliminarOperacion(obj, false, ObjCajaDiaria);
             }
             ActualizarCobros();
             lbl_Cobros.Text    = ObjCajaDiaria.Cobros.ToString();
             lbl_EfecFinal.Text = ObjCajaDiaria.Efec_final.ToString();
         }
     }
     catch (Exception ex)
     {
         Frm_confirmacion frm = new Frm_confirmacion(ex.Message, "Bueno, esto es embarazoso. Pero lo solucionaremos :)", "Aceptar");
         frm.ShowDialog();
     }
 }
コード例 #2
0
 public void ModificarOperacion(Ccobro obj, Ccobro objnuevo, Ccaja_diaria caja)
 {
     objnuevo.Numero = obj.Numero;
     Cdatos_operaciones.ModificarCobro(objnuevo, objnuevo.FORMAPAGO());
     caja.EliminarCobro(obj);
     caja.AgregarCobro(objnuevo);
 }
コード例 #3
0
        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]));
        }
コード例 #4
0
 public void EliminarOperacion(Ccobro obj, bool tienedebito, Ccaja_diaria caja)
 {
     if (tienedebito)
     {
         Cdatos_operaciones.EliminarReferenciaDe(obj);
     }
     Cdatos_operaciones.Eliminar(obj);
     caja.EliminarCobro(obj);
 }
コード例 #5
0
 static public void AgregarRelacion(Crecibo_debito obj1, Ccobro obj2)
 {
     try
     {
         string cmdtxt = "INSERT INTO [COBROS-RECIBOS] (numero,id) VALUES (" + obj1.Numero + "," + obj2.Numero + ")";
         cDatos.ActualizarDatos(cmdtxt);
         Actualizar = true;
     }
     catch
     {
         throw new ArgumentException("Error al cargar la operacion");
     }
 }
コード例 #6
0
        //static public DataTable Devolver(int id)
        //{
        //    try
        //    {
        //        String cmdtext = "SELECT id_Localidad,Nombre FROM LOCALIDADES where id_Localidad=" + id;
        //        DataTable DT = cDatos.DevolverDatos(cmdtext);
        //        DataColumn[] PK = new DataColumn[1];
        //        PK[0] = DT.Columns["id_Localidad"];
        //        DT.PrimaryKey = PK;
        //        return DT;
        //    }
        //    catch
        //    {
        //        throw new ArgumentException("Error al devolver localidad");
        //    }

        //}
        static public void Agregar(Ccobro obj, Ccaja_diaria caja)
        {
            try
            {
                string cmdtxt = "INSERT INTO COBROS (id,id_concepto,importe,id_caja_diaria,id_forma_pago) VALUES (" + obj.Numero + "," + obj.ID_Concepto() + "," + ((obj.Importe.ToString()).Replace(",", ".")) + "," + caja.ID + "," + (obj.FORMAPAGO()).ID + ")";
                cDatos.ActualizarDatos(cmdtxt);
                Actualizar = true;
            }
            catch
            {
                throw new ArgumentException("Error al cargar la operacion");
            }
        }
コード例 #7
0
 static public void ModificarCobro(Ccobro obj, Cforma_pago objformapago)
 {
     try
     {
         string cmdtxt = "UPDATE COBROS SET id_concepto = " + obj.ID_Concepto() + ",importe=" + (obj.Importe.ToString()).Replace(",", ".") + ",id_forma_pago=" + objformapago.ID + " WHERE id=" + obj.Numero;
         cDatos.ActualizarDatos(cmdtxt);
         Actualizar = true;
     }
     catch
     {
         throw new ArgumentException("Error al modificar la operacion");
     }
 }
コード例 #8
0
        public Cpersona BuscarClienteUsuario(Ccobro obj)
        {
            int id_cuenta = Cdatos_operaciones.BuscarCuentayCargarDebito(obj);

            foreach (Cpersona opersona in DevolverClienteUsuarios())
            {
                if (opersona.DevolverCuentaCorriente().ID == id_cuenta)
                {
                    CargarAltasDebitosyCreditos(opersona.DevolverCuentaCorriente());
                    return(opersona);
                }
            }
            return(null);
        }
コード例 #9
0
        static public bool TieneDebito(Ccobro obj)
        {
            string    cmdtext = "SELECT numero FROM [COBROS-RECIBOS] WHERE id=" + obj.Numero;
            DataTable DT      = cDatos.DevolverDatos(cmdtext);

            if (DT.Rows.Count == 0)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
コード例 #10
0
 public void AgregarOperacion(Ccobro obj, Ccaja_diaria caja)
 {
     if (ultimocobro == 0)
     {
         ultimocobro = Cdatos_operaciones.DevolverUltimo("COBROS");
     }
     try
     {
         ultimocobro++;
         obj.Numero = ultimocobro;
         Cdatos_operaciones.Agregar(obj, caja);
         caja.AgregarCobro(obj);
     }
     catch
     {
         AgregarOperacion(obj, caja);
     }
 }
コード例 #11
0
        static public void Eliminar(Ccobro obj)
        {
            string    cmdtext = "SELECT numero FROM [COBROS-RECIBOS] WHERE id=" + obj.Numero;
            DataTable DT      = cDatos.DevolverDatos(cmdtext);

            if (DT.Rows.Count != 0)
            {
                cmdtext = "DELETE FROM [COBROS-RECIBOS] WHERE id=" + obj.Numero;
                cDatos.ActualizarDatos(cmdtext);
                foreach (DataRow R in DT.Rows)
                {
                    cmdtext = "DELETE FROM [RECIBOS-DEBITOS] WHERE numero=" + R[0].ToString();
                    cDatos.ActualizarDatos(cmdtext);
                }
            }
            cmdtext = "DELETE FROM COBROS WHERE id=" + obj.Numero;
            cDatos.ActualizarDatos(cmdtext);
            Actualizar = true;
        }
コード例 #12
0
 private void btn_ModificarCobro_Click(object sender, EventArgs e)
 {
     try
     {
         Ccobro   obj      = (Ccobro)dgrid_cobros.CurrentRow.DataBoundItem;
         Cpersona opersona = null;
         if (adm.TieneDebito(obj))
         {
             Ctrl_cuentas_corrientes admcuentas = Ctrl_cuentas_corrientes.ClaseActiva();
             opersona = admcuentas.BuscarClienteUsuario(obj);
         }
         Frm_Operacion frm = new Frm_Operacion(false, obj, ObjCajaDiaria, opersona);
         frm.ShowDialog();
         ActualizarCobros();
         lbl_Cobros.Text    = ObjCajaDiaria.Cobros.ToString();
         lbl_EfecFinal.Text = ObjCajaDiaria.Efec_final.ToString();
     }
     catch (Exception ex)
     {
         Frm_confirmacion frm = new Frm_confirmacion(ex.Message, "Bueno, esto es embarazoso. Pero lo solucionaremos :)", "Aceptar");
         frm.ShowDialog();
     }
 }
コード例 #13
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();
            }
        }
コード例 #14
0
 public void AgregarReferiaEntreOperacion(Crecibo_debito objdebito, Ccobro objcobro)
 {
     Cdatos_operaciones.AgregarRelacion(objdebito, objcobro);
 }
コード例 #15
0
 public bool TieneDebito(Ccobro obj)
 {
     return(Cdatos_operaciones.TieneDebito(obj));
 }
コード例 #16
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();
     }
 }
コード例 #17
0
        static public void EliminarReferenciaDe(Ccobro obj)
        {
            string cmdtext = "DELETE FROM [COBROS-RECIBOS] WHERE id=" + obj.Numero;

            cDatos.ActualizarDatos(cmdtext);
        }