Esempio n. 1
0
        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 }));
        }
Esempio n. 2
0
        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);
                }
            }
        }
Esempio n. 3
0
        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 }));
        }
Esempio n. 4
0
        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 }));
        }