Advertisement
Guest User

Untitled

a guest
Oct 16th, 2016
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.02 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Runtime.InteropServices;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7.  
  8. namespace _09_TeamworkProjects
  9. {
  10.     class TeamworkProjects
  11.     {
  12.         static void Main()
  13.         {
  14.             List<Team> allTeams = new List<Team>();
  15.             int n = int.Parse(Console.ReadLine());
  16.             for (int i = 0; i < n; i++)
  17.             {
  18.                 string[] input = Console.ReadLine().Split('-');
  19.  
  20.                 Team team = new Team();
  21.  
  22.                 if (allTeams.Count > 0)
  23.                 {
  24.                     bool isTrue = true;
  25.                     //Check if team exist.
  26.                     foreach (Team crw in allTeams)
  27.                     {
  28.                         if (crw.TeamName == input[1])
  29.                         {
  30.                             Console.WriteLine($"Team {input[1]} was already created!");
  31.                             isTrue = false;
  32.                         }
  33.                     }
  34.                     //Check if Teamleader exist
  35.                     foreach (Team crw in allTeams)
  36.                     {
  37.                         if (crw.CreatorName == input[0])
  38.                         {
  39.                             Console.WriteLine($"{input[0]} cannot create another team!");
  40.                             isTrue = false;
  41.                         }
  42.                     }
  43.                     //Create a new team
  44.                     if (isTrue)
  45.                     {
  46.                         team.CreatorName = input[0];
  47.                         team.TeamName = input[1];
  48.                         team.Members = new List<string>();
  49.                         allTeams.Add(team);
  50.                         Console.WriteLine($"Team {input[1]} has been created by {input[0]}!");
  51.                     }
  52.                 }
  53.                 else
  54.                 {
  55.                     //Create new team
  56.                     team.CreatorName = input[0];
  57.                     team.TeamName = input[1];
  58.                     team.Members = new List<string>();
  59.                     allTeams.Add(team);
  60.                     Console.WriteLine($"Team {input[1]} has been created by {input[0]}!");
  61.                 }
  62.             }
  63.             while (true)
  64.             {
  65.                 string[] inputUsers = Console.ReadLine().Split(new string[] { "->"}, StringSplitOptions.RemoveEmptyEntries)
  66.                     .ToArray();
  67.                 if (inputUsers[0] == "end of assignment")
  68.                 {
  69.                     List<Team> ok = new List<Team>();
  70.                     List<Team> off = new List<Team>();
  71.                     foreach (Team teamFilter in allTeams)
  72.                     {
  73.                         if (teamFilter.Members.Count == 0)
  74.                         {
  75.                             off.Add(teamFilter);
  76.                         }
  77.                         else
  78.                         {
  79.                             ok.Add(teamFilter);
  80.                         }
  81.                     }
  82.                     foreach (Team t in ok.OrderByDescending(x => x.Members.Count).ThenBy(x => x.TeamName))
  83.                     {
  84.                         Console.WriteLine(t.TeamName);
  85.                         Console.WriteLine($"- {t.CreatorName}");
  86.                         foreach (string person in t.Members.OrderBy(x => x))
  87.                         {
  88.                             Console.WriteLine($"-- {person}");
  89.                         }
  90.                     }
  91.                     Console.WriteLine("Teams to disband:");
  92.                     if (off.Count > 0)
  93.                     {
  94.                         for (int i = 0; i < off.Count; i++)
  95.                         {
  96.                             Console.WriteLine(off[i].TeamName);
  97.                         }
  98.                     }
  99.                     break;
  100.                 }
  101.                 else
  102.                 {
  103.                     bool isTeamExist = false;
  104.                     bool isMemberExist = false;
  105.                     foreach (Team crwTeam in allTeams)
  106.                     {
  107.                         if (crwTeam.TeamName == inputUsers[1])
  108.                         {
  109.                             isTeamExist = true;
  110.                             for (int i = 0; i < allTeams.Count; i++)
  111.                             {
  112.                                 if (inputUsers[0] == allTeams[i].CreatorName)
  113.                                 {
  114.                                     isMemberExist = true;
  115.                                 }
  116.                                 else
  117.                                 {
  118.                                     foreach (string member in allTeams[i].Members)
  119.                                     {
  120.                                         if (member == inputUsers[0])
  121.                                         {
  122.                                             isTeamExist = true;
  123.                                         }
  124.                                     }
  125.                                 }
  126.                             }
  127.                         }
  128.                     }
  129.                     if (!isTeamExist)
  130.                     {
  131.                         Console.WriteLine($"Team {inputUsers[1]} does not exist!");
  132.                     }
  133.                     if (isMemberExist)
  134.                     {
  135.                         Console.WriteLine($"Member {inputUsers[0]} cannot join team {inputUsers[1]}!");
  136.                     }
  137.                     if (isTeamExist && !isMemberExist)
  138.                     {
  139.                         for (int i = 0; i < allTeams.Count; i++)
  140.                         {
  141.                             if (allTeams[i].TeamName == inputUsers[1])
  142.                             {
  143.                                 allTeams[i].Members.Add(inputUsers[0]);
  144.                             }
  145.                         }
  146.                     }
  147.                 }
  148.             }
  149.         }
  150.     }
  151.  
  152.     class Team
  153.     {
  154.         public string TeamName { get; set; }
  155.  
  156.         public string CreatorName { get; set; }
  157.  
  158.         public List<string> Members { get; set; }
  159.     }
  160. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement