//-------------------------------------------------------------------------------------------------------------------------------------- /// <summary></summary> private void btnDelete_Click(object sender, EventArgs e) { if (Grid.SelectedRows.Count == 0) { return; } var idx = Grid.SelectedRows[0].Index; if (table == null || idx >= table.Rows.Count) { return; } nowIdGasto = (int)Grid["colId", idx].Value; var Row = table.FindByid(nowIdGasto); if (Row == null) { MessageBox.Show("No se encontro un gasto con el ID actual"); return; } Row.Delete(); ClearDatos(); Sumatorias(); Datos.SetChanges("GastoDelete"); }
//-------------------------------------------------------------------------------------------------------------------------------------- /// <summary>Se llama cuando se oprime el botón de borrar una venta</summary> private void btnDelVenta_Click(object sender, EventArgs e) { var ret = MessageBox.Show("Si borra la venta, no quedrá constancia en el sistema\r\n¿Estas seguro?", "Aviso", MessageBoxButtons.YesNo); if (ret == DialogResult.Yes) { var Row1 = Datos.BD.Ventas.FindByid(NowVentId); if (Row1 == null) { MessageBox.Show("No se encontro el item a borrar"); return; } Row1.Delete(); foreach (DataRow Row2 in tbVentas.Rows) { if ((int)Row2[0] == NowVentId) { Row2.Delete(); break; } } SetWorkMode(0); RefreshEstadisticas(); Datos.SetChanges("VentaDelete"); } }
//-------------------------------------------------------------------------------------------------------------------------------------- /// <summary>Se llama cuando se oprime el boton para devolver una venta</summary> private void btnProdBack_Click(object sender, EventArgs e) { try { if (!int.TryParse(txtCant.Text, out NowCant) || NowCant <= 0) { throw new Exception("El valor para la cantidad es incorrecto."); } var row1 = Datos.BD.Ventas.FindByid(NowVentId); if (row1 == null) { throw new Exception("No se encuentra la venta correspondiente"); } if (NowCant > row1.count) { throw new Exception("No se pueden devolver más items que los asignados a la venta"); } var fecha = DateTime.Today; if (row1.IscomentarioNull()) { row1.comentario = ""; } row1.count -= NowCant; row1.comentario += " {" + fecha.ToString("d MMM") + ". Devolvio " + NowCant + '}'; var Monto = row1.count * row1.precio; foreach (DataRow row2 in tbVentas.Rows) { if ((int)row2["IdVent"] == NowVentId) { row2["Cant"] = row1.count; row2["Monto"] = Monto; var sItem = ((string)row2["Item"]).Split('|')[0].TrimEnd(); row2["Item"] = sItem; if (chkShowComent.Checked) { row2["Item"] += " | " + row1.comentario; } break; } } SetWorkMode(0); RefreshEstadisticas(); Datos.SetChanges("VentaDevolver"); } catch (Exception exc) { MessageBox.Show("ERROR: " + exc.Message); } }
//-------------------------------------------------------------------------------------------------------------------------------------- /// <summary>Se llama al oprimir el boton para realizar un cobro</summary> private void btnCobrar_Click(object sender, EventArgs e) { try { GetPagoValues(); if (NowPagoCant <= 0) { throw new Exception("La cantidad de items a pagar es incorrecta"); } if (NowPagoCant > Math.Round(NowCantMax, 2)) { throw new Exception("Se estan pagando más items de los que estan en venta"); } if (NowPagoCuc < 0 || NowPagoCup < 0) { throw new Exception("Al menos uno de los 2 precios es incorrecto"); } var pago = ValToNow(NowPagoCuc, Mnd.Cuc) + ValToNow(NowPagoCup, Mnd.Cup); if (Math.Round(pago / NowPrec, 2) != Math.Round(NowPagoCant, 2)) { throw new Exception("El valor pagado no se corresponde con la cantidad de items"); } var sItem = txtPagoItem.Text; if (sItem.Length == 0) { throw new Exception("Debe seleccionar un item de la lista"); } sItem = sItem.Split('|')[0]; var sComent = txtPagoComent.Text; var fecha = DateTime.Today; var sPrec = NowPrec.ToString("0.####") + ' ' + Money.Code(NowMond); var rowVent = Datos.BD.Ventas.FindByid(NowVentId); var rowPago = Datos.BD.Pagos.AddPagosRow(rowVent, NowPagoCant, NowPagoCuc, NowPagoCup, sComent, fecha); tbPagos.Rows.Add(rowPago.id, rowVent.id, sItem, NowVend, NowPagoCant, sPrec, NowPagoCuc, NowPagoCup, sComent, fecha); pnlSelVenta.Visible = false; SelectRowWithId(rowPago.id); RefreshEstadisticas(); Datos.SetChanges("CobroAdd"); } catch (Exception exc) { MessageBox.Show("ERROR: " + exc.Message); } ClearDatos(); }
//-------------------------------------------------------------------------------------------------------------------------------------- /// <summary>Se llama al oprimir el botón de modificar pago</summary> private void btnModifyPago_Click(object sender, EventArgs e) { GetModifyValues(); if (ModifyCuc < 0 || ModifyCup < 0) { MessageBox.Show("Los pagos no pueden ser negativos"); return; } if (ModifyCuc == 0 && ModifyCup == 0) { MessageBox.Show("Al menos uno de los dos pagos tiene que tener valor"); return; } if (ModifyCant <= 0) { MessageBox.Show("La cantidad debe ser mayor que cero"); return; } var row1 = Datos.tablePagos.FindByid(NowPagoId); if (row1 != null) { row1.cuc = ModifyCuc; row1.cup = ModifyCup; row1.count = ModifyCant; row1.comentario = txtModComent.Text; } else { MessageBox.Show("No se actulizaron los datos de base de datos, porque no se encontro un pago con el ID " + NowPagoId); } var row2 = FindPagoId(NowPagoId); if (row2 != null) { row2["Cuc"] = ModifyCuc; row2["Cup"] = ModifyCup; row2["Cant"] = ModifyCant; row2["Coment"] = txtModComent.Text; } else { MessageBox.Show("No se actulizaron los datos en la lista, porque no se encontro un pago con el ID " + NowPagoId); } SelectRowWithId(NowPagoId); RefreshEstadisticas(); Datos.SetChanges("CobroModify"); }
//-------------------------------------------------------------------------------------------------------------------------------------- /// <summary>Se llama cuando se oprime el boton de modificar el precio del producto</summary> private void btnModify_Click(object sender, EventArgs e) { try { if (Grid.SelectedRows.Count == 0) { throw new Exception("Seleccione un Item para modificar el precio"); } var GridRow = Grid.SelectedRows[0]; var idx = GridRow.Index; if (idx < 0 || idx >= Grid.RowCount || string.IsNullOrEmpty(txtItem.Text.Trim())) { throw new Exception("Seleccione un Item para modificar el precio"); } var prec = decimal.Parse(txtValue.Text); var Id = (int)Grid[0, idx].Value; var rowComp = table.FindByid(Id); if (rowComp == null) { throw new Exception("No se encontro el ID del item seleccionado en la base de datos"); } rowComp.precio = prec; rowComp.moneda = (int)nowMond; var rowGrid = FindTableGridId(Id); if (rowGrid == null) { throw new Exception("No se encontro el ID del item seleccionado en la lista"); } var sPrecio = prec.ToString("0.##"); if (prec != 0) { sPrecio += ' ' + Money.Code(nowMond); } rowGrid["precio"] = sPrecio; Grid.Refresh(); Sumatorias(); Datos.SetChanges("CompraPrecios"); } catch (Exception exc) { MessageBox.Show("ERROR: " + exc.Message); } }
//-------------------------------------------------------------------------------------------------------------------------------------- /// <summary></summary> private void btnModify_Click(object sender, EventArgs e) { try { GetValores(); var Row1 = table.FindByid(nowIdPres); if (Row1 != null) { Row1.source = nowDesc; Row1.cambio = nowCambio; Row1.value = nowValue; Row1.moneda = (int)nowMoneda; } else { MessageBox.Show("No se encontro en la base de datos el presupuesto a modificar"); return; } DataRow Row2 = FindPresupId(nowIdPres); if (Row2 != null) { var sValue = nowValue.ToString("0.##"); var sCuc = (nowMoneda == Mnd.Cuc)? sValue : ""; var sUsd = (nowMoneda == Mnd.Usd)? sValue : ""; Row2["src"] = nowDesc; Row2["cuc"] = sCuc; Row2["cambio"] = nowCambio; Row2["usd"] = sUsd; } else { MessageBox.Show("No se encontro en la lista el presupuesto a modificar"); return; } Sumatorias(); Datos.SetChanges("PresupuestoModify"); } catch (Exception exc) { MessageBox.Show("ERROR: " + exc.Message); } }
//-------------------------------------------------------------------------------------------------------------------------------------- /// <summary></summary> private void btnModify_Click(object sender, EventArgs e) { try { lstNames.Visible = false; // Esconde el listado de los nombres de los item si esta visible GetValores(); var idx = Grid.SelectedRows[0].Index; var cell = Grid["IdItem", idx].Value; if (cell == null) { return; } int idCompra = (int)cell; var Row = table.FindByid(idCompra); Row.item = item; Row.count = count; Row.value = value; Row.valItem = valItem; Row.valCUC = valCUC; Row.valCucItem = valCucItem; Row.comentario = txtComent.Text; var row2 = FindPagoId(idCompra); if (row2 != null) { row2["item"] = item; row2["count"] = count; row2["value"] = value; row2["valItem"] = valItem; row2["valCUC"] = valCUC; row2["valCucItem"] = valCucItem; } Sumatorias(); Datos.SetChanges("CompraModify"); } catch (Exception exc) { MessageBox.Show("ERROR: " + exc.Message); } }
//-------------------------------------------------------------------------------------------------------------------------------------- /// <summary>Se ejecuta cuando se oprime el boton de adiccionar un gasto</summary> private void btnAdd_Click(object sender, EventArgs e) { try { GetValores(); var row = table.AddGastosRow(desc, valCuc, value); SelectGatoInGrid(row.id); Sumatorias(); Datos.SetChanges("GastoAdd"); } catch (Exception exc) { MessageBox.Show("ERROR: " + exc.Message); } }
//-------------------------------------------------------------------------------------------------------------------------------------- /// <summary></summary> private void btnDelete_Click(object sender, EventArgs e) { if (Grid.SelectedRows.Count == 0) { return; } var idx = Grid.SelectedRows[0].Index; if (table == null || idx >= table.Rows.Count) { return; } var cell = Grid["IdItem", idx].Value; if (cell == null) { return; } int idCompra = (int)cell; var Row = table.FindByid(idCompra); if (Row != null) { ClearDatos(); Row.Delete(); Sumatorias(); } else { MessageBox.Show("No se encontro una compra con el ID " + (int)cell); } var row2 = FindPagoId(idCompra); if (row2 != null) { row2.Delete(); } Datos.SetChanges("CompraDelete"); }
//-------------------------------------------------------------------------------------------------------------------------------------- /// <summary>Se llama al oprimir el botón de borrar un pago</summary> private void btnDelPago_Click(object sender, EventArgs e) { if (txtModItem.Text.Length == 0) { MessageBox.Show("Seleccione el pago que desea borrar"); return; } var ret = MessageBox.Show("Si borra el pago, no quedrá constancia en el sistema\r\n¿Estas seguro?", "Aviso", MessageBoxButtons.YesNo); if (ret != DialogResult.Yes) { return; } var row1 = Datos.tablePagos.FindByid(NowPagoId); if (row1 != null) { row1.Delete(); } else { MessageBox.Show("No se borro el pago de la base de datos, porque no se encontro un pago con el ID " + NowPagoId); } var row2 = FindPagoId(NowPagoId); if (row2 != null) { row2.Delete(); } else { MessageBox.Show("No se borro el pago de la lista, porque no se encontro un pago con el ID " + NowPagoId); } txtModItem.Text = txtModCant.Text = txtModCuc.Text = txtModCup.Text = txtModComent.Text = ""; RefreshEstadisticas(); Datos.SetChanges("CobroDelete"); }
//-------------------------------------------------------------------------------------------------------------------------------------- /// <summary></summary> private void btnAdd_Click(object sender, EventArgs e) { try { lstNames.Visible = false; // Esconde el listado de los nombres de los item si esta visible int id = Datos.GetCompraID(); GetValores(); // table.Rows.Add( id, item, count, value, valItem, valCUC, valCucItem ); table.AddComprasRow(id, item, count, value, valItem, valCUC, valCucItem, 0, 0, txtComent.Text); tbCompras.Rows.Add(id, item, count, value, valItem, valCUC, valCucItem); Sumatorias(); Datos.SetChanges("CompraAdd"); } catch (Exception exc) { MessageBox.Show("ERROR: " + exc.Message); } }
//-------------------------------------------------------------------------------------------------------------------------------------- /// <summary></summary> private void btnModify_Click(object sender, EventArgs e) { try { GetValores(); var idx = Grid.SelectedRows[0].Index; nowIdGasto = (int)Grid["colId", idx].Value; var Row = table.FindByid(nowIdGasto); Row.descric = desc; Row.value = value; Row.cuc = valCuc; Sumatorias(); Datos.SetChanges("GastoModiy"); } catch (Exception exc) { MessageBox.Show("ERROR: " + exc.Message); } }
//-------------------------------------------------------------------------------------------------------------------------------------- /// <summary></summary> private void btnAdd_Click(object sender, EventArgs e) { try { GetValores(); var row = table.AddPresupuestoRow(nowDesc, nowValue, (int)nowMoneda, nowCambio); var sValue = nowValue.ToString("0.##"); var sCuc = (nowMoneda == Mnd.Cuc)? sValue : ""; var sUsd = (nowMoneda == Mnd.Usd)? sValue : ""; tbPresup.Rows.Add(row.id, row.source, sCuc, row.cambio, sUsd); Sumatorias(); Datos.SetChanges("PresupuestoAdd"); } catch (Exception exc) { MessageBox.Show("ERROR: " + exc.Message); } }
//-------------------------------------------------------------------------------------------------------------------------------------- /// <summary></summary> private void btnDelete_Click(object sender, EventArgs e) { if (Grid.SelectedRows.Count == 0) { MessageBox.Show("Seleccione un presupuesto para borrar"); return; } var row1 = table.FindByid(nowIdPres); if (row1 != null) { row1.Delete(); } else { MessageBox.Show("No se pudo borrar el pesupuesto de la base de datos"); return; } var row2 = FindPresupId(nowIdPres); if (row2 != null) { row2.Delete(); } else { MessageBox.Show("No se pudo borrar el pesupuesto de la lista"); return; } ClearDatos(); Sumatorias(); Datos.SetChanges("PresupuestoDelete"); }
//-------------------------------------------------------------------------------------------------------------------------------------- /// <summary>Se llama al oprimir el botón para adicionar una venta</summary> private void btnAddVenta_Click(object sender, EventArgs e) { NowVentId = -1; try { GetValores(); if (NowVend == Datos.Vendedores[0]) { NowPrec = 0; } nowMonto = NowCant * NowPrec; var sMoneda = Money.Code(NowMond); var fecha = DateTime.Today; var Coment = txtProdComent.Text; var row = Datos.BD.Ventas.AddVentasRow(NowItemId, NowVend, NowCant, NowPrec, (int)NowMond, fecha, Coment); NowVentId = row.id; if (chkShowComent.Checked) { NowItem += " | " + Coment; } var row2 = tbVentas.Rows.Add(NowVentId, NowItem, NowVend, NowCant, NowPrec, nowMonto, sMoneda, fecha); SelectVentaInGrid(NowVentId); RefreshEstadisticas(); SetWorkMode(0); Datos.SetChanges("VentaAdd"); } catch (Exception exc) { MessageBox.Show("ERROR: " + exc.Message); } }
//-------------------------------------------------------------------------------------------------------------------------------------- /// <summary>Se llama para hacer un pago de una venta directamente</summary> private void btnPagar_Click(object sender, EventArgs e) { btnAddVenta_Click(null, null); if (NowVentId < 0) { return; } var fecha = DateTime.Today; var rowVent = Datos.BD.Ventas.FindByid(NowVentId); if (rowVent == null) { MessageBox.Show("ERROR: No existe la venta con el ID " + NowVentId); return; } rowVent.comentario += " (Pago directo)"; decimal PagoCuc = 0, PagoCup = 0; if (NowMond == Mnd.Cuc) { PagoCuc = nowMonto; } else if (NowMond == Mnd.Cup) { PagoCup = nowMonto; } else { PagoCuc = Money.Convert(nowMonto, NowMond, Mnd.Cuc); } Datos.BD.Pagos.AddPagosRow(rowVent, NowCant, PagoCuc, PagoCup, "Pago directo", fecha); Datos.SetChanges("VentaDirect"); }
//-------------------------------------------------------------------------------------------------------------------------------------- /// <summary>Modifica los datos de una venta</summary> private void btnModify_Click(object sender, EventArgs e) { try { if (!int.TryParse(txtCant.Text, out NowCant) || NowCant < 0) { throw new Exception("El valor para la cantidad es incorrecto."); } NowMond = (Mnd)cbMoneda.SelectedIndex; if ((int)NowMond == -1) { throw new Exception("Debe seleccionar la moneda a utilizar"); } if (!decimal.TryParse(txtValue.Text, out NowPrec)) { throw new Exception("El valor para el precio es incorrecto"); } var Parts = txtItem.Text.Split('|'); NowVentId = int.Parse(Parts[0]); var row = Datos.BD.Ventas.FindByid(NowVentId); if (row == null) { throw new Exception("No se encuentra la venta correspondiente"); } NowMaxCant = ItemRemanet(row.idProd, NowVentId); if (NowCant > NowMaxCant) { throw new Exception("La cantidad máxima de items permitidos es " + NowMaxCant); } var fecha = DateTime.Today; if (row.vendedor == Datos.Vendedores[0]) { NowPrec = 0; } row.count = NowCant; row.precio = NowPrec; row.moneda = (int)NowMond; row.fecha = fecha; row.comentario = txtComent.Text; var Monto = NowCant * NowPrec; var sMoneda = Money.Code(NowMond); foreach (DataRow row2 in tbVentas.Rows) { if ((int)row2["IdVent"] == NowVentId) { row2["Cant"] = NowCant; row2["Precio"] = NowPrec; row2["Monto"] = Monto; row2["Moned"] = sMoneda; row2["Fecha"] = fecha; var sItem = ((string)row2["Item"]).Split('|')[0].TrimEnd(); row2["Item"] = sItem; if (chkShowComent.Checked) { row2["Item"] += " | " + row.comentario; } break; } } SetWorkMode(0); RefreshEstadisticas(); Datos.SetChanges("VentaModify"); } catch (Exception exc) { MessageBox.Show("ERROR: " + exc.Message); } }