예제 #1
0
        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("");
        }
예제 #2
0
        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");
        }
예제 #3
0
        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}");
        }
예제 #4
0
        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!");
        }
예제 #5
0
        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("");
            }
        }