示例#1
0
        private void toolStripButton_reeimprimir_Click(object sender, EventArgs e)
        {
            int    contador = 0;
            string IdCortes = "0";

            dataGridView1.EndEdit();

            foreach (DataGridViewRow registro in dataGridView1.Rows)
            {
                try
                {
                    if ((Boolean)registro.Cells["Seleccionar"].Value == true)
                    {
                        IdCortes += "," + registro.Cells["iidCorteMesero"].Value.ToString();
                        contador++;
                    }
                }
                catch { }
            }

            if (contador == 0)
            {
                MessageBox.Show("Debe seleccionar al menos un registro.");
                return;
            }

            DialogResult res = MessageBox.Show(@"Esta usted seguro de imprimir los registros seleccionados?", "Confirmar", MessageBoxButtons.YesNo);

            if (res == DialogResult.Yes)
            {
                string[] valores = IdCortes.Split(',');
                for (int i = 0; i < valores.Length; i++)
                {
                    if (valores[i] != "0")
                    {
                        string IdCorte = valores[i];
                        //Imprimimos
                        Classes.Print.Class_CorteMesero ClsPrint = new Classes.Print.Class_CorteMesero(IdCorte);
                        ClsPrint.Imprimir();
                    }
                }
            }
        }
        private void button_CrearCorte_Click(object sender, EventArgs e)
        {
            //Valido seleccione un Mesero
            string IdMesero = "";

            try
            {
                IdMesero = comboBox_Mesero.SelectedValue.ToString();
            }
            catch { }
            if (IdMesero == "0")
            {
                MessageBox.Show("Seleccione un mesero");
                return;
            }

            DataTable dtPersonal = ClsPersonal.getLista(" AND P.iidPersonal = " + IdMesero);

            if (dtPersonal.Rows.Count == 0)
            {
                MessageBox.Show("Personal no encontrado");
                return;
            }

            fPropina_Porcentaje = Convert.ToDouble(dtPersonal.Rows[0]["fPropina"].ToString());

            //valido que el mesero no tenga pedidos pendientes de cobrar.
            DataTable dtPedidosPendientes = ClsPedidos.Rep_MeserosEnCortes(" AND P.iidPersonal = " + IdMesero + " AND P.siPagado = 0 ");

            if (dtPedidosPendientes.Rows.Count > 0)
            {
                MessageBox.Show("Existen Pedidos Pendientes de Cerrar para este mesero");
                return;
            }


            double PropinaRecaudad = 0;

            DataTable dtPedidos = ClsPedidos.Rep_MeserosEnCortes(" AND P.iidPersonal = " + IdMesero + " AND P.siPagado = 1 AND P.iidCorteMesero = 0 ");

            if (dtPedidos.Rows.Count > 0)
            {
                PropinaRecaudad = Convert.ToDouble(dtPedidos.Rows[0]["Propina"].ToString());
            }


            DialogResult dialogEnd = MessageBox.Show(@"¿Desea crear corte?", "Confirmacion", MessageBoxButtons.YesNoCancel);

            if (dialogEnd == DialogResult.Yes)
            {
                if (ClsCortesMeseros.InsertaInformacion(IdMesero, Porcentaj_PropinaObjetivo, fPropina_Porcentaje))
                {
                    string IdCorteMesero = ClsCortesMeseros.getIdCorteCreado();

                    //Asigna
                    if (!ClsCortesMeseros.ProcesaCortesMesero(IdCorteMesero))
                    {
                        MessageBox.Show("Problema en la Asignacion de Pedidos para el Mesero");
                        return;
                    }

                    ///Crea Propina Proximas Areas
                    DataTable dtListaPuetosRepartir = ClsPuestos.getListaWhere(" WHERE siRepartoPropina = 1 AND iidEstatus = 1 ");
                    if (dtListaPuetosRepartir.Rows.Count > 0)
                    {
                        foreach (DataRow RowRep in dtListaPuetosRepartir.Rows)
                        {
                            double LeToca = Math.Round((Convert.ToDouble(RowRep["fPropina"].ToString()) * PropinaRecaudad) / 100, 2);
                            ClsDetalleCortesMeseros.InsertaInformacion(IdCorteMesero, RowRep["iidPuesto"].ToString(), LeToca);
                        }
                    }

                    DialogResult dialogResult = MessageBox.Show(@"¿Desea Imprimir el corte?", "Confirmacion", MessageBoxButtons.YesNoCancel);
                    if (dialogResult == DialogResult.Yes)
                    {
                        //Imprimimos
                        Classes.Print.Class_CorteMesero ClsPrint = new Classes.Print.Class_CorteMesero(IdCorteMesero);
                        ClsPrint.Imprimir();
                    }


                    this.Close();


                    MessageBox.Show("Creado Correctamente");
                    return;
                }
                else
                {
                    MessageBox.Show("Problema al crear el corte");
                    return;
                }
            }

            //genero
        }