public void GradeStudent() { Console.Clear(); Console.WriteLine("Asistente de calificaciones"); Console.WriteLine("---------------------------"); Console.WriteLine(""); var subjects = SubjectSrv.GetAllSubjects(); if (subjects.Count() == 0) { Console.WriteLine("No hay cursos registrados en el sistema"); return; } Console.WriteLine("Materias disponibles"); Console.WriteLine(""); ConsolePrompts.PrintListWithIndices(subjects.Select(s => s.Name)); Console.WriteLine(""); var option = ConsolePrompts.ReadNumberUntilValid( prompt: "Numero de la materia deseada", min: 1, max: subjects.Count()); var subject = subjects.ElementAt(option - 1); var students = StudentSrv.GetStudentsEnrolledInSubject(subject.Id); Console.WriteLine(""); if (students.Count() == 0) { Console.WriteLine($"No hay estudiantes inscriptos a {subject.Name}"); return; } Console.WriteLine("Estudiantes inscriptos"); Console.WriteLine(""); ConsolePrompts.PrintListWithIndices(students.Select(s => $"{s.LastName}, {s.FirstName} [{s.Id}]")); Console.WriteLine(""); option = ConsolePrompts.ReadNumberUntilValid( prompt: "Numero del estudiante", min: 1, max: subjects.Count()); var student = students.ElementAt(option - 1); Console.WriteLine(""); var grade = ConsolePrompts.ReadNumberUntilValid( prompt: "Nota", min: 1, max: 100); StudentSrv.GradeStudent(student.Id, subject.Id, grade); Srv.SendNotification(student.Id, $"Has recibido una calificacion! Sacaste {grade} en {subject.Name}"); Console.WriteLine(""); Console.WriteLine($"Se notifico a {student.LastName}, {student.FirstName} que su nota para {subject.Name} fue {grade}"); }