예제 #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;
                }
            }
        }
예제 #2
0
        private void ShowMainMenu(View.Console view, Model.MemberRegister register)
        {
            while (true)
            {
                view.ShowMenu(View.Console.MenuEvent.MainMenu, null);
                switch (view.GetMenuSelection())
                {
                    case View.Console.MenuEvent.AddNewMember:
                        HandleEventNewMember(view, register);
                        break;
                    case View.Console.MenuEvent.MemberListMenu:
                        HandleEventShowMemberListMenu(view, register);
                        break;
                    case View.Console.MenuEvent.MemberInfoMenu:
                        view.ShowInputInfo(View.Console.MenuEvent.MemberInfoMenu, null);
                        int id = view.InputMemberID();
                        if (id == 0)
                            break;

                        try
                        {
                            Model.Member m = register.GetMember(id);
                            HandleEventShowMemberInfoMenu(m, view, register);
                        }
                        catch (ArgumentException)
                        {
                            view.ShowErrorMessage(View.Console.Error.NoMemberWithId, id.ToString());
                            view.Wait();
                        }
                        break;
                    case View.Console.MenuEvent.DeleteMember:
                        view.ShowInputInfo(View.Console.MenuEvent.DeleteMember, null);
                        id = view.InputMemberID();
                        if (id == 0)
                            break;

                        try
                        {
                            register.DeleteMember(register.GetMember(id));
                            register.Save();
                        }
                        catch (ArgumentException)
                        {
                            view.ShowErrorMessage(View.Console.Error.NoMemberWithId, id.ToString());
                            view.Wait();
                        }
                        break;
                    case View.Console.MenuEvent.Exit:
                        return;
                }
            }
        }
예제 #3
0
 public void HandleEventShowMemberListMenu(View.Console view, Model.MemberRegister register)
 {
     while (true)
     {
         view.ShowMenu(View.Console.MenuEvent.MemberListMenu, null);
         switch (view.GetMenuSelection())
         {
             case View.Console.MenuEvent.MemberListSimple:
                 view.ShowMemberList(register.GetMemberList(), true);
                 view.Wait();
                 break;
             case View.Console.MenuEvent.MemberListComplete:
                 view.ShowMemberList(register.GetMemberList(), false);
                 view.Wait();
                 break;
             case View.Console.MenuEvent.Back:
                 // exit menu.
                 return;
         }
     }
 }
예제 #4
0
 private void HandleEventShowEditBoatMenu(Model.Member member, Model.Boat boat,
     View.Console view, Model.MemberRegister register)
 {
     while (true)
     {
         view.ShowMenu(View.Console.MenuEvent.EditBoatMenu, member);
         switch (view.GetMenuSelection())
         {
             case View.Console.MenuEvent.EditBoatModel:
                 view.ShowInputInfo(View.Console.MenuEvent.EditBoatModel, member);
                 try
                 {
                     boat.Model = (Model.Boat.BoatModel)view.InputBoatModel();
                     register.Save();
                 }
                 catch (ArgumentException)
                 {
                     view.ShowErrorMessage(View.Console.Error.InvalidBoatModel, null);
                     view.Wait();
                     return;
                 }
                 break;
             case View.Console.MenuEvent.EditBoatLength:
                 view.ShowInputInfo(View.Console.MenuEvent.EditBoatLength, member);
                 try
                 {
                     boat.Length = view.InputBoatLenght();
                     register.Save();
                     break;
                 }
                 catch (ArgumentException)
                 {
                     view.ShowErrorMessage(View.Console.Error.InvalidBoatLenght, null);
                     view.Wait();
                     break;
                 }
             case View.Console.MenuEvent.Back:
                 // exit menu
                 return;
         }
     }
 }
예제 #5
0
 public void HandleEventShowMemberInfoMenu(Model.Member member, View.Console view, Model.MemberRegister register)
 {
     while (true)
     {
         view.ShowMenu(View.Console.MenuEvent.MemberInfoMenu, member);
         switch (view.GetMenuSelection())
         {
             case View.Console.MenuEvent.EditMemberName:
                 view.ShowInputInfo(View.Console.MenuEvent.EditMemberName, member);
                 try
                 {
                     member.Name = view.InputMemberName();
                     register.Save();
                 }
                 catch (ArgumentException)
                 {
                     view.ShowErrorMessage(View.Console.Error.InvalidMemberName, null);
                     view.Wait();
                 }
                 break;
             case View.Console.MenuEvent.EditMemberPersonalNumber:
                 view.ShowInputInfo(View.Console.MenuEvent.EditMemberPersonalNumber, member);
                 try
                 {
                     member.PersonalNumber = view.InputMemberPersonalNumber();
                     register.Save();
                 }
                 catch (ArgumentException)
                 {
                     view.ShowErrorMessage(View.Console.Error.InvalidPersonalNumber, null);
                     view.Wait();
                 }
                 break;
             case View.Console.MenuEvent.ManageBoatsMenu:
                 HandleEventShowManageBoatsMenu(member, view, register);
                 register.Save();
                 break;
             case View.Console.MenuEvent.Back:
                 // exit menu.
                 return;
         }
     }
 }