コード例 #1
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                //the is a max of 4 menus options for each booking

                if (comboMenu1.Text != "None")
                {
                    FoodMenu menu1    = (FoodMenu)comboMenu1.SelectedItem;
                    int      quantity = (int)numMenu1Count.Value;

                    if ((string)comboMenu1.Tag == "None")
                    {
                        if (!Meal.Add(new Meal(m_SelectedBooking, menu1, quantity)))
                        {
                            pushErrorMessage("Error adding a new menu.");
                            return;
                        }
                        comboMenu1.Tag = "";
                        goto MENU_2;
                    }

                    if (!Meal.Update(new Meal(m_SelectedBooking, ((FoodMenu)comboMenu1.SelectedItem), 0), menu1.ID, quantity))
                    {
                        pushErrorMessage(string.Format("Error submitting menu \"{0}.\" Check you aren't passing two of the same menus!", menu1.ToString()));
                        return;
                    }
                }
MENU_2:
                if (comboMenu2.Text != "None")
                {
                    FoodMenu menu2    = (FoodMenu)comboMenu2.SelectedItem;
                    int      quantity = (int)numMenu2Count.Value;

                    if ((string)comboMenu2.Tag == "None")
                    {
                        if (!Meal.Add(new Meal(m_SelectedBooking, menu2, quantity)))
                        {
                            pushErrorMessage("Error adding a new menu.");
                            return;
                        }
                        comboMenu2.Tag = "";
                        goto MENU_3;
                    }

                    if (!Meal.Update(new Meal(m_SelectedBooking, ((FoodMenu)comboMenu2.SelectedItem), 0), menu2.ID, quantity))
                    {
                        pushErrorMessage(string.Format("Error submitting menu \"{0}.\" Check you aren't passing two of the same menus!", menu2.ToString()));
                        return;
                    }
                }
MENU_3:
                if (comboMenu3.Text != "None")
                {
                    FoodMenu menu3    = (FoodMenu)comboMenu3.SelectedItem;
                    int      quantity = (int)numMenu3Count.Value;

                    if ((string)comboMenu3.Tag == "None")
                    {
                        if (!Meal.Add(new Meal(m_SelectedBooking, menu3, quantity)))
                        {
                            pushErrorMessage("Error adding a new menu.");
                            return;
                        }
                        comboMenu3.Tag = "";
                        goto MENU_4;
                    }

                    if (!Meal.Update(new Meal(m_SelectedBooking, ((FoodMenu)comboMenu3.SelectedItem), 0), menu3.ID, quantity))
                    {
                        pushErrorMessage(string.Format("Error submitting menu \"{0}.\" Check you aren't passing two of the same menus!", menu3.ToString()));
                        return;
                    }
                }
MENU_4:
                if (comboMenu4.Text != "None")
                {
                    FoodMenu menu4    = (FoodMenu)comboMenu4.SelectedItem;
                    int      quantity = (int)numMenu4Count.Value;

                    if ((string)comboMenu4.Tag == "None")
                    {
                        if (!Meal.Add(new Meal(m_SelectedBooking, menu4, quantity)))
                        {
                            pushErrorMessage("Error adding a new menu.");
                            return;
                        }

                        comboMenu4.Tag = "";
                        goto MENU_ADD_UPDATE_END;
                    }

                    if (!Meal.Update(new Meal(m_SelectedBooking, ((FoodMenu)comboMenu4.SelectedItem), 0), menu4.ID, quantity))
                    {
                        pushErrorMessage(string.Format("Error submitting menu \"{0}.\" Check you aren't passing two of the same menus!", menu4.ToString()));
                        return;
                    }
                }
MENU_ADD_UPDATE_END:
                MessageBox.Show("Menus Added / Updated Successfully!");
                this.Close();
            }
            catch (Exception ex)
            {
                //debugging menu addition
                var st    = new StackTrace(ex, true);
                var frame = st.GetFrame(0);
                var line  = frame.GetFileLineNumber();
                //debugging end
                Console.WriteLine("ERROR : {0} {1}", ex.Message, line);
            }
        }