Beispiel #1
0
        private void mostrarMesas(string idSalon)
        {
            this.lblNroMesas.Text = "0";
            dtMesa  = NMesa.MostrarLibre(Convert.ToInt32(idSalon));
            nroMesa = dtMesa.Rows.Count;

            int y1 = 50;
            int x1 = 6;


            btnMesa = new Button[nroMesa];

            for (int i = 0; i < nroMesa; i++)
            {
                if (i == 7)
                {
                    y1 = 150;
                    x1 = 6;
                }
                else if (i == 14)
                {
                    y1 = 230;
                    x1 = 3;
                }
                else if (i == 21)
                {
                    y1 = 310;
                    x1 = 3;
                }
                else if (i == 28)
                {
                    y1 = 390;
                    x1 = 3;
                }
                else if (i == 35)
                {
                    y1 = 470;
                    x1 = 3;
                }
                else if (i == 42)
                {
                    y1 = 550;
                    x1 = 3;
                }
                else if (i == 49)
                {
                    y1 = 630;
                    x1 = 3;
                }
                else if (i == 56)
                {
                    y1 = 710;
                    x1 = 3;
                }
                else if (i == 63)
                {
                    y1 = 890;
                    x1 = 3;
                }
                else if (i == 70)
                {
                    y1 = 970;
                    x1 = 3;
                }
                else if (i == 77)
                {
                    y1 = 1050;
                    x1 = 3;
                }
                DataRow row = dtMesa.Rows[i];
                btnMesa[i]          = new Button();
                btnMesa[i].Location = new Point(x1, y1);
                btnMesa[i].Size     = new Size(100, 70);
                btnMesa[i].Font     = new Font("Roboto", 10f, FontStyle.Bold);

                btnMesa[i].TabIndex  = i;
                btnMesa[i].Text      = row[1].ToString();
                btnMesa[i].Visible   = true;
                btnMesa[i].BackColor = Color.DarkOliveGreen;

                btnMesa[i].ForeColor = Color.White;
                btnMesa[i].Tag       = i;
                lblNroMesas.Text     = nroMesa.ToString();

                x1 += 103;

                plMesa.Controls.Add(btnMesa[i]);

                btnMesa[i].Click += new EventHandler((sender, e) =>
                {
                    //this.btnMesa[2].BackColor = Color.Red;
                    DialogResult opcion;
                    string rpta = "";
                    opcion      = MessageBox.Show("Está seguro de cambiar de mesa?", "Sistema de Ventas", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);

                    if (opcion == DialogResult.OK)
                    {
                        rpta = NMesa.EditarEstadoMesa(Convert.ToInt32(frmVenta.f1.lblIdMesa.Text), "Libre");
                        rpta = NMesa.EditarEstadoMesa(Convert.ToInt32(row[0].ToString()), "Ocupada");
                        rpta = NVenta.EditarMesaVenta(Convert.ToInt32(this.lblIdVenta.Text), Convert.ToInt32(row[0].ToString()));
                        if (rpta == "OK")
                        {
                            frmVenta.f1.lblIdMesa.Text = row[0].ToString();
                            frmVenta.f1.lblMesa.Text   = row[1].ToString();

                            frmVenta.f1.lblIdSalon.Text = this.lblIdSalon.Text;
                            frmVenta.f1.lblSalon.Text   = this.lblNombreSalon.Text;

                            frmModuloSalon.f3.limpiarMesas();
                            frmModuloSalon.f3.mostrarSalones();

                            this.Hide();
                            frmVenta.f1.Close();
                            frmModuloSalon.f3.Close();

                            frmLogin.f3.Show();
                        }
                    }
                });
            }
        }
        private void Cobrar()
        {
            decimal efectivo, total, vuelto;

            if (this.txtEfectivo.Text.Trim() == "")
            {
                efectivo = 0;
            }
            else
            {
                efectivo = Convert.ToDecimal(this.txtEfectivo.Text.Trim());
            }
            total = Convert.ToDecimal(this.lblTotal.Text);

            if ((efectivo < total) && (rbEfectivo.Checked == true))
            {
                MessageBox.Show("El efectivo es insuficiente");
                this.txtEfectivo.Focus();
            }
            else
            {
                int?idCliente = null;
                if (this.txtIdCliente.Text != string.Empty)
                {
                    idCliente = Convert.ToInt32(this.txtIdCliente.Text);
                }
                else
                {
                    idCliente = null;
                }

                if (this.txtEfectivo.Text == "" && (this.rbEfectivo.Checked == true || this.rbMixto.Checked == true))
                {
                    MessageBox.Show("El campo efectivo es obligatorio");
                }
                else
                {
                    if (txtVuelto.Text == string.Empty)
                    {
                        vuelto = 00.00m;
                    }
                    else
                    {
                        vuelto = Convert.ToDecimal(this.txtVuelto.Text);
                    }
                    if (verMontosPago() == true)
                    {
                        string rpta = "";
                        this.verFormaPago();
                        if (this.lblBanderaComprobante.Text == "0" || this.lblBanderaComprobante.Text == "1")
                        {
                            string  formaPago = "";
                            decimal pagoEfectivo = 00.00m, pagoTarjeta = 00.00m;
                            if (rbEfectivo.Checked == true)
                            {
                                formaPago    = "EFECTIVO";
                                pagoEfectivo = Convert.ToDecimal(this.lblTotal.Text);
                                pagoTarjeta  = 00.00m;
                            }
                            else if (rbTarjeta.Checked == true)
                            {
                                formaPago    = "TARJETA";
                                pagoEfectivo = 00.00m;
                                pagoTarjeta  = Convert.ToDecimal(this.lblTotal.Text);
                            }
                            else if (rbMixto.Checked == true)
                            {
                                formaPago    = "MIXTO";
                                pagoEfectivo = Convert.ToDecimal(this.txtEfectivo.Text);
                                pagoTarjeta  = Convert.ToDecimal(this.txtTarjeta.Text);
                            }
                            string tipoCompr = "";
                            if (this.lblBanderaComprobante.Text == "0")
                            {
                                tipoCompr = "TICKET";
                            }
                            else if (this.lblBanderaComprobante.Text == "1")
                            {
                                tipoCompr = "BOLETA";
                            }
                            else
                            {
                                tipoCompr = "FACTURA";
                            }
                            rpta = NComprobante.Insertar(tipoCompr, 1, Convert.ToDecimal(this.lblIgv.Text), DateTime.Now, Convert.ToInt32(this.lblIdVenta.Text), "EMITIDA", idCliente,
                                                         Convert.ToDecimal(this.lblTotal.Text), pagoEfectivo, pagoTarjeta, Convert.ToDecimal(this.lblRedondeo.Text), formaPago, vuelto);

                            if (rpta == "OK")
                            {
                                NVenta.EditarVentaD(Convert.ToInt32(this.lblIdVenta.Text));
                                if (insertarCaja() == true)
                                {
                                    MessageBox.Show("Se registró correctamente");
                                    enviarFormaPago();


                                    NImprimir_Comprobante.imprimirCom(Convert.ToInt32(this.lblIdVenta.Text), tipoCompr, this.txtNombre.Text.Trim(), this.txtDireccion.Text.Trim(),
                                                                      this.txtDocumento.Text.Trim(), frmDividirCuenta.f1.lblTrabajador.Text, frmDividirCuenta.f1.lblSalon.Text,
                                                                      frmDividirCuenta.f1.lblMesa.Text, frmDividirCuenta.f1.dgSepara1, this.lblDescuento.Text, this.lblDctoGeneral.Text,
                                                                      this.lblSubTotal.Text, this.lblIgv.Text, this.lblTotal.Text, efectivo1, vuelto1, tarjeta1, formaPago1, modoProd, this.lblRedondeo.Text, "");



                                    this.Facturador(Convert.ToInt32(this.lblIdVenta.Text), frmDividirCuenta.f1.dgSepara1);

                                    this.Limpiar();
                                }
                                this.DeshabilitarCuentas();

                                if (btn1.Enabled == false && btn2.Enabled == false && btn3.Enabled == false && btn4.Enabled == false && btn5.Enabled == false && btn6.Enabled == false)
                                {
                                    NMesa.EditarEstadoMesa(Convert.ToInt32(this.lblIdMesa.Text), "Libre");


                                    frmModuloSalon.f3.limpiarMesas();
                                    frmModuloSalon.f3.mostrarSalones();

                                    this.Hide();
                                    frmDividirCuenta.f1.Hide();
                                    frmVenta.f1.Hide();
                                    frmModuloSalon.f3.tEstado.Enabled = true;
                                }
                            }
                            else
                            {
                                MessageBox.Show(rpta);
                            }
                        }
                        else if (this.lblBanderaComprobante.Text == "2")
                        {
                            if (this.txtIdCliente.Text.Trim() == string.Empty || this.txtDocumento.Text.Trim().Length != 11)
                            {
                                MessageBox.Show("Seleccione un cliente o ingrese un número de RUC válido");
                                return;
                            }
                            else
                            {
                                string  formaPago = "";
                                decimal pagoEfectivo = 00.00m, pagoTarjeta = 00.00m;
                                if (rbEfectivo.Checked == true)
                                {
                                    formaPago    = "EFECTIVO";
                                    pagoEfectivo = Convert.ToDecimal(this.lblTotal.Text);
                                    pagoTarjeta  = 00.00m;
                                }
                                else if (rbTarjeta.Checked == true)
                                {
                                    formaPago    = "TARJETA";
                                    pagoEfectivo = 00.00m;
                                    pagoTarjeta  = Convert.ToDecimal(this.lblTotal.Text);
                                }
                                else if (rbMixto.Checked == true)
                                {
                                    formaPago    = "MIXTO";
                                    pagoEfectivo = Convert.ToDecimal(this.txtEfectivo.Text);
                                    pagoTarjeta  = Convert.ToDecimal(this.txtTarjeta.Text);
                                }
                                rpta = NComprobante.Insertar("FACTURA", 1, Convert.ToDecimal(this.lblIgv.Text), DateTime.Now, Convert.ToInt32(this.lblIdVenta.Text), "EMITIDA", idCliente,
                                                             Convert.ToDecimal(this.lblTotal.Text), efectivo, tarjeta, Convert.ToDecimal(this.lblRedondeo.Text), formaPago, vuelto);

                                if (rpta == "OK")
                                {
                                    NVenta.EditarVentaD(Convert.ToInt32(this.lblIdVenta.Text));
                                    if (insertarCaja() == true)
                                    {
                                        MessageBox.Show("Se registró correctamente");
                                        enviarFormaPago();


                                        NImprimir_Comprobante.imprimirCom(Convert.ToInt32(this.lblIdVenta.Text), "FACTURA", this.txtNombre.Text.Trim(), this.txtDireccion.Text.Trim(),
                                                                          this.txtDocumento.Text.Trim(), frmDividirCuenta.f1.lblTrabajador.Text, frmDividirCuenta.f1.lblSalon.Text,
                                                                          frmDividirCuenta.f1.lblMesa.Text, frmDividirCuenta.f1.dgSepara1, this.lblDescuento.Text, this.lblDctoGeneral.Text,
                                                                          this.lblSubTotal.Text, this.lblIgv.Text, this.lblTotal.Text, efectivo1, vuelto1, tarjeta1, formaPago1, modoProd, this.lblRedondeo.Text, "");


                                        this.Facturador(Convert.ToInt32(this.lblIdVenta.Text), frmDividirCuenta.f1.dgSepara1);

                                        this.Limpiar();
                                    }
                                    this.DeshabilitarCuentas();

                                    if (btn1.Enabled == false && btn2.Enabled == false && btn3.Enabled == false && btn4.Enabled == false && btn5.Enabled == false && btn6.Enabled == false)
                                    {
                                        NMesa.EditarEstadoMesa(Convert.ToInt32(this.lblIdMesa.Text), "Libre");


                                        frmModuloSalon.f3.limpiarMesas();
                                        frmModuloSalon.f3.mostrarSalones();


                                        this.Hide();
                                        frmDividirCuenta.f1.Hide();
                                        frmVenta.f1.Hide();
                                        frmModuloSalon.f3.tEstado.Enabled = true;
                                    }
                                }
                                else
                                {
                                    MessageBox.Show(rpta);
                                }
                            }
                        }
                    }
                }
            }
        }
