Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Globalization;
- namespace MentorGroup
- {
- public class StartUp
- {
- public static void Main()
- {
- List<Student> students = new List<Student>();
- string studentName = string.Empty;
- while (true)
- {
- string inputStudentAndDate = Console.ReadLine();
- if (inputStudentAndDate == "end of dates")
- {
- break;
- }
- var studentInfo = inputStudentAndDate
- .Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
- .ToArray();
- studentName = studentInfo[0];
- if (studentInfo.Length == 1)
- {
- if (students.Any(x => x.Name == studentName))
- {
- continue;
- }
- Student student = new Student();
- student.Name = studentName;
- students.Add(student);
- continue;
- }
- else
- {
- var dates = studentInfo[1]
- .Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
- .ToArray();
- if (students.Any(x => x.Name == studentName))
- {
- var currentStudent = students.First(x => x.Name == studentName);
- foreach (var date in dates)
- {
- currentStudent.DatesAttended.Add(DateTime.ParseExact(date, "dd/MM/yyyy", CultureInfo.InvariantCulture));
- }
- }
- else
- {
- Student student = new Student();
- studentName = studentInfo[0];
- student.Name = studentName;
- foreach (var date in dates)
- {
- student.DatesAttended.Add(DateTime.ParseExact(date, "dd/MM/yyyy", CultureInfo.InvariantCulture));
- }
- students.Add(student);
- }
- }
- }
- while (true)
- {
- string inputComments = Console.ReadLine();
- if (inputComments == "end of comments")
- {
- break;
- }
- var inputCommentArgs = inputComments
- .Split(new char[] { '-' })
- .ToArray();
- studentName = inputCommentArgs[0];
- if (inputCommentArgs.Length == 1)
- {
- if (students.Any(x => x.Name == studentName))
- {
- continue;
- }
- }
- else
- {
- var comment = inputCommentArgs[1];
- if (students.Any(x => x.Name == studentName))
- {
- var currentStudent = students.First(x => x.Name == studentName);
- currentStudent.Comments.Add(comment);
- }
- }
- }
- foreach (Student student in students.OrderBy(x => x.Name))
- {
- Console.WriteLine(student.Name);
- Console.WriteLine("Comments:");
- foreach (var item in student.Comments)
- {
- Console.WriteLine($"- {string.Join("/r/n", item)}");
- }
- Console.WriteLine("Dates attended:");
- foreach (var item in student.DatesAttended.OrderBy(x => x.Date))
- {
- Console.WriteLine($"-- {item.ToString("dd/MM/yyyy")}");
- }
- }
- }
- }
- class Student
- {
- public string Name { get; set; }
- public List<DateTime> DatesAttended { get; set; }
- public List<string> Comments { get; set; }
- public Student()
- {
- DatesAttended = new List<DateTime>();
- Comments = new List<string>();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment