Example #1
0
        public void HandleEventShowManageBoatsMenu(Model.Member member, View.Console view, Model.MemberRegister register)
        {
            while (true)
            {
                view.ShowMenu(View.Console.MenuEvent.ManageBoatsMenu, member);
                int boatId;

                switch (view.GetMenuSelection())
                {
                case View.Console.MenuEvent.AddBoat:
                    HandleEventAddNewBoat(member, view, register);
                    break;

                case View.Console.MenuEvent.EditBoatMenu:
                    if (member.GetBoatCount() == 1)
                    {
                        boatId = member.GetBoats().First().ID;
                    }
                    else
                    {
                        view.ShowInputInfo(View.Console.MenuEvent.EditBoatMenu, member);
                        boatId = view.InputBoatID();
                    }

                    try
                    {
                        Model.Boat b = member.GetBoat(boatId);
                        HandleEventShowEditBoatMenu(member, b, view, register);
                    }
                    catch (ArgumentException)
                    {
                        view.ShowErrorMessage(View.Console.Error.NoBoatWithId, boatId.ToString());
                        view.Wait();
                    }
                    break;

                case View.Console.MenuEvent.DeleteBoat:
                    if (member.GetBoatCount() == 1)
                    {
                        boatId = member.GetBoats().First().ID;
                    }
                    else
                    {
                        view.ShowInputInfo(View.Console.MenuEvent.DeleteBoat, member);
                        boatId = view.InputBoatID();
                    }

                    try
                    {
                        member.DeleteBoat(boatId);
                        break;
                    }
                    catch (ArgumentException)
                    {
                        view.ShowErrorMessage(View.Console.Error.NoBoatWithId, boatId.ToString());
                        view.Wait();
                    }
                    break;

                case View.Console.MenuEvent.Back:
                    // exit menu
                    return;
                }
            }
        }