public void RemoveSubject() { Console.Clear(); Console.WriteLine("Eliminacion de curso"); Console.WriteLine("--------------------"); Console.WriteLine(""); var subjects = SubjectSrv.GetAllSubjects(); if (subjects.Count() == 0) { Console.WriteLine("No hay cursos registrados en el sistema"); return; } ConsolePrompts.PrintListWithIndices(subjects.Select(s => s.Name)); Console.WriteLine(""); var option = ConsolePrompts.ReadNumberUntilValid( prompt: "Numero de la materia a borrar", min: 1, max: subjects.Count()); var subject = subjects.ElementAt(option - 1); SubjectSrv.RemoveSubject(subject.Id); Console.WriteLine(""); }
public void EnrollInSubject() { Console.Clear(); Console.WriteLine("Cargando..."); Client.Send("03", "NOT_MINE"); var subjects = Client.Receive <IEnumerable <Subject> >(); Console.Clear(); Console.WriteLine("Inscripciones"); Console.WriteLine("-------------"); Console.WriteLine(""); if (subjects.Count() == 0) { Console.WriteLine("No hay cursos a los que se pueda registrar"); return; } ConsolePrompts.PrintListWithIndices(subjects.Select(s => s.Name)); Console.WriteLine(""); var option = ConsolePrompts.ReadNumberUntilValid( prompt: "Numero de la materia a la que se quiere inscribir", min: 1, max: subjects.Count()); Client.Send("04", subjects.ElementAt(option - 1).Id); Client.Receive(); Console.WriteLine("Esta usted inscripto"); }
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}"); }
public void UploadFileToCourse() { Console.Clear(); Console.WriteLine("Cargando..."); Client.Send("03", "MINE"); var subjects = Client.Receive <IEnumerable <Subject> >(); Console.Clear(); Console.WriteLine("Lista de cursos disponibles"); Console.WriteLine("---------------------------"); Console.WriteLine(""); if (subjects.Count() == 0) { Console.WriteLine("No esta inscripto a ningun curso"); return; } ConsolePrompts.PrintListWithIndices(subjects.Select(s => s.Name)); Console.WriteLine(""); var option = ConsolePrompts.ReadNumberUntilValid( prompt: "Numero de la materia a la que quiere subir material", min: 1, max: subjects.Count()); var subject = subjects.ElementAt(option - 1); Console.WriteLine($"El material sera subido a {subject.Name}"); var path = ConsolePrompts.ChooseFile(); Console.WriteLine("Su archivo esta siendo subido..."); Client.SendFile("05", path); var fileRef = Client.Receive <FileRef>(); Client.Send("06", Tuple.Create(subject.Id, fileRef)); Client.Receive(); Console.WriteLine("Archivo subido con exito!"); }
public void ViewUploadedFiles() { Console.Clear(); Console.WriteLine("Cargando..."); Client.Send("03", "MINE"); var subjects = Client.Receive <IEnumerable <Subject> >(); Console.Clear(); Console.WriteLine("Lista de cursos disponibles"); Console.WriteLine("---------------------------"); Console.WriteLine(""); if (subjects.Count() == 0) { Console.WriteLine("No esta inscripto a ningun curso"); return; } ConsolePrompts.PrintListWithIndices(subjects.Select(s => s.Name)); Console.WriteLine(""); var option = ConsolePrompts.ReadNumberUntilValid( prompt: "Numero de la materia", min: 1, max: subjects.Count()); var subject = subjects.ElementAt(option - 1); Client.Send("08", subject.Id); var files = Client.Receive <IEnumerable <FileRef> >(); Console.WriteLine(""); if (files.Count() == 0) { Console.WriteLine("No hay archivos suyos en este curso"); Console.WriteLine(""); return; } Console.WriteLine($"Archivos subidos a {subject.Name}"); Console.WriteLine("-------------------------------------------"); Console.WriteLine(""); ConsolePrompts.PrintListWithIndices(files.Select(s => s.Name)); while (true) { Console.WriteLine(""); option = ConsolePrompts.ReadNumberUntilValid( prompt: "Numero del archivo a descargar o 0 para salir", min: 0, max: files.Count()); if (option == 0) { return; } var fileRef = files.ElementAt(option - 1); Console.WriteLine("Descargando archivo..."); Client.Send("09", fileRef.Path); var fileName = Client.ReceiveFile(); Console.WriteLine($"{fileName} recibido con exito!"); Console.WriteLine(""); } }