Advertisement
dobroslav-atanasov

Untitled

Feb 18th, 2018
466
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.91 KB | None | 0 0
  1. namespace MentorGroup
  2. {
  3.     using System;
  4.     using System.Collections.Generic;
  5.     using System.Globalization;
  6.     using System.Linq;
  7.  
  8.     public class Program
  9.     {
  10.         public class Student
  11.         {
  12.             public List<string> Comments { get; set; }
  13.             public List<DateTime> Date { get; set; }
  14.             public string Name { get; set; }
  15.         }
  16.  
  17.         public static void Main()
  18.         {
  19.             var input = Console.ReadLine();
  20.             var studentsList = new List<Student>();
  21.             while (input != "end of dates")
  22.             {
  23.                 var arr = input.Split(new[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries);
  24.                 var dates = new List<DateTime>();
  25.                 var name = arr[0];
  26.                 for (int i = 1; i < arr.Length; i++)
  27.                 {
  28.                     dates.Add(DateTime.ParseExact(arr[i], "dd/MM/yyyy", CultureInfo.InvariantCulture));
  29.                 }
  30.  
  31.                 if (studentsList.Any(x => x.Name.Equals(name)))
  32.                 {
  33.                     Student exist = studentsList.First(x => x.Name.Equals(name));
  34.                     exist.Date.AddRange(dates);
  35.                 }
  36.                 else
  37.                 {
  38.                     Student student = new Student
  39.                     {
  40.                         Name = name,
  41.                         Date = dates,
  42.                         Comments = new List<string>()
  43.                     };
  44.                     studentsList.Add(student);
  45.                 }
  46.                 input = Console.ReadLine();
  47.             }
  48.  
  49.             input = Console.ReadLine();
  50.  
  51.             while (input != "end of comments")
  52.             {
  53.                 var arr = input.Split('-').ToArray();
  54.                 var name = arr[0];
  55.                 var comment = arr[1];
  56.                 if (studentsList.Any(x => x.Name == name))
  57.                 {
  58.                     Student exist = studentsList.First(x => x.Name.Equals(name));
  59.                     exist.Comments.Add(comment);
  60.                 }
  61.  
  62.                 input = Console.ReadLine();
  63.             }
  64.  
  65.             foreach (var student in studentsList.OrderBy(s => s.Name))
  66.             {
  67.                 Console.WriteLine(student.Name);
  68.                 Console.WriteLine("Comments:");
  69.                 if (student.Comments != null)
  70.                 {
  71.                     foreach (var comment in student.Comments)
  72.                     {
  73.                         Console.WriteLine($"- {comment}");
  74.                     }
  75.                 }
  76.  
  77.                 Console.WriteLine("Dates attended:");
  78.                 if (student.Date != null)
  79.                 {
  80.                     foreach (var date in student.Date.OrderBy(x => x))
  81.                     {
  82.                         Console.WriteLine($"-- {date.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture)}");
  83.                     }
  84.                 }
  85.             }
  86.         }
  87.     }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement