private static bool AlumnoAltaPruebas(string dni, string name, string chairNumberText) { ValidationResult <string> vrDni; if (!(vrDni = Student.ValidateDni(dni)).IsSuccess) { Console.WriteLine(vrDni.AllErrors); } ValidationResult <string> vrName; if (!(vrName = Student.ValidateName(name)).IsSuccess) { Console.WriteLine(vrName.AllErrors); } ValidationResult <int> vrChair; if (!(vrChair = Student.ValidateChairNumber(chairNumberText)).IsSuccess) { Console.WriteLine(vrChair.AllErrors); } if (vrDni.IsSuccess && vrName.IsSuccess && vrChair.IsSuccess) { var student = new Student { Dni = vrDni.ValidatedResult, Name = vrName.ValidatedResult, ChairNumber = vrChair.ValidatedResult }; var sr = student.Save(); var sr2 = StudentRepository.Add(student); if (sr.IsSuccess && sr2.IsSuccess) { Console.WriteLine($"alumno guardado correctamente"); return(true); } else { Console.WriteLine($"uno o más errores han ocurrido y el almuno no se guardado/actualizado: {sr.AllErrors} {sr2.AllErrors}"); } } return(false); }
static void ShowHandleStudentsMenu() { CurrentOption = "a"; Console.WriteLine("Menu de gestionar alumnos."); Console.WriteLine("Opciones: a - para añadir un nuevo almuno"); Console.WriteLine("Opciones: e + dni - para editar un alumno existente"); Console.WriteLine("Opciones: n - ver información del alumno"); Console.WriteLine("Opciones: n/e - ver exámenes de alumno"); Console.WriteLine("Opciones: n/e - ver asignaturas de alumno"); Console.WriteLine("Presione m para acabar y volver al menú principal"); while (true) { var option = Console.ReadLine(); if (option == "m") { break; } else if (option == "a") { Console.WriteLine("Para volver sin guardar alumno escriba EXIT"); Console.WriteLine("escriba el dni de 7 numeros:"); #region read dni var dni = Console.ReadLine(); if (dni == "EXIT") { break; } ValidationResult <string> dniValRes = Student.ValidateDni(dni, true); while (!dniValRes.IsSuccess) { foreach (var msg in dniValRes.Messages) { Console.WriteLine(msg); } dni = Console.ReadLine(); dniValRes = Student.ValidateDni(dni, true); } if (dni == "EXIT") { break; } #endregion #region read name Console.WriteLine("escriba el nombre y apellidos:"); var name = Console.ReadLine(); if (name == "EXIT") { break; } ValidationResult <string> nameValRes = Student.ValidateName(name); while (!nameValRes.IsSuccess) { foreach (var msg in dniValRes.Messages) { Console.WriteLine(msg); } name = Console.ReadLine(); nameValRes = Student.ValidateName(name); } #endregion #region read chair number Console.WriteLine("escriba el número de silla:"); var chairNumberText = Console.ReadLine(); if (chairNumberText == "EXIT") { break; } ValidationResult <int> chairNumValRes = Student.ValidateChairNumber(chairNumberText); while (!chairNumValRes.IsSuccess) { foreach (var msg in chairNumValRes.Messages) { Console.WriteLine(msg); } chairNumberText = Console.ReadLine(); chairNumValRes = Student.ValidateChairNumber(chairNumberText); } #endregion if (dniValRes.IsSuccess && nameValRes.IsSuccess && chairNumValRes.IsSuccess) { var student = new Student { Dni = dniValRes.ValidatedResult, Name = nameValRes.ValidatedResult, ChairNumber = chairNumValRes.ValidatedResult }; student.Save(); if (student.Save()) { Console.WriteLine($"alumno guardado correctamente"); } else { Console.WriteLine($"uno o más errores han ocurrido y el almuno no se guardado correctamente"); } } } } ClearCurrentConsoleLine(); Console.WriteLine(); ShowMainMenu(); }
static void ShowHandleStudentsMenu() { CurrentOption = "a"; Console.WriteLine("Menu de gestionar alumnos."); Console.WriteLine("Opciones: a - para añadir un nuevo almuno"); Console.WriteLine("Opciones: e + dni - para editar un alumno existente"); Console.WriteLine("Opciones: n - ver información del alumno"); Console.WriteLine("Opciones: n/e - ver exámenes de alumno"); Console.WriteLine("Opciones: n/e - ver asignaturas de alumno"); Console.WriteLine("Presione m para acabar y volver al menú principal"); while (true) { var option = Console.ReadLine(); if (option == "m") { break; } else if (option == "a") { Console.WriteLine("Para volver sin guardar alumno escriba *."); Console.WriteLine("escriba el dni:"); #region read dni var dni = Console.ReadLine(); if (dni == "*") { break; } ValidationResult <string> vrDni; while (!(vrDni = Student.ValidateDni(dni)).IsSuccess) { Console.WriteLine(vrDni.AllErrors); dni = Console.ReadLine(); } if (dni == "*") { break; } #endregion #region read name Console.WriteLine("escriba el nombre y apellidos:"); var name = Console.ReadLine(); if (name == "*") { break; } ValidationResult <string> vrName; while (!(vrName = Student.ValidateName(name)).IsSuccess) { Console.WriteLine(vrName.AllErrors); name = Console.ReadLine(); } #endregion #region read chair number Console.WriteLine("escriba el número de silla:"); var chairNumberText = Console.ReadLine(); if (chairNumberText == "*") { break; } ValidationResult <int> vrChair; while (!(vrChair = Student.ValidateChairNumber(chairNumberText)).IsSuccess) { Console.WriteLine(vrChair.AllErrors); chairNumberText = Console.ReadLine(); } #endregion if (vrDni.IsSuccess && vrName.IsSuccess && vrChair.IsSuccess) { var student = new Student { Dni = vrDni.ValidatedResult, Name = vrName.ValidatedResult, ChairNumber = vrChair.ValidatedResult }; var sr = student.Save(); var sr2 = StudentRepository.Add(student); if (sr.IsSuccess && sr2.IsSuccess) { Console.WriteLine($"alumno guardado correctamente"); } else { Console.WriteLine($"uno o más errores han ocurrido y el almuno no se guardado correctamente: {sr.AllErrors} {sr2.AllErrors}"); } } } else if (option == "e") { Console.WriteLine("escriba el dni del alumno para editar:"); var dni = Console.ReadLine(); var result = StudentRepository.GetStudentByDni(dni); if (result != null) { #region read name Console.WriteLine("escriba el nombre y apellidos:"); var name = Console.ReadLine(); if (name == "*") { break; } ValidationResult <string> vrName; while (!(vrName = Student.ValidateName(name)).IsSuccess) { Console.WriteLine(vrName.AllErrors); name = Console.ReadLine(); } #endregion #region read chair number Console.WriteLine("escriba el número de silla:"); var chairNumberText = Console.ReadLine(); if (chairNumberText == "*") { break; } ValidationResult <int> vrChair; while (!(vrChair = Student.ValidateChairNumber(chairNumberText)).IsSuccess) { Console.WriteLine(vrChair.AllErrors); chairNumberText = Console.ReadLine(); } #endregion if (vrName.IsSuccess && vrChair.IsSuccess) { Student newStudent = new Student { Id = result.Id, Dni = result.Dni, Name = vrName.ValidatedResult, ChairNumber = vrChair.ValidatedResult }; StudentRepository.Update(newStudent); } } else { Console.WriteLine("No hay el alumno con este dni!"); } } else if (option == "n") { Console.WriteLine("escriba el dni del alumno para ver informacio / * - ver la lista de los todos alumnos:"); var dni = Console.ReadLine(); if (dni == "*") { foreach (KeyValuePair <string, Student> kvp in StudentRepository.GetAllStudents()) { Console.WriteLine("Dni = {0}, Name = {1}, ChairNumber = {2}", kvp.Key, kvp.Value.Name, kvp.Value.ChairNumber); } } else { var result = StudentRepository.GetStudentByDni(dni); if (result != null) { Console.WriteLine("Dni = {0}, Name = {1}, ChairNumber = {2}", result.Dni, result.Name, result.ChairNumber); } } } } ClearCurrentConsoleLine(); Console.WriteLine(); ShowMainMenu(); }
static void ShowHandleStudentsMenu() { CurrentOption = "a"; Console.WriteLine("Menu de gestionar alumnos."); Console.WriteLine("Opciones: a - para añadir un nuevo almuno"); Console.WriteLine("Opciones: e + dni - para editar un alumno existente"); Console.WriteLine("Opciones: n - ver información del alumno"); Console.WriteLine("Opciones: n/e - ver exámenes de alumno"); Console.WriteLine("Opciones: n/e - ver asignaturas de alumno"); Console.WriteLine("Presione m para acabar y volver al menú principal"); while (true) { var option = Console.ReadLine(); if (option == "m") { break; } else if (option == "a") { Console.WriteLine("Para volver sin guardar alumno escriba *."); Console.WriteLine("escriba el dni:"); #region read dni var dni = Console.ReadLine(); if (dni == "*") { break; } ValidationResult <string> dniValRes = Student.ValidateDni(dni, default(Guid)); while (!dniValRes.IsSuccess) { foreach (var msg in dniValRes.Messages) { Console.WriteLine(msg); } dni = Console.ReadLine(); dniValRes = Student.ValidateDni(dni, default(Guid)); } if (dni == "*") { break; } #endregion #region read name Console.WriteLine("escriba el nombre y apellidos:"); var name = Console.ReadLine(); if (name == "*") { break; } ValidationResult <string> nameValRes = Student.ValidateName(name); while (!nameValRes.IsSuccess) { foreach (var msg in nameValRes.Messages) { Console.WriteLine(msg); } name = Console.ReadLine(); nameValRes = Student.ValidateName(name); } #endregion #region read chair number Console.WriteLine("escriba el número de silla:"); var chairNumberText = Console.ReadLine(); if (chairNumberText == "*") { break; } ValidationResult <int> chairNumValRes = Student.ValidateChairNumber(chairNumberText); while (!chairNumValRes.IsSuccess) { foreach (var msg in chairNumValRes.Messages) { Console.WriteLine(msg); } chairNumberText = Console.ReadLine(); chairNumValRes = Student.ValidateChairNumber(chairNumberText); } #endregion if (dniValRes.IsSuccess && nameValRes.IsSuccess && chairNumValRes.IsSuccess) { var student = new Student { Dni = dniValRes.ValidatedResult, Name = nameValRes.ValidatedResult, ChairNumber = chairNumValRes.ValidatedResult }; var save = student.Save(); if (save) { Console.WriteLine($"alumno guardado correctamente"); } else { Console.WriteLine($"uno o más errores han ocurrido y el almuno no se guardado correctamente"); } } } else if (option == "e") { // option e + dni - para editar un alumno existente Console.WriteLine("Para volver sin guardar alumno escriba *."); #region read DNI Console.WriteLine("escriba el dni del alumno que desea editar:"); var dni = Console.ReadLine(); // opcion 1 - Linq //if (DbContext.Students.Values.Any(s => s.Dni == dni)) //{ // var existingStudent = DbContext.Students.Values.First(s => s.Dni == dni); //} // opcion 2 - Linq optimo //var existingStudent = DbContext.Students.Values.FirstOrDefault(s => s.Dni == dni); //if(existingStudent != null) //{ // // hago lo que quiera con el existing Student //} // opcion 3 - Sin Linq if (DbContext.StudentsByDni.ContainsKey(dni)) { var existingStudent = DbContext.StudentsByDni[dni]; //CRIS Console.WriteLine("Escriba el nuevo DNI"); var dniNuevo = Console.ReadLine(); var dniValidResult = Student.ValidateDni(dniNuevo, existingStudent.Id); while (!dniValidResult.IsSuccess) { foreach (var msg in dniValidResult.Messages) { Console.WriteLine(msg); } Console.WriteLine("Escriba de nuevo el nuevo DNI"); dniNuevo = Console.ReadLine(); dniValidResult = Student.ValidateDni(dniNuevo, existingStudent.Id); } #endregion #region read DNI Console.WriteLine("escriba el nombre correcto del alumno:"); var name = Console.ReadLine(); if (name == "*") { break; } ValidationResult <string> nameValRes = Student.ValidateName(name); while (!nameValRes.IsSuccess) { foreach (var msg in nameValRes.Messages) { Console.WriteLine(msg); } name = Console.ReadLine(); nameValRes = Student.ValidateName(name); } #endregion #region read Chairnumber Console.WriteLine("escriba el nuevo número de silla:"); var chairNumberText = Console.ReadLine(); if (chairNumberText == "*") { break; } ValidationResult <int> chairNumValRes = Student.ValidateChairNumber(chairNumberText); while (!chairNumValRes.IsSuccess) { foreach (var msg in chairNumValRes.Messages) { Console.WriteLine(msg); } Console.WriteLine("Vuelva a escribir el nuevo número de silla:"); chairNumberText = Console.ReadLine(); chairNumValRes = Student.ValidateChairNumber(chairNumberText); } #endregion if (dniValidResult.IsSuccess && nameValRes.IsSuccess && chairNumValRes.IsSuccess) { existingStudent.Dni = dniValidResult.ValidatedResult; existingStudent.Name = nameValRes.ValidatedResult; existingStudent.ChairNumber = chairNumValRes.ValidatedResult; var save = existingStudent.Save(); if (save) { if (existingStudent.Save()) { Console.WriteLine($"Las modificaciones se han guardado correctamente"); } else { Console.WriteLine($"uno o más errores han ocurrido y el alumno no se ha modificado correctamente"); } } } } else if (option == "n") { for (int count = 0; count < DbContext.Students.Count; count++) { var element = DbContext.Students.ElementAt(count); var Key = element.Key; var Value = element.Value; Console.WriteLine(Key + " " + Value); } } } } ClearCurrentConsoleLine(); Console.WriteLine(); ShowMainMenu(); }
static void ShowHandleStudentsMenu() { CurrentOption = "a"; Console.WriteLine("Menu de gestionar alumnos."); Console.WriteLine("Opciones: a - para añadir un nuevo almuno"); Console.WriteLine("Opciones: e + dni - para editar un alumno existente"); Console.WriteLine("Opciones: n - ver información del alumno"); Console.WriteLine("Opciones: n/e - ver exámenes de alumno"); Console.WriteLine("Opciones: n/e - ver asignaturas de alumno"); Console.WriteLine("Presione m para acabar y volver al menú principal"); while (true) { var option = Console.ReadLine(); if (option == "m") { break; } else if (option == "a") { Console.WriteLine("Para volver sin guardar alumno escriba *."); Console.WriteLine("escriba el dni:"); #region read dni var dni = Console.ReadLine(); if (dni == "*") { break; } while (!Student.ValidateDni(dni)) { Console.WriteLine("el dni está en formato incorrecto, vuelva a escribirlo"); dni = Console.ReadLine(); } while (DbContext.StudentsByDni.ContainsKey(dni)) { Console.WriteLine("ya existe un alumno con ese dni"); dni = Console.ReadLine(); if (dni == "*") { break; } } if (dni == "*") { break; } #endregion #region read name Console.WriteLine("escriba el nombre y apellidos:"); var name = Console.ReadLine(); if (name == "*") { break; } while (!Student.ValidateName(name)) { Console.WriteLine("el nombre está en formato incorrecto, vuelva a escribirlo"); name = Console.ReadLine(); } #endregion var student = new Student { Dni = dni, Name = name }; if (student.Save()) { Console.WriteLine($"alumno guardado correctamente"); } else { Console.WriteLine($"uno o más errores han ocurrido y el almuno no se guardado correctamente"); } } } ClearCurrentConsoleLine(); Console.WriteLine(); ShowMainMenu(); }
static void ShowHandleStudentsMenu() { CurrentOption = "a"; Console.WriteLine("Menu de gestionar alumnos."); Console.WriteLine("Opciones: a - para añadir un nuevo almuno"); Console.WriteLine("Opciones: e + dni - para editar un alumno existente"); Console.WriteLine("Opciones: n - ver información del alumno"); Console.WriteLine("Opciones: n/e - ver exámenes de alumno"); Console.WriteLine("Opciones: n/e - ver asignaturas de alumno"); Console.WriteLine("Presione m para acabar y volver al menú principal"); while (true) { var option = Console.ReadLine(); if (option == "m") { break; } else if (option == "a") { Console.WriteLine("Para volver sin guardar alumno escriba *."); Console.WriteLine("escriba el dni:"); #region read dni var dni = Console.ReadLine(); if (dni == "*") { break; } ValidationResult <string> vrDni; while (!(vrDni = Student.ValidateDni(dni)).IsSuccess) { Console.WriteLine(vrDni.AllErrors); dni = Console.ReadLine(); } if (dni == "*") { break; } #endregion #region read name Console.WriteLine("escriba el nombre y apellidos:"); var name = Console.ReadLine(); if (name == "*") { break; } ValidationResult <string> vrName; while (!(vrName = Student.ValidateName(name)).IsSuccess) { Console.WriteLine(vrName.AllErrors); name = Console.ReadLine(); } #endregion #region read chair number Console.WriteLine("escriba el número de silla:"); var chairNumberText = Console.ReadLine(); if (chairNumberText == "*") { break; } ValidationResult <int> vrChair; while (!(vrChair = Student.ValidateChairNumber(chairNumberText)).IsSuccess) { Console.WriteLine(vrChair.AllErrors); chairNumberText = Console.ReadLine(); } #endregion if (vrDni.IsSuccess && vrName.IsSuccess && vrChair.IsSuccess) { var student = new Student { Dni = vrDni.ValidatedResult, Name = vrName.ValidatedResult, ChairNumber = vrChair.ValidatedResult }; var sr = student.Save(); if (sr.IsSuccess) { Console.WriteLine($"alumno guardado correctamente"); } else { Console.WriteLine($"uno o más errores han ocurrido y el almuno no se guardado correctamente: {sr.AllErrors}"); } } } } ClearCurrentConsoleLine(); Console.WriteLine(); ShowMainMenu(); }
static void ShowHandleStudentsMenu() { CurrentOption = "a"; Console.WriteLine("Menu de gestionar alumnos."); Console.WriteLine("Opciones: a - para añadir un nuevo almuno"); Console.WriteLine("Opciones: e - para editar un alumno existente"); Console.WriteLine("Opciones: n - ver información del alumno"); Console.WriteLine("Opciones: n/e - ver exámenes de alumno"); Console.WriteLine("Opciones: n/e - ver asignaturas de alumno"); Console.WriteLine("Presione m para acabar y volver al menú principal"); while (true) { var option = Console.ReadLine(); if (option == "m") { break; } else if (option == "a") { Console.WriteLine("Para volver sin guardar alumno escriba *."); Console.WriteLine("Escriba el dni:"); #region read dni var dni = Console.ReadLine(); if (dni == "*") { break; } ValidationResult <string> vrDni; while (!(vrDni = Student.ValidateDni(dni)).IsSuccess) { Console.WriteLine(vrDni.AllErrors); dni = Console.ReadLine(); } if (dni == "*") { break; } #endregion #region read name Console.WriteLine("Escriba el nombre y apellidos:"); var name = Console.ReadLine(); if (name == "*") { break; } ValidationResult <string> vrName; while (!(vrName = Student.ValidateName(name)).IsSuccess) { Console.WriteLine(vrName.AllErrors); name = Console.ReadLine(); } #endregion #region read chair number Console.WriteLine("escriba el número de silla:"); var chairNumberText = Console.ReadLine(); if (chairNumberText == "*") { break; } ValidationResult <int> vrChair; while (!(vrChair = Student.ValidateChairNumber(chairNumberText)).IsSuccess) { Console.WriteLine(vrChair.AllErrors); chairNumberText = Console.ReadLine(); } #endregion if (vrDni.IsSuccess && vrName.IsSuccess && vrChair.IsSuccess) { var student = new Student { Dni = vrDni.ValidatedResult, Name = vrName.ValidatedResult, ChairNumber = vrChair.ValidatedResult }; var sr = student.Save(); if (sr.IsSuccess) { Console.WriteLine($"Alumno guardado correctamente"); } else { Console.WriteLine($"Uno o más errores han ocurrido y el almuno no se guardado correctamente: {sr.AllErrors}"); } } } else if (option == "e") { #region dni Console.WriteLine("Para volver sin guardar escriba *."); Console.WriteLine("Escriba el dni del alumno que desea editar:"); var dni = Console.ReadLine(); if (dni == "*") { break; } //StudentRepository.StudentsByDni.ContainsKey(dni) var repo = new Repository <Student>(); var entityWithDni = repo.QueryAll().FirstOrDefault(x => x.Dni == dni); if (entityWithDni == null) { Console.WriteLine("El dni introducido no está en la base de datos"); Console.WriteLine("Escriba el dni del alumno que desea editar:"); dni = Console.ReadLine(); } if (!(entityWithDni == null)) { var existingStudent = entityWithDni.Clone(); Console.WriteLine("Escribe el nuevo dni"); Console.WriteLine("Pulse * si no desea editar el dni"); var dniNuevo = Console.ReadLine(); if (dniNuevo == "*") { break; } ValidationResult <string> vrDni; while (!(vrDni = Student.ValidateDni(dniNuevo)).IsSuccess) { Console.WriteLine(vrDni.AllErrors); dniNuevo = Console.ReadLine(); vrDni = Student.ValidateDni(dniNuevo, existingStudent.Id); } if (dniNuevo == "*") { break; } #endregion #region read name Console.WriteLine("Escriba el nombre y apellidos:"); Console.WriteLine("Pulse * si no desea editar el nombre y apellidos"); var nameNuevo = Console.ReadLine(); if (nameNuevo == "*") { break; } ValidationResult <string> vrName; while (!(vrName = Student.ValidateName(nameNuevo)).IsSuccess) { Console.WriteLine(vrName.AllErrors); nameNuevo = Console.ReadLine(); } #endregion #region read chair number Console.WriteLine("escriba el número de silla:"); var chairNumberTextNuevo = Console.ReadLine(); if (chairNumberTextNuevo == "*") { break; } ValidationResult <int> vrChair; while (!(vrChair = Student.ValidateChairNumber(chairNumberTextNuevo)).IsSuccess) { Console.WriteLine(vrChair.AllErrors); chairNumberTextNuevo = Console.ReadLine(); } #endregion if (vrDni.IsSuccess && vrName.IsSuccess && vrChair.IsSuccess) { existingStudent.Dni = vrDni.ValidatedResult; existingStudent.Name = vrName.ValidatedResult; existingStudent.ChairNumber = vrChair.ValidatedResult; var save = existingStudent.Save(); if (save.IsSuccess) { Console.WriteLine($"Alumno guardado correctamente"); } else { Console.WriteLine($"Uno o más errores han ocurrido y el alumno no se guardado correctamente"); } } } } } ClearCurrentConsoleLine(); Console.WriteLine(); ShowMainMenu(); }