public ActionResult EditTeacher(AcademicGradeTeacherAssignModel model) { var grade = _academicGradeRepository.GetById(model.Id); grade = Mapper.Map(model, grade); grade = _academicGradeRepository.Update(grade); const string title = "Maestro de Sección Asignado"; var content = "Se ha asignado el maestro de sección de " + grade.Grade.Name + " " + grade.Section + "."; _viewMessageLogic.SetNewMessage(title, content, ViewMessageType.SuccessMessage); return(RedirectToAction("Index", new{ yearId = grade.AcademicYear.Id })); }
private void SaveData(IEnumerable <Student> listStudents, IEnumerable <Tutor> listTutors, AcademicGrade academicYearGrade, IReadOnlyList <string> emails) { var iterator = 0; foreach (var tutor in listTutors) { var temp = _tutorRepository.Filter(x => x.IdNumber == tutor.IdNumber); if (!temp.Any()) { _tutorRepository.Create(tutor); var newUser = new User { UserOwner = tutor, Email = emails[iterator],//TODO: Possibly deprecated. Password = _passwordGenerationService.GenerateTemporaryPassword(), IsUsingDefaultPassword = true, IsActive = true, Role = _roleRepository.Filter(x => x.Name == "Tutor").FirstOrDefault() }; newUser.DefaultPassword = newUser.Password; newUser = _userRepository.Create(newUser); tutor.User = newUser; _tutorRepository.Update(tutor); } iterator++; } foreach (var stu in listStudents) { var temp = _studentRepository.Filter(x => x.IdNumber == stu.IdNumber); if (!temp.Any()) { _studentRepository.Create(stu); var studentTemp = _studentRepository.GetById(stu.Id); academicYearGrade.Students.Add(studentTemp); studentTemp.MyGrade = academicYearGrade; _studentRepository.Update(studentTemp); _academicGradeRepository.Update(academicYearGrade); } else { var studentTemp = temp.FirstOrDefault(); if (studentTemp.MyGrade != null) { throw new Exception("Uno o mas de los estudiantes esta actualmente matriculado en otra seccion."); } academicYearGrade.Students.Add(studentTemp); studentTemp.MyGrade = academicYearGrade; _studentRepository.Update(studentTemp); _academicGradeRepository.Update(academicYearGrade); } } }
public ActionResult Delete(long id, long gradeId, long academicGradeId) { var grade = _academicGradeRepository.GetById(gradeId); grade.Students.ToList().RemoveAll(x => x.Id == id); var student = _studentRepository.GetById(id); student.MyGrade = null; _studentRepository.Update(student); _academicGradeRepository.Update(grade); const string title = "Matrícula Borrada"; const string content = "El estudiante ha sido eliminado exitosamente de la lista de matriculados."; _viewMessageLogic.SetNewMessage(title, content, ViewMessageType.SuccessMessage); return(academicGradeId == -1 ? RedirectToAction("Index") : RedirectToAction("GeneralEnrollsFromAcademicGrades", new { gradeId = academicGradeId })); }
public ActionResult Add(CourseRegisterModel model) { string title; string content; var toCreate = Mapper.Map <Course>(model); var toCheck = _courseRepository.Filter(x => x.Name == model.Name && x.Pensum.Id == model.Pensum); if (toCheck.Any()) { title = "Error!"; content = "El Curso ya existe."; _viewMessageLogic.SetNewMessage(title, content, ViewMessageType.ErrorMessage); return(RedirectToAction("Index", new { pensumId = model.Pensum })); } toCreate = _courseRepository.Create(toCreate); var academicGrades = _academicGradeRepository.Filter(x => x.ActivePensum.Id == toCreate.Pensum.Id); foreach (var academicGrade in academicGrades.ToList()) { academicGrade.CoursesDetails.Add(new AcademicCourse { AcademicGrade = academicGrade, Course = toCreate }); _academicGradeRepository.Update(academicGrade); } title = "Curso Agregado"; content = "El pensum " + toCreate.Name + " ha sido guardado exitosamente."; _viewMessageLogic.SetNewMessage(title, content, ViewMessageType.SuccessMessage); return(RedirectToAction("Index", new{ pensumId = model.Pensum })); }
public ActionResult AutoGeneration(IEnumerable <NewAcademicYearGradeSpecModel> model, long yearId) { var year = _academicYearRepository.GetById(yearId); foreach (var newAcademicYeardGradeSpecModel in model) { char section = 'A'; var grade = _gradeRepository.GetById(newAcademicYeardGradeSpecModel.Grade); var pensum = _pensumRepository.GetById(newAcademicYeardGradeSpecModel.SelectedPensum); for (int i = 0; i < newAcademicYeardGradeSpecModel.Sections; i++) { var newGrade = new AcademicGrade { Grade = grade, AcademicYear = year, Section = section++ + "", ActivePensum = pensum }; newGrade = _academicGradeRepository.Create(newGrade); foreach (var course in newGrade.ActivePensum.Courses) { var academicCourse = new AcademicCourse { Course = course, AcademicGrade = newGrade }; academicCourse = _academicCourseRepository.Create(academicCourse); newGrade.CoursesDetails.Add(academicCourse); newGrade = _academicGradeRepository.Update(newGrade); } year.Grades.Add(newGrade); _academicYearRepository.Update(year); } } const string title = "Año Académico Agregado"; var content = "El año académico " + year.Year + " ha sido agregado exitosamente."; _viewMessageLogic.SetNewMessage(title, content, ViewMessageType.SuccessMessage); return(RedirectToAction("Index", "AcademicGrade", new { yearId })); }