Ejemplo n.º 1
0
        // Display view to delete a boat (pick boat, confirmation window), delete the boat from the member
        private void DeleteBoat(model.Member member)
        {
            if (member.Boats.Count() == 0)
            {
                DoMemberView(member);
            }
            else
            {
                try
                {
                    model.Boat boatToDelete = _boatView.GetBoatToEditOrDelete(member, "delete");
                    if (_boatView.ConfirmDelete() == true)
                    {
                        member.DeleteBoat(boatToDelete);
                        _list.SaveMemberList();
                    }

                    DoMemberView(member);
                }
                catch (Exception ex)
                {
                    _boatView.DisplayErrorMessage(ex.Message);
                    _boatView.PressKeyToContinue();
                    DoMemberView(member);
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Display a member to the user
        /// </summary>
        /// <param name="a_member">model.Member. The member to be displayed</param>
        /// <param name="showPNumber">bool. True if the Personal Number should be displayed, false otherwise</param>
        /// <param name="showBoats">bool. True if the boats the user owns should be displayed, false if only the number of boats owned should be displayed</param>
        public void DisplayMember(model.Member a_member, bool showPNumber, bool showBoats)
        {
            System.Console.WriteLine("---");
            System.Console.WriteLine("MemberID: {0}", a_member.GetMemberID());
            System.Console.WriteLine("Name: {0}", a_member.GetName());

            if (showPNumber)
            {
                System.Console.WriteLine("Personal Number: {0}", a_member.GetPNumber());
            }

            List <model.Boat> boats = a_member.GetBoatList().GetBoats();

            if (boats.Count > 0)
            {
                if (showBoats)
                {
                    System.Console.WriteLine("Boats:");

                    foreach (model.Boat boat in boats)
                    {
                        DisplayBoat(boat);
                    }
                }
                else
                {
                    System.Console.WriteLine("Boats: {0}", boats.Count);
                }
            }
        }
Ejemplo n.º 3
0
 // Display views, get inputs to create/save boat to a member
 private void AddBoat(model.Member member) // Which member to add the boat to
 {
     try
     {
         _memberView.DisplayMember(member);
         model.Boat.BoatType type    = _boatView.GetTypeFromUser();
         double     length           = _boatView.GetLengthFromUser();
         DateTime   registrationDate = _boatView.GetRegistrationDate();
         model.Boat boat             = new model.Boat(type, length, registrationDate);
         member.AddBoat(boat);
         _list.SaveMemberList();
         DoMemberView(member);
     }
     catch (Exception ex)
     {
         _memberView.DisplayMember(member);
         _boatView.DisplayErrorMessage(ex.Message);
         if (_boatView.DoesUserWantsToQuit() == true)
         {
             DoMemberView(member);
         }
         else
         {
             AddBoat(member);
         }
     }
 }
Ejemplo n.º 4
0
 // Display view to change a boat's lenght, get new length and do the change
 // Note: Edit boat? isn't more correct to remove a boat and register a new? or is it when you "remodel" an existing boat
 private void EditBoat(model.Member member)
 {
     // Only able to edit and delete boats if you own a boat
     if (member.Boats.Count() == 0)
     {
         DoMemberView(member);
     }
     else
     {
         try
         {
             model.Boat boatToEdit = _boatView.GetBoatToEditOrDelete(member, "edit");
             boatToEdit.Length = _boatView.GetLengthFromUser();
             _list.SaveMemberList();
             DoMemberView(member);
         }
         catch (Exception ex)
         {
             _memberView.DisplayMember(member);
             _memberView.DisplayErrorMessage(ex.Message);
             if (_memberView.DoesUserWantsToQuit() == true)
             {
                 DoMemberView(member);
             }
             else
             {
                 EditBoat(member);
             }
         }
     }
 }
Ejemplo n.º 5
0
        public void DeleteMember()
        {
            string memberId = MemberView.InputMemberIdToDelete();

            model.Member member = Roster.FindMemberById(memberId);
            Roster.DeleteMember(member);
        }
Ejemplo n.º 6
0
 // Display views, get inputs to create/save member to list
 private void AddMember()
 {
     try
     {
         _startView.DisplayStartMenu();
         int          memberId       = _list.GetUniqueMemberId();
         string       name           = _startView.GetStringFromUser(true);
         string       personalNumber = _startView.GetStringFromUser(false);
         model.Member member         = new model.Member(memberId, name, personalNumber); // Throws exception if fail
         _list.AddMember(member);
         _list.SaveMemberList();
         DoMemberView(member);
     }
     // Using catch do display error messages to user
     catch (Exception ex)
     {
         _startView.DisplayErrorMessage(ex.Message);
         if (_startView.DoesUserWantsToQuit() == true)
         {
             DoStartMenu();
         }
         else
         {
             AddMember();
         }
     }
 }
Ejemplo n.º 7
0
        // With some validation to confirm the delete
        public bool ConfirmDelete(model.Member m)
        {
            Console.WriteLine("-----------------------------------");
            Console.ForegroundColor = ConsoleColor.Red;
            Console.Write(" Repeat the memberId to confirm: ");

            try
            {
                int memberId = int.Parse(Console.ReadLine());
                Console.WriteLine("");
                if (memberId == m.MemberId)
                {
                    PressKeyToContinue();
                    return(true);
                }
                else
                {
                    Console.WriteLine(" MemberId missmatched!");
                }
            }
            catch (FormatException)
            {
                Console.WriteLine("\n Invalid ID!");
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            PressKeyToContinue();
            return(false);
        }
Ejemplo n.º 8
0
        public void EditMember(model.Member member)
        {
            if (member.GetMemberId() != "0")
            {
                MemberView.WriteMemberToConsole(member, true);
                MemberView.EditMemberMenu();
                string choice = System.Console.ReadLine();

                if (choice == "1")
                {
                    string name = MemberView.GetNewMemberName();
                    member.SetName(name);
                    MemberView.Success();
                }
                else if (choice == "2")
                {
                    string personalNumber = MemberView.GetPersonalNumber();
                    member.SetPersonalNumber(personalNumber);
                    MemberView.Success();
                }
                else if (choice == "3")
                {
                    BoatController.BoatMenu(member);
                }
                else
                {
                    MemberView.InvalidChoice();
                }
                MemberView.PressToContinue();
            }
            else
            {
                MemberView.MemberNotFound();
            }
        }
Ejemplo n.º 9
0
 public void NewMemberAdded(model.Member member)
 {
     System.Console.Write("Member was added successfully: ");
     WriteMemberToConsole(member);
     System.Console.WriteLine("Press any key to continue ...");
     System.Console.ReadKey();
 }
Ejemplo n.º 10
0
 public void RegisterMember(string name, string personalIdentityNumber)
 {
     List<Boat> boatList = new List<Boat>();
     int id = (GetLastMemberId()) + 1;
     model.Member newMember = new model.Member(id, name, personalIdentityNumber, boatList);
     AddMember(newMember);
     UpdateTextFile();
 }
Ejemplo n.º 11
0
        // ADD BOAT

        /// <summary>
        /// Display a header describing the add boat menu
        /// </summary>
        /// <param name="a_member">model.Member, the member to add a boat to</param>
        public void AddBoat(model.Member a_member)
        {
            System.Console.Clear();
            System.Console.WriteLine("----------------------------------");
            System.Console.WriteLine("Adding a boat for member:");
            DisplayMember(a_member, true, true);
            System.Console.WriteLine("----------------------------------");
        }
Ejemplo n.º 12
0
        // CHANGE MEMBER INFORMATION

        /// <summary>
        /// Display a header describing the edit member menu
        /// </summary>
        /// <param name="a_member">model.Member, the member being edited</param>
        public void EditMember(model.Member a_member)
        {
            System.Console.Clear();
            System.Console.WriteLine("----------------------------------");
            System.Console.WriteLine("Editing member:");
            DisplayMember(a_member, true, false);
            System.Console.WriteLine("----------------------------------");
        }
Ejemplo n.º 13
0
        public void DeleteBoat(model.Member member)
        {
            string id = BoatView.GetBoatIdToDelete(member.getBoats());

            if (BoatView.ConfirmDelete())
            {
                member.DeleteBoat(id);
            }
        }
Ejemplo n.º 14
0
        public void PrintBoatInfo(model.Member member)
        {
            int ind = 1;

            foreach (model.Boat boat in member.Boats)
            {
                System.Console.WriteLine($"[{ind++}]: Boattype: {boat.Type} Length: {boat.LengthInFeet} feet");
            }
        }
Ejemplo n.º 15
0
 private void DoAddMember(model.MemberRegistry a_model, view.MainView a_view)
 {
     model.Member m = a_view.m_memberView.DoAddMemberForm();
     if (m != null)
     {
         a_model.AddMember(m);
         a_view.SetSelectedMember(m);
     }
 }
Ejemplo n.º 16
0
 private void DoAddBoat(view.MainView a_view, model.Member selectedMember)
 {
     model.Boat b = a_view.m_memberView.m_boatView.DoAddBoatForm();
     if (b != null)
     {
         selectedMember.AddBoat(b);
         a_view.SetSelectedBoat(selectedMember, b);
     }
 }
Ejemplo n.º 17
0
 private static void DoChangeBoat(view.MainView a_view, model.Member selectedMember, model.Boat selectedBoat)
 {
     model.Boat b;
     b = a_view.m_memberView.m_boatView.DoChangeBoatForm(selectedBoat);
     if (b != null)
     {
         selectedMember.UpdateBoat(selectedBoat, b);
     }
 }
Ejemplo n.º 18
0
        public void RegisterMember(string name, string personalIdentityNumber)
        {
            List <Boat> boatList = new List <Boat>();
            int         id       = (GetLastMemberId()) + 1;

            model.Member newMember = new model.Member(id, name, personalIdentityNumber, boatList);
            AddMember(newMember);
            UpdateTextFile();
        }
Ejemplo n.º 19
0
 private void SetPickedMember(int id)
 {
     _enumMembers = _memberRegister.GetMembersAsEnums(_savedData);
     foreach (var mem in _enumMembers.Where(mem => mem.MemberId == id).Select(mem => mem))
     {
         _pickedMember   = mem;
         _pickedMemberId = mem.MemberId;
     }
 }
Ejemplo n.º 20
0
        public void MemberToStringSmall(model.Member m)
        {
            int b = 0;

            if (m.Boats != null)
            {
                b = m.Boats.Count;
            }
            System.Console.WriteLine("Id: {0}, Name: {1} {2}, Boats: {3}", m.MemberId, m.FirstName, m.LastName, b);
        }
Ejemplo n.º 21
0
        public MemberMenuChoice DoMemberMenu(model.Member a_member)
        {
            Console.Clear();
            Console.Out.WriteLine("Medlem");
            PrintMember(a_member);

            String[] menuStrings = new String[] { "Lägg Till Ny Båt", "Välj Båt", "Ändra", "Ta Bort", "Tillbaka" };

            return(DoMenu <MemberMenuChoice>(menuStrings, MemberMenuChoice.Invalid, "Medlemsmeny"));
        }
Ejemplo n.º 22
0
 public void ViewSpecificMember(model.Member member)
 {
     System.Console.WriteLine("VIEW MEMBER");
     System.Console.WriteLine("-------------------------");
     System.Console.WriteLine("Member id:" + member.Id);
     System.Console.WriteLine(member.Name);
     System.Console.WriteLine(member.PersonalIdentityNumber);
     System.Console.WriteLine("Number of boats: " + member.BoatRegister.Count);
     System.Console.WriteLine("-------------------------");
 }
Ejemplo n.º 23
0
        // EDIT BOAT

        /// <summary>
        /// Display a header descirbing the edit boat menu
        /// </summary>
        /// <param name="a_member">model.Member, the member whos boat is being edited</param>
        /// <param name="a_boatID">int, the boat id of the boat being edited</param>
        public void EditBoat(model.Member a_member, int a_boatID)
        {
            System.Console.Clear();
            System.Console.WriteLine("----------------------------------");
            System.Console.WriteLine("Editing boat:");
            DisplayBoat(a_member, a_boatID);
            System.Console.WriteLine("The boat belongs to member:");
            DisplayMember(a_member, true, false);
            System.Console.WriteLine("----------------------------------");
        }
Ejemplo n.º 24
0
        private void PrintBoats(model.Member a_member)
        {
            List <model.Boat> a_boatList = a_member.getBoats();
            int i = 1;

            foreach (var a_boat in a_boatList)
            {
                Console.WriteLine("\t{0}. Båttyp: {1}\tLängd: {2}", i, a_boat.Type, a_boat.Length);
                i++;
            }
        }
Ejemplo n.º 25
0
        public void EditBoat(model.Member member)
        {
            string id = BoatView.EditBoatMenu(member.getBoats());

            model.Boat boat = new model.Boat("Other", 1, "0");
            foreach (model.Boat b in member.getBoats())
            {
                if (b.GetId() == id)
                {
                    boat = b;
                }
            }
            if (boat.GetId() == "0")
            {
                BoatView.BoatNotFound();
            }
            else
            {
                string choice = BoatView.EditBoatChoice();
                if (choice == "1")
                {
                    BoatView.ChangeType();
                    string type = BoatType();

                    if (type.Length == 0)
                    {
                        BoatView.InvalidChoice();
                    }
                    else
                    {
                        boat.setType(type);
                        BoatView.Success();
                    }
                }
                else if (choice == "2")
                {
                    string lengthAsString = BoatView.GetBoatLength();
                    if (Int32.TryParse(lengthAsString, out int length))
                    {
                        boat.setLength(length);
                        BoatView.Success();
                    }
                    else
                    {
                        BoatView.InvalidChoice();
                    }
                }
                else
                {
                    BoatView.InvalidChoice();
                }
            }
        }
Ejemplo n.º 26
0
        /// <summary>
        /// Read a response from the user, from the specific boat menu and change the users menu position accordingly
        /// </summary>
        /// <param name="a_member">model.Member, the member that owns the boat</param>
        /// <param name="a_boatID">int, the boatID of the boat</param>
        private void BoatResponse(model.Member a_member, int a_boatID)
        {
            int response = m_console.GetBoatResponse();

            if (response == -1)
            {
                a_member.GetBoatList().RemoveBoat(a_boatID);
                GoToCurrentMenu(a_member);
                return;
            }
            GoToCurrentMenu(a_member, a_boatID);
        }
Ejemplo n.º 27
0
 public void SetSelectedMember(model.Member a_member)
 {
     m_selectedBoatIx = -1;
     if (a_member != null)
     {
         m_selectedMemberId = a_member.GetId();
     }
     else
     {
         m_selectedMemberId = -1;
     }
 }
Ejemplo n.º 28
0
 public void MemberToString(model.Member m, BoatView v)
 {
     if (m.Boats.Count > 0)
     {
         string boats = String.Concat(m.Boats.Select(b => v.BoatToString(b)));
         System.Console.WriteLine("Id: {0}, Name: {1} {2}, Personal number: {3}, Boats: {4}", m.MemberId, m.FirstName, m.LastName, m.PersNum, boats);
     }
     else
     {
         string boats = "No boats added yet";
         System.Console.WriteLine("Id: {0}, Name: {1} {2}, Personal number: {3}, Boats: {4}", m.MemberId, m.FirstName, m.LastName, m.PersNum, boats);
     }
 }
Ejemplo n.º 29
0
 /// <summary>
 /// Displays a boat to the user
 /// </summary>
 /// <param name="a_member">model.Member. The member that ownes the boat</param>
 /// <param name="a_boatID">int. The ID of that boat to be displayed</param>
 public void DisplayBoat(model.Member a_member, int a_boatID)
 {
     foreach (model.Boat boat in a_member.GetBoatList().GetBoats())
     {
         if (a_boatID == boat.GetBoatID())
         {
             System.Console.WriteLine("BoatID: {0}", a_boatID);
             System.Console.WriteLine("Type: {0}", boat.GetBoatType());
             System.Console.WriteLine("Length: {0}", boat.GetLength());
             break;
         }
     }
 }
Ejemplo n.º 30
0
        public bool Do(model.MemberRegistry a_model, view.MainView a_view)
        {
            model.Member selectedMember = a_view.GetSelectedMember(a_model);
            model.Boat   selectedBoat   = a_view.GetSelectedBoat(a_model);

            if (selectedMember == null)
            {
                view.MainView.MainMenuChoice choice;
                choice = a_view.DoMainMenu();

                switch (choice)
                {
                case view.MainView.MainMenuChoice.AddMember:
                    DoAddMember(a_model, a_view);
                    return(true);

                case view.MainView.MainMenuChoice.ListMembers:
                    a_view.PrintMemberList(a_model.GetMembers());
                    return(true);

                case view.MainView.MainMenuChoice.ListMembersFull:
                    a_view.PrintFullMemberList(a_model.GetMembers());
                    return(true);

                case view.MainView.MainMenuChoice.SelectMember:
                    model.Member m = a_view.DoSelectMember(a_model.GetMembers());
                    if (m != null)
                    {
                        a_view.SetSelectedMember(m);
                    }
                    return(true);

                case view.MainView.MainMenuChoice.Quit:
                default:
                    return(false);
                }
            }
            else
            {
                if (selectedBoat != null)
                {
                    DoSelectedBoat(a_view, selectedMember, selectedBoat);
                }
                else
                {
                    DoSelectedMember(a_model, a_view, selectedMember);
                }

                return(true);
            }
        }
Ejemplo n.º 31
0
        // DISPLAY BOAT

        /// <summary>
        /// Display the boat menu to the user
        /// </summary>
        /// <param name="a_member">model.Member. The member that ownes the boat</param>
        /// <param name="a_boatID">int. The boat to be edited</param>
        public void DisplayBoatMenu(model.Member a_member, int a_boatID)
        {
            System.Console.Clear();
            System.Console.WriteLine("----------------------------------");
            System.Console.WriteLine("Boat:");
            DisplayBoat(a_member, a_boatID);
            System.Console.WriteLine("The boat belongs to member:");
            DisplayMember(a_member, true, false);
            System.Console.WriteLine("----------------------------------");
            System.Console.WriteLine("e to edit");
            System.Console.WriteLine("d to delete");
            System.Console.WriteLine("q to go back");
            System.Console.WriteLine("----------------------------------");
        }
Ejemplo n.º 32
0
        public List<BoatListItem> filterBoats(int memberID)
        {
            model.Member m = new model.Member("", "", 0);
            List<BoatListItem> filteredList= new List<BoatListItem>();
            List<BoatListItem> fullList = new List<BoatListItem>();
            fullList = m.ReadFile();

            for (int i = 0; i < fullList.Count; i++)
            {
                if (fullList[i].MemberID == memberID)
                {
                    filteredList.Add(fullList[i]);
                }
            }
            return filteredList;
        }
Ejemplo n.º 33
0
        //creating new member, calling to display instructions
        //try-catch for exeptions with the name and securitynumber
        //saving the list to the bin-file
        public void addNewMember()
        {
            consoleView.clear();
            consoleView.displayNameInstruktions();
            string name = consoleView.getInput();
            consoleView.clear();
            consoleView.displaySocialSecurityNumberInstruktions();
            string SecurityNumber = consoleView.getInput();

            int uniqeId = 0;
            do
            {
                uniqeId = randomNumber();
            } while (isUniqeSame(uniqeId));

            try
            {
                model.Member member = new model.Member(name, SecurityNumber, uniqeId);
                members.Add(member);
            }
            catch (Exception e)
            {
                consoleView.displayExeptions(e.ToString());
            }

            DAL.save(members);
        }
Ejemplo n.º 34
0
        //creating new member, calling to display instructions
        //try-catch for exeptions with the name and securitynumber
        //saving the list to the bin-file
        private void addNewMember()
        {
            consoleView.clear();
            consoleView.displayNameInstruktions();
            string name = consoleView.getInput();
            consoleView.clear();
            consoleView.displaySocialSecurityNumberInstruktions();
            string SecurityNumber = consoleView.getInput();

            int uniqeId = generateId.newId(DAL.Members);
            try
            {
                model.Member member = new model.Member(name, SecurityNumber, uniqeId);
                DAL.addMember(member);
            }
            catch (Exception e)
            {
                consoleView.displayExeptions(e.ToString());
            }
        }
Ejemplo n.º 35
0
 public void UpdateMember(string name, string socialSecurityNumber, int memberId)
 {
     model.Member memberToAdd = new model.Member(name, socialSecurityNumber, memberId);
     m_members.Add(memberToAdd);
     SaveMemberList();
 }
Ejemplo n.º 36
0
        public void RegisterMember(string name, string socialSecurityNumber)
        {
            //Randomize member ID
            int memberId = 0;
            bool isInList = false;

            //Make sure member ID is unique
            do
            {
                memberId = m_random.Next(0, 500);
                foreach (Member member in m_members)
                {
                    if (member.MemberId == memberId)
                    {
                        isInList = true;
                    }
                }
            } while (isInList);

            model.Member memberToAdd = new model.Member(name, socialSecurityNumber, memberId);

            m_members.Add(memberToAdd);
            SaveMemberList();
        }
Ejemplo n.º 37
0
 public void CreateMember(int memberID, string _firstName, string _lastName, string _ssn)
 {
     model.Member m_member = new model.Member(memberID, _firstName, _lastName, _ssn);
         _members.Add(m_member);
 }
Ejemplo n.º 38
0
 // Display views, get inputs to create/save member to list
 private void AddMember()
 {
     try
     {
         _startView.DisplayStartMenu();
         int memberId = _list.GetUniqueMemberId();
         string name = _startView.GetStringFromUser(true);
         string personalNumber = _startView.GetStringFromUser(false);
         model.Member member = new model.Member(memberId, name, personalNumber); // Throws exception if fail
         _list.AddMember(member);
         _list.SaveMemberList();
         DoMemberView(member);
     }
     // Using catch do display error messages to user
     catch (Exception ex)
     {
         _startView.DisplayErrorMessage(ex.Message);
         if (_startView.DoesUserWantsToQuit() == true)
         {
             DoStartMenu();
         }
         else
         {
             AddMember();
         }
     }
 }
Ejemplo n.º 39
0
 public MemberView(model.Member member)
 {
     m_member = member;
 }