/// <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"); } }
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"); } }