Beispiel #3
0
        private void button1_Click(object sender, EventArgs e)
        {
            int?    idCliente = null;
            decimal vuelto    = 00.00m;

            if (this.txtIdCliente.Text != string.Empty)
            {
                idCliente = Convert.ToInt32(this.txtIdCliente.Text);
            }
            else
            {
                idCliente = null;
            }

            if (txtSerie.Text.Trim() == string.Empty || txtNroCompr.Text.Trim() == string.Empty)
            {
                MessageBox.Show("Ingrese los datos del Comprobante");
                return;
            }

            if (this.lblIdVenta.Text != "0")
            {
                try
                {
                    if (this.txtEfectivo.Text == "" && (this.rbEfectivo.Checked == true || this.rbMixto.Checked == true))
                    {
                        MessageBox.Show("El campo efectivo es obligatorio");
                    }
                    else
                    {
                        string rpta  = "";
                        string rpta1 = "";

                        if (verMontosPago() == true)
                        {
                            this.verMontosPago();
                            this.verFormaPago();
                            if (this.lblBanderaComprobante.Text == "0" || this.lblBanderaComprobante.Text == "1")
                            {
                                int cont = Convert.ToInt32(frmVenta.f1.lblNroFilas.Text);

                                for (int j = 0; j < cont; j++)
                                {
                                    NDetalleVenta.EditarDetalleVenta(Convert.ToInt32(frmVenta.f1.dataListadoDetalle.Rows[j].Cells[7].Value.ToString()),
                                                                     Convert.ToDecimal(frmVenta.f1.dataListadoDetalle.Rows[j].Cells[4].Value.ToString()),
                                                                     Convert.ToDecimal(frmVenta.f1.dataListadoDetalle.Rows[j].Cells[3].Value.ToString()));
                                }

                                if (cont >= frmVenta.f1.dataListadoDetalle.Rows.Count)
                                {
                                }
                                else
                                {
                                    for (int i = cont; i < frmVenta.f1.dataListadoDetalle.Rows.Count; i++)
                                    {
                                        int     idProducto = Convert.ToInt32(frmVenta.f1.dataListadoDetalle.Rows[i].Cells[0].Value.ToString());
                                        int     cantidad   = Convert.ToInt32(frmVenta.f1.dataListadoDetalle.Rows[i].Cells[2].Value.ToString());
                                        decimal prVenta    = Convert.ToDecimal(frmVenta.f1.dataListadoDetalle.Rows[i].Cells[3].Value.ToString());
                                        decimal desc       = Convert.ToDecimal(frmVenta.f1.dataListadoDetalle.Rows[i].Cells[4].Value.ToString());
                                        string  barra      = frmVenta.f1.dataListadoDetalle.Rows[i].Cells["Barra"].Value.ToString();
                                        string  tipo       = frmVenta.f1.dataListadoDetalle.Rows[i].Cells["Tipo"].Value.ToString();
                                        NDetalleVenta.InsertarAdicPedido(Convert.ToInt32(frmVenta.f1.lblIdVenta.Text), idProducto, cantidad, prVenta, desc,
                                                                         frmVenta.f1.dataListadoDetalle.Rows[i].Cells[6].Value.ToString(), tipo, barra, "Pedido");
                                        for (int p = cont; p < frmVenta.f1.dataListadoDetalle.Rows.Count; p++)
                                        {
                                            if (frmVenta.f1.dataListadoDetalle.Rows[i].Cells["Tipo"].Value.ToString() == "C")
                                            {
                                                DataTable dtDetalleProducto = new DataTable();
                                                dtDetalleProducto = NProducto.mostrarDetalleProducto_Venta(Convert.ToInt32(frmVenta.f1.dataListadoDetalle.Rows[i].Cells["Cod"].Value.ToString()));
                                                int cantPedido = Convert.ToInt32(frmVenta.f1.dataListadoDetalle.Rows[i].Cells["Cant"].Value.ToString());
                                                for (int j = 0; j < dtDetalleProducto.Rows.Count; j++)
                                                {
                                                    int idProducto_Com = Convert.ToInt32(dtDetalleProducto.Rows[j][0].ToString());
                                                    int cantRequerida  = Convert.ToInt32(dtDetalleProducto.Rows[j][1].ToString());

                                                    NProducto.EditarStock(idProducto_Com, cantRequerida * cantPedido);
                                                }
                                            }
                                        }
                                    }
                                }

                                rpta = NVenta.EditarVentaCancelada(Convert.ToInt32(this.lblIdVenta.Text), Convert.ToDecimal("00.00"), formaPago, "",
                                                                   Convert.ToInt32(frmPrincipal.f1.lblIdUsuario.Text), idCliente, lblClase.Text);
                                if (rpta == "OK")
                                {
                                    string  formaPago = "";
                                    decimal pagoEfectivo = 00.00m, pagoTarjeta = 00.00m;
                                    if (rbEfectivo.Checked == true)
                                    {
                                        formaPago    = "EFECTIVO";
                                        pagoEfectivo = Convert.ToDecimal(this.lblTotal.Text);
                                        pagoTarjeta  = 00.00m;
                                    }
                                    else if (rbTarjeta.Checked == true)
                                    {
                                        formaPago    = "TARJETA";
                                        pagoEfectivo = 00.00m;
                                        pagoTarjeta  = Convert.ToDecimal(this.lblTotal.Text);
                                    }
                                    else if (rbMixto.Checked == true)
                                    {
                                        formaPago    = "MIXTO";
                                        pagoEfectivo = Convert.ToDecimal(this.txtEfectivo.Text);
                                        pagoTarjeta  = Convert.ToDecimal(this.txtTarjeta.Text);
                                    }

                                    string tipoCompr = "";
                                    if (this.lblBanderaComprobante.Text == "0" || this.lblBanderaComprobante.Text == "1")
                                    {
                                        tipoCompr = "BOLETA MANUAL";
                                    }

                                    else
                                    {
                                        tipoCompr = "FACTURA MANUAL";
                                    }

                                    rpta1 = NComprobante.InsertarManual(tipoCompr, Convert.ToInt32(txtSerie.Text.Trim()), Convert.ToInt32(txtNroCompr.Text.Trim()), Convert.ToDecimal(this.lblIgv.Text), DateTime.Now, Convert.ToInt32(this.lblIdVenta.Text), "EMITIDA", idCliente,
                                                                        Convert.ToDecimal(this.lblTotal.Text), pagoEfectivo, pagoTarjeta, 00.00m, formaPago, vuelto);
                                    if (rpta1 == "OK")
                                    {
                                        if (insertarCaja() == true)
                                        {
                                            //MessageBox.Show("Se registró correctamente");
                                            NMesa.EditarEstadoMesa(Convert.ToInt32(this.lblIdMesa.Text), "Libre");
                                            frmModuloSalon.f3.limpiarMesas();
                                            frmModuloSalon.f3.mostrarSalones();

                                            this.enviarFormaPago();
                                            // this.imprimir(Convert.ToInt32(this.lblIdVenta.Text));
                                            NImprimir_Comprobante.imprimirComManual(Convert.ToInt32(this.lblIdVenta.Text), tipoCompr, this.txtNombre.Text.Trim(), txtSerie.Text.Trim(),
                                                                                    txtNroCompr.Text.Trim(), this.txtDireccion.Text.Trim(),
                                                                                    this.txtDocumento.Text.Trim(), frmVenta.f1.lblMesero.Text, "", "",
                                                                                    frmVenta.f1.dataListadoDetalle, this.lblDescuento.Text, "00.00", this.lblSubTotal.Text,
                                                                                    this.lblIgv.Text, this.lblTotal.Text, efectivo1, vuelto1, tarjeta1, formaPago1, modoProd, "00.00", "");


                                            lblIdVenta.Text = "";
                                            this.Close();

                                            frmVenta.f1.Close();
                                            frmModuloSalon.f3.tEstado.Enabled = true;
                                        }
                                    }
                                    else
                                    {
                                        MessageBox.Show(rpta1);
                                    }
                                }
                                else
                                {
                                    MessageBox.Show(rpta);
                                }
                            }
                            else
                            {
                                if (this.txtIdCliente.Text != string.Empty && txtDocumento.Text.Trim().Length == 11)
                                {
                                    int cont = Convert.ToInt32(frmVenta.f1.lblNroFilas.Text);
                                    if (cont >= frmVenta.f1.dataListadoDetalle.Rows.Count)
                                    {
                                    }
                                    else
                                    {
                                        for (int i = cont; i < frmVenta.f1.dataListadoDetalle.Rows.Count; i++)
                                        {
                                            int     idProducto = Convert.ToInt32(frmVenta.f1.dataListadoDetalle.Rows[i].Cells[0].Value.ToString());
                                            int     cantidad   = Convert.ToInt32(frmVenta.f1.dataListadoDetalle.Rows[i].Cells[2].Value.ToString());
                                            decimal prVenta    = Convert.ToDecimal(frmVenta.f1.dataListadoDetalle.Rows[i].Cells[3].Value.ToString());
                                            decimal desc       = Convert.ToDecimal(frmVenta.f1.dataListadoDetalle.Rows[i].Cells[4].Value.ToString());
                                            string  tipo       = frmVenta.f1.dataListadoDetalle.Rows[i].Cells[8].Value.ToString();
                                            string  barra      = frmVenta.f1.dataListadoDetalle.Rows[i].Cells["Barra"].Value.ToString();

                                            NDetalleVenta.InsertarAdicPedido(Convert.ToInt32(frmVenta.f1.lblIdVenta.Text), idProducto, cantidad, prVenta, desc,
                                                                             frmVenta.f1.dataListadoDetalle.Rows[i].Cells[6].Value.ToString(), tipo, barra, "Pedido");

                                            for (int p = cont; p < frmVenta.f1.dataListadoDetalle.Rows.Count; p++)
                                            {
                                                if (frmVenta.f1.dataListadoDetalle.Rows[i].Cells["Tipo"].Value.ToString() == "C")
                                                {
                                                    DataTable dtDetalleProducto = new DataTable();
                                                    dtDetalleProducto = NProducto.mostrarDetalleProducto_Venta(Convert.ToInt32(frmVenta.f1.dataListadoDetalle.Rows[i].Cells["Cod"].Value.ToString()));
                                                    int cantPedido = Convert.ToInt32(frmVenta.f1.dataListadoDetalle.Rows[i].Cells["Cant"].Value.ToString());
                                                    for (int j = 0; j < dtDetalleProducto.Rows.Count; j++)
                                                    {
                                                        int idProducto_Com = Convert.ToInt32(dtDetalleProducto.Rows[j][0].ToString());
                                                        int cantRequerida  = Convert.ToInt32(dtDetalleProducto.Rows[j][1].ToString());

                                                        NProducto.EditarStock(idProducto_Com, cantRequerida * cantPedido);
                                                    }
                                                }


                                                DataTable dtReceta = NReceta.Mostrar(Convert.ToInt32(frmVenta.f1.dataListadoDetalle.Rows[p].Cells["Cod"].Value.ToString()));

                                                if (dtReceta.Rows.Count > 0)
                                                {
                                                    int     cantInsumo = Convert.ToInt32(frmVenta.f1.dataListadoDetalle.Rows[p].Cells["Cant"].Value.ToString());
                                                    decimal cantTotal;
                                                    for (int k = 0; k < dtReceta.Rows.Count; k++)
                                                    {
                                                        cantTotal = cantInsumo * Convert.ToDecimal(dtReceta.Rows[k][3].ToString());
                                                        NInsumo.EditarStock(Convert.ToInt32(dtReceta.Rows[k][0].ToString()), cantTotal);
                                                    }
                                                }
                                            }
                                        }
                                    }

                                    //   rpta1= NFactura.Insertar(1, Convert.ToDecimal(this.lblIgv.Text), DateTime.Now, Convert.ToInt32(this.lblIdVenta.Text),"EMITIDA", Convert.ToInt32(this.lblIdMesa.Text));
                                    rpta = NVenta.EditarVentaCancelada(Convert.ToInt32(this.lblIdVenta.Text), Convert.ToDecimal("00.00"), formaPago, "",
                                                                       Convert.ToInt32(frmPrincipal.f1.lblIdUsuario.Text), idCliente, lblClase.Text);
                                    if (rpta == "OK")
                                    {
                                        string  formaPago = "";
                                        decimal pagoEfectivo = 00.00m, pagoTarjeta = 00.00m;
                                        if (rbEfectivo.Checked == true)
                                        {
                                            formaPago    = "EFECTIVO";
                                            pagoEfectivo = Convert.ToDecimal(this.lblTotal.Text);
                                            pagoTarjeta  = 00.00m;
                                        }
                                        else if (rbTarjeta.Checked == true)
                                        {
                                            formaPago    = "TARJETA";
                                            pagoEfectivo = 00.00m;
                                            pagoTarjeta  = Convert.ToDecimal(this.lblTotal.Text);
                                        }
                                        else if (rbMixto.Checked == true)
                                        {
                                            formaPago    = "MIXTO";
                                            pagoEfectivo = Convert.ToDecimal(this.txtEfectivo.Text);
                                            pagoTarjeta  = Convert.ToDecimal(this.txtTarjeta.Text);
                                        }
                                        rpta1 = NComprobante.InsertarManual("FACTURA MANUAL", Convert.ToInt32(txtSerie.Text.Trim()), Convert.ToInt32(txtNroCompr.Text.Trim()), Convert.ToDecimal(this.lblIgv.Text), DateTime.Now, Convert.ToInt32(this.lblIdVenta.Text),
                                                                            "EMITIDA", Convert.ToInt32(this.txtIdCliente.Text), Convert.ToDecimal(this.lblTotal.Text), pagoEfectivo, pagoTarjeta, 00.00m, formaPago, vuelto);
                                        if (rpta1 == "OK")
                                        {
                                            if (insertarCaja() == true)
                                            {
                                                // MessageBox.Show("Se registró correctamente");
                                                NMesa.EditarEstadoMesa(Convert.ToInt32(this.lblIdMesa.Text), "Libre");
                                                frmModuloSalon.f3.limpiarMesas();
                                                frmModuloSalon.f3.mostrarSalones();
                                                enviarFormaPago();
                                                // this.imprimir(Convert.ToInt32(this.lblIdVenta.Text));
                                                NImprimir_Comprobante.imprimirComManual(Convert.ToInt32(this.lblIdVenta.Text), "FACTURA MANUAL", this.txtNombre.Text.Trim(), txtSerie.Text.Trim(),
                                                                                        txtNroCompr.Text.Trim(), this.txtDireccion.Text.Trim(),
                                                                                        this.txtDocumento.Text.Trim(), frmVenta.f1.lblMesero.Text, "", "",
                                                                                        frmVenta.f1.dataListadoDetalle, this.lblDescuento.Text, "00.00", this.lblSubTotal.Text,
                                                                                        this.lblIgv.Text, this.lblTotal.Text, efectivo1, vuelto1, tarjeta1, formaPago1, modoProd, "00.00", "");
                                                //this.imprimir(Convert.ToInt32(this.lblIdVenta.Text));

                                                lblIdVenta.Text = "";
                                                this.Close();
                                                frmVenta.f1.Close();
                                                frmModuloSalon.f3.tEstado.Enabled = true;
                                            }
                                        }
                                        else
                                        {
                                            MessageBox.Show(rpta1);
                                        }
                                    }
                                    else
                                    {
                                        MessageBox.Show(rpta);
                                    }
                                }
                                else
                                {
                                    MessageBox.Show("Seleccione un cliente o ingrese un numero de RUC correcto");
                                }
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.StackTrace);
                }
            }
            else
            {
                try
                {
                    if (this.txtEfectivo.Text == "" && (this.rbEfectivo.Checked == true || this.rbMixto.Checked == true))
                    {
                        MessageBox.Show("El campo efectivo es obligatorio");
                    }
                    else
                    {
                        if (verMontosPago() == true)
                        {
                            string  formaPago = "";
                            decimal pagoEfectivo = 00.00m, pagoTarjeta = 00.00m;
                            if (rbEfectivo.Checked == true)
                            {
                                formaPago    = "EFECTIVO";
                                pagoEfectivo = Convert.ToDecimal(this.lblTotal.Text);
                                pagoTarjeta  = 00.00m;
                            }
                            else if (rbTarjeta.Checked == true)
                            {
                                formaPago    = "TARJETA";
                                pagoEfectivo = 00.00m;
                                pagoTarjeta  = Convert.ToDecimal(this.lblTotal.Text);
                            }
                            else if (rbMixto.Checked == true)
                            {
                                formaPago    = "MIXTO";
                                pagoEfectivo = Convert.ToDecimal(this.txtEfectivo.Text);
                                pagoTarjeta  = Convert.ToDecimal(this.txtTarjeta.Text);
                            }
                            this.verFormaPago();
                            if (this.lblBanderaComprobante.Text == "0" || this.lblBanderaComprobante.Text == "1")
                            {
                                string tipoCompr = "";
                                if (this.lblBanderaComprobante.Text == "0" || this.lblBanderaComprobante.Text == "1")
                                {
                                    tipoCompr = "BOLETA MANUAL";
                                }
                                else
                                {
                                    tipoCompr = "FACTURA MANUAL";
                                }
                                string rpta = "";
                                rpta = NVenta.InsertarPedidoPagadoManual(idCliente, Convert.ToInt32(this.lblIdMesa.Text), DateTime.Now, "PAGADA", formaPago, Convert.ToDecimal(00.00m)
                                                                         , Convert.ToInt32(this.lblIdUsuario.Text), "CU", 1, tipoCompr, Convert.ToInt32(txtSerie.Text.Trim()),
                                                                         Convert.ToInt32(txtNroCompr.Text.Trim()), Convert.ToDecimal(this.lblIgv.Text), "EMITIDA",
                                                                         Convert.ToDecimal(this.lblTotal.Text), pagoEfectivo, pagoTarjeta,
                                                                         00.00m, frmVenta.f1.dtDetalle, vuelto,
                                                                         DateTime.Now, 00.00m, Convert.ToInt32(this.lblIdUsuario.Text), "", "", "", "", lblClase.Text);
                                if (rpta != "")
                                {
                                    for (int p = 0; p < frmVenta.f1.dataListadoDetalle.Rows.Count; p++)
                                    {
                                        if (frmVenta.f1.dataListadoDetalle.Rows[p].Cells["Tipo"].Value.ToString() == "C")
                                        {
                                            DataTable dtDetalleProducto = new DataTable();
                                            dtDetalleProducto = NProducto.mostrarDetalleProducto_Venta(Convert.ToInt32(frmVenta.f1.dataListadoDetalle.Rows[p].Cells["Cod"].Value.ToString()));
                                            int cantPedido = Convert.ToInt32(frmVenta.f1.dataListadoDetalle.Rows[p].Cells["Cant"].Value.ToString());
                                            for (int j = 0; j < dtDetalleProducto.Rows.Count; j++)
                                            {
                                                int idProducto_Com = Convert.ToInt32(dtDetalleProducto.Rows[j][0].ToString());
                                                int cantRequerida  = Convert.ToInt32(dtDetalleProducto.Rows[j][1].ToString());

                                                NProducto.EditarStock(idProducto_Com, cantRequerida * cantPedido);
                                            }
                                        }
                                        DataTable dtReceta = NReceta.Mostrar(Convert.ToInt32(frmVenta.f1.dataListadoDetalle.Rows[p].Cells["Cod"].Value.ToString()));

                                        if (dtReceta.Rows.Count > 0)
                                        {
                                            int     cantInsumo = Convert.ToInt32(frmVenta.f1.dataListadoDetalle.Rows[p].Cells["Cant"].Value.ToString());
                                            decimal cantTotal;
                                            for (int k = 0; k < dtReceta.Rows.Count; k++)
                                            {
                                                cantTotal = cantInsumo * Convert.ToDecimal(dtReceta.Rows[k][3].ToString());
                                                NInsumo.EditarStock(Convert.ToInt32(dtReceta.Rows[k][0].ToString()), cantTotal);
                                            }
                                        }
                                    }
                                    if (insertarCaja() == true)
                                    {
                                        //MessageBox.Show("Se registró correctamente");
                                        NMesa.EditarEstadoMesa(Convert.ToInt32(this.lblIdMesa.Text), "Libre");
                                        frmModuloSalon.f3.limpiarMesas();
                                        frmModuloSalon.f3.mostrarSalones();

                                        enviarFormaPago();
                                        // this.imprimir(Convert.ToInt32(this.lblIdVenta.Text));
                                        NImprimir_Comprobante.imprimirComManual(Convert.ToInt32(rpta), tipoCompr, this.txtNombre.Text.Trim(), txtSerie.Text.Trim(), txtNroCompr.Text.Trim(),
                                                                                this.txtDireccion.Text.Trim(),
                                                                                this.txtDocumento.Text.Trim(), frmVenta.f1.lblMesero.Text, "", "",
                                                                                frmVenta.f1.dataListadoDetalle, this.lblDescuento.Text, "00.00", this.lblSubTotal.Text,
                                                                                this.lblIgv.Text, this.lblTotal.Text, efectivo1, vuelto1, tarjeta1, formaPago1, modoProd, "00.00", "");

                                        //this.imprimir(Convert.ToInt32(rpta));
                                        lblIdVenta.Text = "";
                                        this.Close();
                                        frmVenta.f1.Close();
                                    }
                                }
                                else
                                {
                                    MessageBox.Show(rpta);
                                }
                            }
                            else
                            {
                                if (this.txtIdCliente.Text.Trim() != string.Empty && this.txtDocumento.Text.Trim().Length == 11)
                                {
                                    string rpta = "";
                                    rpta = NVenta.InsertarPedidoPagadoManual(idCliente, Convert.ToInt32(this.lblIdMesa.Text), DateTime.Now, "PAGADA", formaPago, Convert.ToDecimal(00.00m)
                                                                             , Convert.ToInt32(this.lblIdUsuario.Text), "CU", 1, "FACTURA MANUAL", Convert.ToInt32(txtSerie.Text.Trim()), Convert.ToInt32(txtNroCompr.Text.Trim()),
                                                                             Convert.ToDecimal(this.lblIgv.Text),
                                                                             "EMITIDA", Convert.ToDecimal(this.lblTotal.Text), pagoEfectivo,
                                                                             pagoTarjeta, 00.00m, frmVenta.f1.dtDetalle, vuelto,
                                                                             DateTime.Now, 00.00m, Convert.ToInt32(this.lblIdUsuario.Text), "", "", "", "",
                                                                             lblClase.Text);
                                    if (rpta != "")
                                    {
                                        if (insertarCaja() == true)
                                        {
                                            // MessageBox.Show("Se registró correctamente");
                                            NMesa.EditarEstadoMesa(Convert.ToInt32(this.lblIdMesa.Text), "Libre");
                                            frmModuloSalon.f3.limpiarMesas();
                                            frmModuloSalon.f3.mostrarSalones();
                                            //this.imprimir(Convert.ToInt32(rpta));
                                            enviarFormaPago();
                                            // this.imprimir(Convert.ToInt32(this.lblIdVenta.Text));
                                            NImprimir_Comprobante.imprimirComManual(Convert.ToInt32(rpta), "FACTURA MANUAL", this.txtNombre.Text.Trim(), txtSerie.Text.Trim(), txtNroCompr.Text.Trim(), this.txtDireccion.Text.Trim(),
                                                                                    this.txtDocumento.Text.Trim(), frmVenta.f1.lblMesero.Text, "", "",
                                                                                    frmVenta.f1.dataListadoDetalle, this.lblDescuento.Text, "00.00", this.lblSubTotal.Text,
                                                                                    this.lblIgv.Text, this.lblTotal.Text, efectivo1, vuelto1, tarjeta1, formaPago1, modoProd, "00.00", "");

                                            lblIdVenta.Text = "";
                                            this.Close();
                                            frmVenta.f1.Close();
                                        }
                                    }
                                    else
                                    {
                                        MessageBox.Show(rpta);
                                    }
                                }
                                else
                                {
                                    MessageBox.Show("Seleccione un cliente o ingrese un numero de RUC correcto");
                                }
                            }
                        }
                    }
                }

                catch (Exception ex)
                {
                    MessageBox.Show(ex.StackTrace);
                }
            }
        }