private void btngenerarrecibo_Click(object sender, EventArgs e) { int id_recibo = (from a in dbSoftwareGTDataSet.tbl_recibos_anticipos where a.id_serie == id_serie && a.correlativo == correlativo select a.id_recibos_anticipo).Max(); ImprimirRecibo imprimir = new ImprimirRecibo(id_recibo); imprimir.ShowDialog(); }
public void GuardarEnvio(int id) { try { if (id == 1) { CargarTablas(); int correlativo = (from a in dbSoftwareGTDataSet.tbl_series where a.id_serie == id_serie select a.correlativo).Max(); decimal subtotal = 0; decimal iva = 0; decimal total = 0; for (int i = 0; i < gvlistadoproductos.DataRowCount; i++) { total = total + decimal.Parse(gvlistadoproductos.GetRowCellValue(i, "PrecioUnitario").ToString()); } iva = total * 0.12m; subtotal = total - iva; string info_deposito = ""; if (luetipomoneda.EditValue.ToString() == "3") { info_deposito = " Información del depósito: banco " + tbbancodeposito.Text + ", fecha depósito " + tbfechadeposito.Text + ", número de boleta " + tbnumeroboleta.Text; } tbl_venta_enc.Insert(int.Parse(tbidcliente.Text), tbnombrecliente.Text, tbnombrecliente.Text, tbnit.Text, id_serie, tbserie.Text, (correlativo + 1), 1, int.Parse(luevendedor.EditValue.ToString()), 1, int.Parse(tbcontrolventa.Text.ToString()), subtotal, iva, total, 1, true, DateTime.Now, 1, (comentarios_autorizaciones + info_deposito), 1, id_tipo_venta == 1 ? 1 : 2); tbl_venta_enc.Update(dbSoftwareGTDataSet); CargarTablas(); (from a in this.dbSoftwareGTDataSet.tbl_series where a.id_serie == id_serie select a).ToList().ForEach(a => { a.correlativo = (a.correlativo + 1); }); tbl_series.Update(dbSoftwareGTDataSet); CargarTablas(); id_venta_enc = (from a in dbSoftwareGTDataSet.tbl_ventas_enc select a.id_venta_enc).Max(); tbl_auditoria_ventas.Insert(id_venta_enc, 1, 0, "", "", DateTime.Now, null, null, true, 1, false); tbl_auditoria_ventas.Update(dbSoftwareGTDataSet); for (int i = 0; i < gvlistadoproductos.DataRowCount; i++) { CargarTablas(); int id_existencia = int.Parse(gvlistadoproductos.GetRowCellValue(i, "Id").ToString()); decimal precio_unitario = decimal.Parse(gvlistadoproductos.GetRowCellValue(i, "PrecioUnitario").ToString()); decimal iva_unidad = precio_unitario * 0.12m; decimal subtotal_unidad = precio_unitario - iva_unidad; string no_serie = gvlistadoproductos.GetRowCellValue(i, "NoSerie").ToString(); tbl_venta_det.Insert(id_existencia, 1, precio_unitario, subtotal_unidad, iva_unidad, precio_unitario, id_venta_enc, true, DateTime.Now, 1, no_serie); tbl_venta_det.Update(dbSoftwareGTDataSet); } tbl_promesas_pago_enc.Insert(id_venta_enc, 1, DateTime.Now, DateTime.Now, true, DateTime.Now, 1, total, total); tbl_promesas_pago_enc.Update(dbSoftwareGTDataSet); CargarTablas(); var promesa_pago_enc = (from a in dbSoftwareGTDataSet.tbl_ventas_promesas_pago_enc select a).LastOrDefault(); tbl_promesas_pago_det.Insert(promesa_pago_enc.id_promesa_pago, total, DateTime.Now, false, DateTime.Now, 1, 0, false, "", 1); tbl_promesas_pago_det.Update(dbSoftwareGTDataSet); CargarTablas(); var promesa_pago_det = (from a in dbSoftwareGTDataSet.tbl_ventas_promesas_pago_det select a).LastOrDefault(); int id_anticipo = 0; if (anticipos.Count > 0) { var datos_serie = (from a in dbSoftwareGTDataSet.tbl_series where a.id_tienda == 1 && a.id_tipo_serie == 3 select new { a.id_serie, a.serie, a.correlativo }).SingleOrDefault(); decimal abonos_aplicados = 0; for (int i = 0; i < anticipos.Count; i++) { id_anticipo = anticipos[i].Item1; if (id_anticipo == 0) { tbl_recibos_anticipos.Insert(anticipos[i].Item2, anticipos[i].Item3, anticipos[i].Item1, tbnombrecliente.Text, anticipos[i].Item4, DateTime.Now, true, 1, (datos_serie.correlativo + 1), 1, datos_serie.serie, datos_serie.id_serie, 2); tbl_recibos_anticipos.Update(dbSoftwareGTDataSet); CargarTablas(); id_anticipo = (from a in dbSoftwareGTDataSet.tbl_recibos_anticipos select a.id_recibos_anticipo).LastOrDefault(); } abonos_aplicados = abonos_aplicados + anticipos[i].Item2; promesa_pago_det = (from a in dbSoftwareGTDataSet.tbl_ventas_promesas_pago_det select a).LastOrDefault(); tbl_venta_abonos.Insert(promesa_pago_det.id_promesa_pago_det, id_anticipo, true, DateTime.Now, Configuraciones.Configuraciones.idusuario, Configuraciones.Configuraciones.idtienda, anticipos[i].Item2, 0); tbl_venta_abonos.Update(dbSoftwareGTDataSet); CargarTablas(); } } BloquearControles(); MessageBox.Show("¡Envío guardado exitosamente!"); if (anticipos.Count > 0) { DialogResult imprecibo = MessageBox.Show("Impresión de recibo", "¿Desea imprimir el recibo?", MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (imprecibo == DialogResult.Yes) { int id_recibo = (from a in dbSoftwareGTDataSet.tbl_venta_abonos join b in dbSoftwareGTDataSet.tbl_ventas_promesas_pago_det on a.id_promesa_pago_det equals b.id_promesa_pago_det join c in dbSoftwareGTDataSet.tbl_ventas_promesas_pago_enc on b.id_promesa_pago equals c.id_promesa_pago where c.id_venta_enc == id_venta_enc select a.id_recibo_anticipo).SingleOrDefault(); Complementos.ImprimirRecibo imprimirRecibo = new Complementos.ImprimirRecibo(id_recibo); imprimirRecibo.ShowDialog(); } else if (imprecibo == DialogResult.No) { } } DialogResult impenvio = MessageBox.Show("Impresión de envío", "¿Desea imprimir el envío?", MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (impenvio == DialogResult.Yes) { Complementos.ImprimirEnvio imprimirEnvio = new Complementos.ImprimirEnvio(id_venta_enc); imprimirEnvio.ShowDialog(); } else if (impenvio == DialogResult.No) { } DialogResult impfactura = MessageBox.Show("Impresión de factura", "¿Desea imprimir la factura?", MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (impfactura == DialogResult.Yes) { Complementos.ImprimirEnvio imprimirEnvio = new Complementos.ImprimirEnvio(id_venta_enc); imprimirEnvio.ShowDialog(); } else if (impfactura == DialogResult.No) { } } else if (id == 2) { CargarTablas(); int correlativo = (from a in dbSoftwareGTDataSet.tbl_series where a.id_serie == id_serie select a.correlativo).SingleOrDefault(); decimal subtotal = 0; decimal iva = 0; decimal total = 0; for (int i = 0; i < gvlistadoproductos.DataRowCount; i++) { total = total + decimal.Parse(gvlistadoproductos.GetRowCellValue(i, "PrecioUnitario").ToString()); } iva = total * 0.12m; subtotal = total - iva; luetipomoneda.EditValue = 1; tbl_venta_enc.Insert(int.Parse(tbidcliente.Text), tbnombrecliente.Text, tbnombrecliente.Text, tbnit.Text, id_serie, tbserie.Text, (correlativo + 1), 1, int.Parse(luevendedor.EditValue.ToString()), 1, int.Parse(tbcontrolventa.Text.ToString()), subtotal, iva, total, 2, true, DateTime.Now, 1, comentarios_autorizaciones, 1, id_tipo_venta == 1 ? 1 : 2); tbl_venta_enc.Update(dbSoftwareGTDataSet); CargarTablas(); (from a in this.dbSoftwareGTDataSet.tbl_series where a.id_serie == id_serie select a).ToList().ForEach(a => { a.correlativo = (a.correlativo + 1); }); tbl_series.Update(dbSoftwareGTDataSet); CargarTablas(); id_venta_enc = (from a in dbSoftwareGTDataSet.tbl_ventas_enc select a.id_venta_enc).Max(); tbl_auditoria_ventas.Insert(id_venta_enc, 1, 0, "", "", DateTime.Now, null, null, true, 1, false); tbl_auditoria_ventas.Update(dbSoftwareGTDataSet); for (int i = 0; i < gvlistadoproductos.DataRowCount; i++) { CargarTablas(); int id_existencia = int.Parse(gvlistadoproductos.GetRowCellValue(i, "Id").ToString()); decimal precio_unitario = decimal.Parse(gvlistadoproductos.GetRowCellValue(i, "PrecioUnitario").ToString()); decimal iva_unidad = precio_unitario * 0.12m; decimal subtotal_unidad = precio_unitario - iva_unidad; string no_serie = gvlistadoproductos.GetRowCellValue(i, "NoSerie").ToString(); tbl_venta_det.Insert(id_existencia, 1, precio_unitario, subtotal_unidad, iva_unidad, precio_unitario, id_venta_enc, true, DateTime.Now, 1, no_serie); tbl_venta_det.Update(dbSoftwareGTDataSet); } if (anticipos.Count > 0) { for (int i = 0; i < anticipos.Count; i++) { CargarTablas(); tbl_recibos_anticipos.Insert(anticipos[i].Item2, anticipos[i].Item3, anticipos[i].Item1, tbnombrecliente.Text, anticipos[i].Item4, DateTime.Now, true, 1, 0, 1, "A", 3, 2); tbl_recibos_anticipos.Update(dbSoftwareGTDataSet); abonos_aplicados = abonos_aplicados + anticipos[i].Item2; } } if (fiadores.Count > 0) { for (int i = 0; i < fiadores.Count; i++) { CargarTablas(); tbl_fiadores.Insert(fiadores[i].Item1, fiadores[i].Item2, fiadores[i].Item3, id_venta_enc, true, DateTime.Now, 1); tbl_fiadores.Update(dbSoftwareGTDataSet); } } if (autorizaciones.Count > 0) { for (int i = 0; i < autorizaciones.Count; i++) { CargarTablas(); tbl_ventas_aprobacion_credito.Insert(autorizaciones[i].Item1, id_venta_enc, true, DateTime.Now, 1); tbl_ventas_aprobacion_credito.Update(dbSoftwareGTDataSet); } } if (cuotas.Count > 0) { CargarTablas(); tbl_promesas_pago_enc.Insert(id_venta_enc, cuotas.Count, cuotas[0].Item3, cuotas[cuotas.Count - 1].Item3, true, DateTime.Now, 1, (monto_total_factura - abonos_aplicados), abonos_aplicados); tbl_promesas_pago_enc.Update(dbSoftwareGTDataSet); CargarTablas(); int id_promesa_pago = (from a in dbSoftwareGTDataSet.tbl_ventas_promesas_pago_enc where a.activo == true select a.id_promesa_pago).Max(); for (int i = 0; i < cuotas.Count; i++) { CargarTablas(); //tbl_promesas_pago_det.Insert(id_promesa_pago, cuotas[i].Item2, cuotas[i].Item3, true, DateTime.Now, 1); tbl_promesas_pago_det.Update(dbSoftwareGTDataSet); } } BloquearControles(); MessageBox.Show("¡Envío guardado exitosamente!"); DialogResult impenvio = MessageBox.Show("Impresión de envío", "¿Desea imprimir el envío?", MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (impenvio == DialogResult.Yes) { Complementos.ImprimirPromesasPago imprimir = new Complementos.ImprimirPromesasPago(id_venta_enc); imprimir.ShowDialog(); } else if (impenvio == DialogResult.No) { } DialogResult impcontrato = MessageBox.Show("Impresión de contrato", "¿Desea imprimir el contrato?", MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (impcontrato == DialogResult.Yes) { Complementos.ImprimirContrato imprimirContrato = new Complementos.ImprimirContrato(id_venta_enc); imprimirContrato.ShowDialog(); } else if (impcontrato == DialogResult.No) { } DialogResult impfactura = MessageBox.Show("Impresión de factura", "¿Desea imprimir la factura?", MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (impfactura == DialogResult.Yes) { //tbl_venta_enc.Insert(int.Parse(tbidcliente.Text), tbnombrecliente.Text, tbnombrecliente.Text, tbnit.Text, id_serie, tbserie.Text, (correlativo + 1), 1, int.Parse(luevendedor.EditValue.ToString()), 1, int.Parse(tbcontrolventa.Text.ToString()), subtotal, iva, total, 1, true, DateTime.Now, 1, comentarios_autorizaciones, 1); Complementos.ImprimirEnvio imprimirEnvio = new Complementos.ImprimirEnvio(id_venta_enc); imprimirEnvio.ShowDialog(); } else if (impfactura == DialogResult.No) { } } } catch (Exception e) { MessageBox.Show("Error al guardar el envío: " + e.Message); } }