private void GrabarDatos(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex != -1)
            {
                try
                {
                    DataGridViewRow r = dataGridView1.Rows[e.RowIndex];
                    DataRow[] rows = new DataRow[1];
                    DataRow row = (DataRow)((DataRowView)r.DataBoundItem).Row;

                    rows[0] = row;

                    string valorIdentity = rows[0][0].ToString();
                    int identityActual = 0;
                    if (valorIdentity != "")
                    {
                        identityActual = Convert.ToInt32(rows[0][0].ToString());
                    }

                    if (!RevisarOrigen(valorIdentity, b))
                    {
                        b.CancelEdit();
                        return;
                    };

                    if (row["descuento"] != null && row["descuento"].ToString() != "0" && row["descuento"].ToString() != "" && Convert.ToDecimal(row["descuento"]) != 0)
                    {
                        //Busco el valor de la factura para hacerle el descuento.
                        DataSet ds = d.GetDataSet("Select IIF( ISNULL(importe),0,importe) as Importe1,IIF( ISNULL(iva),0,iva) as iva1 from Venta Where Comprobante = '" + row["comprobanterelacion"].ToString() + "' and tipocomprobante = " + row["tipocomprobanterelacion"].ToString() + "");
                        if (ds.Tables[0].Rows.Count > 0)
                        {
                            row["ingreso"] =  ((Convert.ToDecimal(ds.Tables[0].Rows[0]["Importe1"]) + Convert.ToDecimal(ds.Tables[0].Rows[0]["Iva1"])) * Convert.ToDecimal(row["descuento"])) / 100;

                        }

                    }

                    b.EndEdit();

                    DataCtaCte datos = new DataCtaCte();
                    datos.Comprobante = row["comprobante"].ToString();
                    datos.ComprobanteRelacion = row["comprobanterelacion"].ToString();
                    datos.Detalle = row["detalle"].ToString();
                    if (row["egreso"] != DBNull.Value)
                    {
                        datos.Egreso = Convert.ToDecimal(row["egreso"]);
                    }
                    datos.Fecha = row["fecha"].ToString();
                    if (row["id"] != DBNull.Value)
                    {
                        datos.ID = row["id"].ToString();
                    }

                    if (row["id_cliente"] != DBNull.Value)
                    {
                        datos.ID_Cliente = row["id_cliente"].ToString();
                    }
                    if (row["id_transaccion"] != DBNull.Value)
                    {
                        datos.ID_Transaccion = row["id_transaccion"].ToString();
                    }

                    if (row["ingreso"] != DBNull.Value)
                    {
                        datos.Ingreso = Convert.ToDecimal(row["ingreso"]);
                    }
                    /* if (row["iva"] != DBNull.Value)
                     {
                         datos.Iva = Convert.ToDecimal(row["iva"]);
                     }*/
                    if (row["modopago"] != DBNull.Value)
                    {
                        datos.ModoPago = row["modopago"].ToString();
                    }
                    if (row["tipocomprobante"] != DBNull.Value)
                    {
                        datos.TipoComprobante = row["tipocomprobante"].ToString();
                    }
                    if (row["tipocomprobanterelacion"] != DBNull.Value)
                    {
                        datos.TipoComprobanteRelacion = row["tipocomprobanterelacion"].ToString();
                    }

                    if (row["tipotransaccion"] != DBNull.Value)
                    {
                        datos.TipoTransaccion = row["tipotransaccion"].ToString();
                    }
                    if (row["descuento"] != DBNull.Value)
                    {
                        datos.Descuento = Convert.ToDecimal(row["descuento"]);
                    }
              /*      if (row["BancoCheque"] != DBNull.Value)
                    {
                        datos.BancoCheque = row["BancoCheque"].ToString();
                    }
                    if (row["NroCheque"] != DBNull.Value)
                    {
                        datos.NroCheque = row["NroCheque"].ToString();
                    }
                    if (row["FechaPagoCheque"] != DBNull.Value)
                    {
                        datos.FechaPagoCheque = row["FechaPagoCheque"].ToString();
                    }*/

                    datos.TipoCtaCte = "2";

                    //reviso si tengo que generar el cheque
                    if (row["modopago"].ToString() == "3")
                    {
                        Cheque datosCheque = new Cheque();
                        datosCheque.NroCheque = row["NroCheque"].ToString();
                        datosCheque.BancoCheque = row["BancoCheque"].ToString();
                        datosCheque.FechaPago = row["FechaPagoCheque"].ToString();

                        string idcheque = d.ExisteCheque(datosCheque);

                        if (idcheque != "0")
                        {
                            datosCheque.ID = idcheque;
                        }
                        else
                        {
                            datosCheque.ID = "0";
                        }

                        int valor = d.SaveCheque(datosCheque);
                        datos.ID_Cheque = datosCheque.ID;

                    }

                    DataCtaCte data = d.SaveCuentaCorriente(datos);
                    identityActual = Convert.ToInt32(data.ID);
                    //row = d.SaveData(rows, identityActual, "Select max(id) From compra")[0];
                    row.AcceptChanges();
                    row[0] = identityActual;
                    row[1] = data.ID_Transaccion;

                }
                catch (Exception err)
                {
                    Error.GuardarError(err.ToString());
                }
            }
        }
        private void GrabarDatos(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex != -1)
            {
                try
                {
                    DataGridViewRow r = dataGridView1.Rows[e.RowIndex];
                    DataRow[] rows = new DataRow[1];
                    DataRow row = (DataRow)((DataRowView)r.DataBoundItem).Row;

                    rows[0] = row;

                    string valorIdentity = rows[0][0].ToString();
                    int identityActual = 0;
                    if (valorIdentity != "")
                    {
                        identityActual = Convert.ToInt32(rows[0][0].ToString());
                    }
                    RevisarOrigen(valorIdentity, b);

                    b.EndEdit();
                    int id_cheque = 0;
                    //reviso si tengo que generar el cheque
                    if (row["modo"].ToString() == "3")
                    {
                        Cheque datosCheque = new Cheque();
                        datosCheque.NroCheque = row["NroCheque"].ToString();
                        datosCheque.BancoCheque = row["BancoCheque"].ToString();
                        datosCheque.FechaPago = row["FechaPagoCheque"].ToString();

                        string idcheque = d.ExisteCheque(datosCheque);

                        if (idcheque != "0")
                        {
                            datosCheque.ID = idcheque;
                        }
                        else
                        {
                            datosCheque.ID = "0";
                        }

                        int valor = d.SaveCheque(datosCheque);
                        id_cheque = valor;

                    }

                    DataOperacion ope = d.SaveAporteRetiro(rows, identityActual, id_cheque );
                    identityActual = Convert.ToInt32(ope.ID);
                    row.AcceptChanges();

                    row[0] = identityActual;
                    row[1] = ope.ID_Transaccion;
                }
                catch (Exception err)
                {
                    Error.GuardarError(err.ToString());
                }
            }
        }