예제 #1
0
        /// <summary>
        /// Método para poder cobrar una mesa y que al cobrarla, el precio total se acumule en el arqueo
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BotonCobrar_Click(object sender, EventArgs e)
        {
            if (Properties.Settings.Default.CajaAbierta == true)
            {
                Properties.Settings.Default.DineroEfectivo += Convert.ToDouble(val_total.Text);
                Properties.Settings.Default.Save();

                FormCambio cambio = new FormCambio(val_total.Text);
                if (cambio.ShowDialog() == DialogResult.OK)
                {
                    MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder();
                    builder.Server   = "localhost";
                    builder.UserID   = "root";
                    builder.Password = "";
                    builder.Database = "restaurante";
                    MySqlConnection conn  = new MySqlConnection(builder.ToString());
                    MySqlCommand    query = conn.CreateCommand();
                    try
                    {
                        ///<summary>
                        ///Borramos estos productos de la base de datos una vez se haya pagado la mesa
                        /// </summary>
                        conn.Open();
                        query.CommandText = String.Format("delete from productosmesa where numMesa = '{0}' and tipo='{1}' ", LabelMesa.Text, "s");
                        query             = new MySql.Data.MySqlClient.MySqlCommand(query.CommandText, conn);
                        query.ExecuteNonQuery();

                        total = 0;
                        panel3.Controls.Clear();
                        val_total.Text = "0";
                        conn.Close();
                        FormSalon salon = new FormSalon();
                        salon.Show();
                        this.Hide();
                    }
                    ///<exception cref="MySqlException">Error con la base de datos</exception>
                    catch (MySqlException exception)
                    {
                        MessageBox.Show(exception.Message);
                    }
                }
            }
            ///<summary>
            ///No se puede cobrar una mesa si no has abierto la caja anteriormente
            ///Esto hemos decidirlo así para que antes de cobrar metas el cambio que hay en la caja.
            ///Con esto, podemos controlar el efectivo total que hay en caja y el efectivo generado ese dia
            ///</summary>

            ///<example>
            ///
            /// Total facturado ====> Efectivo generado por ventas desde que se abre la caja hasta que se cierra
            ///
            /// Total efectivo ===> Efectivo generado por las ventas desde que se abre la caja hasta que se cierra + cambio en caja
            ///
            /// </example>
            else
            {
                MessageBox.Show("Tienes que abrir la caja para poder cobrar");
            }
        }
예제 #2
0
        private void BotonCobrar_Click(object sender, EventArgs e)
        {
            if (Properties.Settings.Default.CajaAbierta == true)
            {
                Properties.Settings.Default.DineroEfectivo += Convert.ToDouble(val_total.Text);
                Properties.Settings.Default.Save();

                FormCambio cambio = new FormCambio(val_total.Text);
                if (cambio.ShowDialog() == DialogResult.OK)
                {
                    MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder();
                    builder.Server   = "localhost";
                    builder.UserID   = "root";
                    builder.Password = "";
                    builder.Database = "restaurante";
                    MySqlConnection conn  = new MySqlConnection(builder.ToString());
                    MySqlCommand    query = conn.CreateCommand();
                    try
                    {
                        conn.Open();
                        query.CommandText = String.Format("delete from productosmesa where numMesa = '{0}' and tipo='{1}' ", LabelMesa.Text, "t");
                        query             = new MySql.Data.MySqlClient.MySqlCommand(query.CommandText, conn);
                        query.ExecuteNonQuery();

                        total = 0;
                        panel3.Controls.Clear();
                        val_total.Text = "0";
                        conn.Close();
                        FormTerraza terraza = new FormTerraza();
                        terraza.Show();
                        this.Hide();
                    }
                    catch (MySqlException exception)
                    {
                        MessageBox.Show(exception.Message);
                    }
                }
            }
            else
            {
                MessageBox.Show("Tienes que abrir la caja para poder cobrar");
            }
        }