Beispiel #1
0
        /// <summary>
        /// Button:Create Order
        /// </summary>
        private void button3_Click(object sender, EventArgs e)
        {
            var execId = RestaurantViewModel.CreateBussinessObjectInstance();
            GuestOrderEntity gOrder = new GuestOrderEntity(execId);

            RestaurantViewModel.RestaurantEntity.GuestOrderList.Add(gOrder);
            RestaurantViewModel.executorDict[execId].go();
            OrderingForm of = new OrderingForm(true);

            of.BindingGuestOrderId = gOrder.OrderId;
            of.ShowDialog(this);
        }
        /// <summary>
        /// Button:Submit
        /// </summary>
        private void button1_Click(object sender, EventArgs e)
        {
            // Add the dish to the guest order
            GuestOrderEntity gOrder = RestaurantViewModel.RestaurantEntity.GuestOrderList.Find((t) => t.OrderId == this.BindingGuestOrderId);

            for (int i = 0; i < this.listBox1.Items.Count; i++)
            {
                var cDish = RestaurantViewModel.RestaurantEntity.Menu.Find(
                    (t) => String.Compare(t.Name, this.listBox1.Items[i].ToString(), true) == 0);
                gOrder.AddDish(cDish.Clone());
            }
            // Generate a Kitchen Order
            KitchenOrderEntity kOrder = new KitchenOrderEntity(this.BindingGuestOrderId);

            RestaurantViewModel.RestaurantEntity.KitchenOrderList.Add(kOrder);
            // State transition
            var handler = RestaurantViewModel.ActiveTaskHandlerList.Find(
                (x) => ((x is AddItemTaskHandler) && ((AddItemTaskHandler)x).GuestOrderId == gOrder.OrderId)) as AddItemTaskHandler;

            handler.Submit();
            // Refresh the front end
            RestaurantViewModel.WaiterFormReference.RefreshOrderList();
            this.Close();
        }