//Remove Developers from a team public bool RemoveDeveloper(string name) { DevTeam previousInfo = GetTeam(name); int count; if (previousInfo.TeamMembers.Count == 0) { Console.WriteLine("There are no members on the team to remove"); return(false); } Console.WriteLine("How many developers would you like to remove?"); string countString = Console.ReadLine(); int.TryParse(countString, out count); if (count <= 0 || count > previousInfo.TeamMembers.Count) { Console.WriteLine("You must enter a valid number, not greater than the current developers on the team. Start over"); return(false); } //Find the team if (previousInfo == null) { return(false); } else { int index = 1; foreach (Developer developer in previousInfo.TeamMembers) { Console.WriteLine(index + $": {developer.Name}\n"); index++; } int id; for (int i = 0; i < count; i++) { Console.WriteLine($"Enter the number of the next developer you wish to remove: "); string idString = Console.ReadLine(); int.TryParse(idString, out id); while (id <= 0 || id > previousInfo.TeamMembers.Count) { Console.WriteLine("Please enter a valid index number"); idString = Console.ReadLine(); int.TryParse(idString, out id); } Developer dev = previousInfo.TeamMembers.ElementAt(id - 1); dev.Team = null; //removes Team from developer object previousInfo.TeamMembers.RemoveAt(id - 1); } } return(true); }
//Helper Methods public DevTeam GetTeam(int index) { DevTeam team = _listOfTeams.ElementAt(index - 1); if (team != null) { return(team); } else { return(null); } }
public void TeamDetails(string name) { Console.Clear(); DevTeam details = GetTeam(name); Console.WriteLine($"Team name {details.TeamName} \n" + $"Team ID: {details.TeamID}\n" + $"List of Developers on Team: \n"); List <Developer> listOfDevelopers = details.TeamMembers; foreach (Developer developer in listOfDevelopers) { Console.WriteLine($"Name: {developer.Name}\n"); } }
public void TeamDetails(int num) { DevTeam team = _listOfTeams.ElementAt(num - 1); Console.WriteLine($"Team name {team.TeamName} \n" + $"Team ID: {team.TeamID}\n" + $"List of Developers on Team: \n"); if (team.TeamMembers != null) { foreach (Developer developer in team.TeamMembers) { Console.WriteLine($"Name: {developer.Name}\n"); } } }
//Update public bool UpdateTeam(string name, DevTeam updatedInfo) { //Find the developer DevTeam previousInfo = GetTeam(name); //Update the developer info if (previousInfo == null) { return(false); } else { previousInfo.TeamName = updatedInfo.TeamName; previousInfo.TeamID = updatedInfo.TeamID; previousInfo.TeamMembers = updatedInfo.TeamMembers; return(true); } }
//Update public bool UpdateTeam(string name, DevTeam updatedInfo) { //Find the team DevTeam previousInfo = GetTeam(name); //Update the team info // List<Developer> tempList = previousInfo.TeamMembers; //workaround to update team members if (previousInfo == null) { return(false); } else { previousInfo.TeamName = updatedInfo.TeamName; previousInfo.TeamID = updatedInfo.TeamID; //tempList.AddRange(updatedInfo.TeamMembers); previousInfo.TeamMembers.AddRange(updatedInfo.TeamMembers); //combine 2 lists instead of replacing one with the other return(true); } }
//Delete public bool DeleteDeveloper(int number) { int count = _listOfDevelopers.Count; Developer dev = _listOfDevelopers.ElementAt(number - 1); if (dev.Team != null) { DevTeam team = dev.Team; team.TeamMembers.Remove(dev); } _listOfDevelopers.RemoveAt(number - 1); if (count > _listOfDevelopers.Count) { return(true); } else { return(false); } }
//Delete public bool DeleteTeam(string name) //These delete method styles only remove them from the list we created. //Find Developer // They are not actually removed from repository and memory space saved??? { DevTeam tempTeam = GetTeam(name); if (tempTeam == null) { return(false); } else { int count = _listOfTeams.Count; _listOfTeams.Remove(tempTeam); if (count > _listOfTeams.Count) { return(true); } else { return(false); } } }
//Create public void CreateNewTeam(DevTeam team) { _listOfTeams.Add(team); }