Advertisement
Guest User

Teamwork projects

a guest
May 16th, 2017
302
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.35 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Globalization;
  7.  
  8. namespace Teamwork_projects
  9. {
  10.     class Team
  11.     {
  12.         public string TeamName { get; set; }
  13.         public string CreatorName { get; set; }
  14.         public List<string> Members { get; set; }
  15.         public Team()
  16.         {
  17.             Members = new List<string>();
  18.         }
  19.     }
  20.     class Program
  21.     {
  22.         public static void Main(string[] args)
  23.         {
  24.             int n = int.Parse(Console.ReadLine());
  25.             string input = Console.ReadLine();
  26.             List<Team> listTeams = new List<Team>();
  27.  
  28.             while (!input.Equals("end of assignment"))
  29.             {
  30.                 if (input.Contains('-') && (!input.Contains('>')))
  31.                 {
  32.                     var creatorAndTeamName = input.Split('-').ToArray();
  33.                     if (listTeams.Any(x => x.TeamName == creatorAndTeamName[1]))
  34.                     {
  35.                         Console.WriteLine("Team {0} was already created!", creatorAndTeamName[1]);
  36.                     }
  37.                     else if (listTeams.Any(x => x.CreatorName == creatorAndTeamName[0]) || listTeams.Any(x => x.Members.Contains(creatorAndTeamName[0])))
  38.                     {
  39.                         Console.WriteLine("{0} cannot create another team!", creatorAndTeamName[0]);
  40.                     }
  41.                     else
  42.                     {
  43.                         Team currentTeam = new Team();
  44.                         currentTeam.CreatorName = creatorAndTeamName[0];
  45.                         currentTeam.TeamName = creatorAndTeamName[1];
  46.                         listTeams.Add(currentTeam);
  47.                         Console.WriteLine("Team {0} has been created by {1}!", currentTeam.TeamName, currentTeam.CreatorName);
  48.                     }
  49.                     input = Console.ReadLine();
  50.                     continue;
  51.                 }
  52.                 else
  53.                 {
  54.                     var memberAndTeamName = input.Split(new char[] { '-', '>' }, StringSplitOptions.RemoveEmptyEntries).ToArray();
  55.                     if (listTeams.Any(x => x.TeamName == memberAndTeamName[1]))
  56.                     {
  57.                         if (listTeams.Any(x => x.Members.Contains(memberAndTeamName[0])) || listTeams.Any(x => x.CreatorName.Contains(memberAndTeamName[0])))
  58.                         {
  59.                             Console.WriteLine("Member {0} cannot join team {1}!", memberAndTeamName[0], memberAndTeamName[1]);
  60.                             input = Console.ReadLine();
  61.                             continue;
  62.                         }
  63.                         else
  64.                         {
  65.                             foreach (var team in listTeams)
  66.                             {
  67.                                 if (team.TeamName.Contains(memberAndTeamName[1]))
  68.                                 {
  69.                                     team.Members.Add(memberAndTeamName[0]);
  70.                                     input = Console.ReadLine();
  71.                                     break;
  72.                                 }
  73.                             }
  74.                         }
  75.                     }
  76.                     else
  77.                     {
  78.                         Console.WriteLine("Team {0} does not exist!", memberAndTeamName[1]);
  79.                         input = Console.ReadLine();
  80.                         continue;
  81.                     }
  82.                 }
  83.             }
  84.             var printList = listTeams.OrderByDescending(x => x.Members.Count).ThenBy(a => a.TeamName);
  85.             foreach (var team in printList)
  86.             {
  87.                 if (team.Members.Count > 0)
  88.                 {
  89.                     Console.WriteLine(team.TeamName);
  90.                     Console.WriteLine("- {0}", team.CreatorName);
  91.                     for (int i = 0; i < team.Members.Count; i++)
  92.                     {
  93.                         Console.WriteLine("-- {0}", team.Members[i]);
  94.                     }
  95.                 }
  96.             }
  97.             Console.WriteLine("Teams to disband:");
  98.             foreach (var team in listTeams.OrderBy(a => a.TeamName))
  99.             {
  100.                 if (team.Members.Count == 0)
  101.                 {
  102.                     Console.WriteLine(team.TeamName);
  103.                 }
  104.             }
  105.         }
  106.     }
  107.  
  108. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement