Guest User

Untitled

a guest
Mar 6th, 2017
120
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using _08.MentorGroup;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using System.Globalization;
  8.  
  9. class MentorGroup
  10. {
  11.     static void Main(string[] args)
  12.     {
  13.         string input = Console.ReadLine();
  14.         var students = new SortedDictionary<string, Student>();
  15.         string name = "";
  16.  
  17.         while (input != "end of dates")
  18.         {
  19.             var dateAndName = input.Split(new char[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries);
  20.             name = dateAndName[0];
  21.             DateTime date = new DateTime();
  22.  
  23.             if (!students.ContainsKey(name))
  24.             {
  25.                 students[name] = new Student();
  26.                 for (int i = 1; i < dateAndName.Length; i++)
  27.                 {
  28.                     date = DateTime.ParseExact(dateAndName[i], "dd/MM/yyyy", CultureInfo.InvariantCulture);
  29.                     students[name].Dates.Add(date);
  30.                 }
  31.             }
  32.             else
  33.             {
  34.                 for (int i = 1; i < dateAndName.Length; i++)
  35.                 {
  36.                     date = DateTime.ParseExact(dateAndName[i], "dd/MM/yyyy", CultureInfo.InvariantCulture);
  37.                     students[name].Dates.Add(date);
  38.                 }
  39.             }
  40.  
  41.             input = Console.ReadLine();
  42.         }
  43.  
  44.         input = Console.ReadLine();
  45.  
  46.         while (input != "end of comments")
  47.         {
  48.             var nameAndComment = input.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
  49.             name = nameAndComment[0];
  50.  
  51.             if (students.ContainsKey(name))
  52.             {
  53.                 for (int i = 1; i < nameAndComment.Length; i++)
  54.                 {
  55.                     string comment = nameAndComment[i];
  56.                     students[name].Comments.Add(comment);
  57.                 }
  58.             }
  59.  
  60.             input = Console.ReadLine();
  61.         }
  62.  
  63.         Console.WriteLine();
  64.  
  65.         foreach (var student in students)
  66.         {
  67.             Console.WriteLine(student.Key);
  68.             Console.WriteLine("Comments:");
  69.             foreach (var comment in student.Value.Comments)
  70.             {
  71.                 Console.WriteLine("- {0}", comment);
  72.             }
  73.             Console.WriteLine("Dates attended:");
  74.             foreach (var date in student.Value.Dates.OrderBy(n => n.Date))
  75.             {
  76.                 Console.WriteLine("-- {0:dd/MM/yyyy}", date);
  77.             }
  78.         }
  79.  
  80.     }
  81.  
  82.     class Student
  83.     {
  84.         private List<string> comments = new List<string>();
  85.         private List<DateTime> dates = new List<DateTime>();
  86.         private string name = "";
  87.  
  88.  
  89.         public List<string> Comments { get; set; }
  90.         public List<DateTime> Dates { get; set; }
  91.         public string Name { get; set; }
  92.  
  93.         public Student()
  94.         {
  95.             this.Comments = new List<string>();
  96.             this.Dates = new List<DateTime>();
  97.         }
  98.     }
  99. }
RAW Paste Data