Exemplo n.º 1
0
        public ActionResult Add(AcademicGradeRegisterModel model)
        {
            string title;
            string content;
            var    toCreate = Mapper.Map <AcademicGrade>(model);
            var    toCheck  = _academicGradeRepository.Filter(x => x.Grade.Id == model.Grade && x.Section.Equals(model.Section));

            if (toCheck.Any())
            {
                title   = "Error!";
                content = "El Grado Académico ya existe.";
                _viewMessageLogic.SetNewMessage(title, content, ViewMessageType.ErrorMessage);
                return(RedirectToAction("Index", new { yearId = model.AcademicYear }));
            }
            toCreate = _academicGradeRepository.Create(toCreate);
            foreach (var course in toCreate.ActivePensum.Courses)
            {
                var academicCourse = new AcademicCourse
                {
                    AcademicGrade = toCreate,
                    Course        = course
                };
                _academicCourseRepository.Create(academicCourse);
            }
            title   = "Grado Académico Agregado";
            content = "El Grado Académico " + toCreate.Grade.Name + " " + toCreate.Section + " ha sido guardado exitosamente.";
            _viewMessageLogic.SetNewMessage(title, content, ViewMessageType.SuccessMessage);
            return(RedirectToAction("Index", new { yearId = model.AcademicYear }));
        }
Exemplo n.º 2
0
        public AcademicCourse Create(AcademicCourse itemToCreate)
        {
            var academicYearDetails = _context.AcademicYearCourses.Add(itemToCreate);

            _context.SaveChanges();
            return(academicYearDetails);
        }
Exemplo n.º 3
0
        public ActionResult Edit(AcademicGradeEditModel model)
        {
            var    item  = _academicGradeRepository.GetById(model.Id);
            var    list  = _academicGradeRepository.Filter(x => x.Grade.Id == model.Grade && x.Section == model.Section && x.Id == model.Id);
            var    list2 = _academicGradeRepository.Filter(x => x.Grade.Id == model.Grade && x.Section == model.Section && x.Id != model.Id);
            string title;
            string content;

            if (list2.Any())
            {
                title   = "Error!";
                content = "Ese grado Académico ya existe.";
                _viewMessageLogic.SetNewMessage(title, content, ViewMessageType.ErrorMessage);
            }
            else if (!list.Any())
            {
                var pensumId    = item.ActivePensum.Id;
                var newPensumId = model.ActivePensum;
                if (pensumId != newPensumId)
                {
                    var courses = _academicCourseRepository.Filter(x => x.AcademicGrade.Id == model.Id).ToList();
                    foreach (var academicCourse in courses)
                    {
                        _academicCourseRepository.Delete(academicCourse);
                    }
                }
                item = Mapper.Map(model, item);
                item = _academicGradeRepository.Update(item);
                if (pensumId != newPensumId)
                {
                    foreach (var course in item.ActivePensum.Courses)
                    {
                        var academicCourse = new AcademicCourse
                        {
                            AcademicGrade = item,
                            Course        = course
                        };
                        _academicCourseRepository.Create(academicCourse);
                    }
                }
                title   = "Grado Académico Actualizado!";
                content = "El Grado Académico " + item.Grade.Name + " " + item.Section + " fue actualizado exitosamente.";
                _viewMessageLogic.SetNewMessage(title, content, ViewMessageType.SuccessMessage);
            }
            return(RedirectToAction("Index", new { yearId = item.AcademicYear.Id }));
        }
        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 }));
        }
Exemplo n.º 5
0
 public AcademicCourse Delete(AcademicCourse itemToDelete)
 {
     _context.AcademicYearCourses.Remove(itemToDelete);
     _context.SaveChanges();
     return(itemToDelete);
 }
Exemplo n.º 6
0
 public AcademicCourse Update(AcademicCourse itemToUpdate)
 {
     _context.Entry(itemToUpdate).State = EntityState.Modified;
     _context.SaveChanges();
     return(itemToUpdate);
 }