//Constructor public MemberRegistry(View.Console a_view) { m_isInStartup = true; m_view = a_view; //try to load member list from storage m_memberListDAL = new Model.MemberListDAL(); m_memberList = m_memberListDAL.LoadMemberList(); if (m_memberList == null) { m_memberList = new Model.MemberList(); } //subscribe to the MemberList m_memberList.AddSubscriber(this); //try to load user list from storage m_userListDAL = new Model.UserListDAL(); m_userList = m_userListDAL.LoadUserList(); if (m_userList == null) { m_userList = new Model.UserList(); } //subscribe to the UserList m_userList.AddSubscriber(this); m_addingEditingMember = null; m_loggedInUser = null; m_memberFiltering = null; m_isInStartup = false; }
public void HandleEventNewMember(View.Console view, Model.MemberRegister register) { view.ShowInputInfo(View.Console.MenuEvent.AddNewMember, null); Model.Member m = new Model.Member(register.GetNextMemberId()); try { m.Name = view.InputMemberName(); } catch (ArgumentException) { view.ShowErrorMessage(View.Console.Error.InvalidMemberName, null); view.Wait(); return; } try { m.PersonalNumber = view.InputMemberPersonalNumber(); } catch (ArgumentException) { view.ShowErrorMessage(View.Console.Error.InvalidPersonalNumber, null); view.Wait(); return; } register.AddMember(m); register.Save(); }
private void HandleEventAddNewBoat(Model.Member member, View.Console view, Model.MemberRegister register) { view.ShowInputInfo(View.Console.MenuEvent.AddBoat, member); Model.Boat boat = new Model.Boat(); boat.ID = register.GetNextBoatIdFor(member); try { boat.Model = (Model.Boat.BoatModel)view.InputBoatModel(); } catch (ArgumentException) { view.ShowErrorMessage(View.Console.Error.InvalidBoatModel, null); view.Wait(); return; } try { boat.Length = view.InputBoatLenght(); } catch (ArgumentException) { view.ShowErrorMessage(View.Console.Error.InvalidBoatLenght, null); view.Wait(); return; } member.AddBoat(boat); register.Save(); }
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; } } }
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; } } }
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; } } }
//Constructor public MemberRegistry(View.Console a_view) { m_isInStartup = true; m_view = a_view; m_storage = new Model.Storage(); //try to load member list from storage m_memberList = m_storage.LoadMemberList(); if (m_memberList == null) { m_memberList = new Model.MemberList(); } //subscribe to the MemberList m_memberList.AddSubscriber(this); m_addingEditingMember = null; m_isInStartup = false; }
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; } } }
public void StartApplication() { mDAL = new MemberDAL(); c = new View.Console(); try { mDAL.LoadMembersFromBin(); } catch (Exception e) { c.ErrorMessage(e); } while (true) { try { c.DisplayInstructions(); int userInput = int.Parse(c.GetUserInput()); IReadOnlyCollection<Member> list = mDAL.getMemberList(); switch (userInput) { case 1: // save and quit mDAL.SaveMembersToBin(); Environment.Exit(0); break; case 2: // add member Console.Clear(); while (true) { c.addMemberInstructionPrompt(); try { //fname, lname, ssn m = new Member(c.GetUserInput(), c.GetUserInput(), c.GetUserInput()); mDAL.addMemberToList(m); } catch { throw new ArgumentException(); } break; } break; case 3: // show compact list Console.Clear(); c.showMembersCompact(list); selectMember(list); break; case 4: // show verbose list Console.Clear(); c.showMembersVerbose(list); selectMember(list); break; default: break; } } catch (Exception e) { c.ErrorMessage(e); } } }
public void Start(View.Console view, Model.MemberRegister register) { ShowMainMenu(view, register); }
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; } } }