Exemple #1
0
        public bool UpdateOne(GradeUpdateModel model, int id)
        {
            try
            {
                var grade = new Grade()
                {
                    ClassRoomID = model.ClassRoomID,
                    GPA         = model.GPA,
                    StudentID   = model.StudentID,
                    ID          = id
                };

                Update(grade, id);

                Log.Information("Updated grade with id {0}", model.ID);

                return(true);
            }
            catch (System.Exception ex)
            {
                Log.Error(ex, "Exceptions occurred in grade update");

                return(false);
            }
        }
Exemple #2
0
        public void AddNextGrade(GradeUpdateModel gradeUpdateModel, long id)
        {
            var oldGrades = _context.Set <GradeToGradeModel>().Where(x => x.GradeId == id);

            _context.Set <GradeToGradeModel>().RemoveRange(oldGrades);
            foreach (var newGradeId in gradeUpdateModel.NewGradesIds)
            {
                _context.Set <GradeToGradeModel>().Add(new GradeToGradeModel {
                    GradeId = id, NextGradeId = newGradeId
                });
            }
            _context.SaveChanges();
        }
Exemple #3
0
        public GradeUpdateModel GetGradeUpdateModelFor(long id)
        {
            var grade = _context.Set <GradesModel>().Find(id);                 //получаю грейд по id

            _context.Entry(grade).Collection(x => x.GradesCompetences).Load(); //загружаю компетенции
            var gradeUpdateModel = new GradeUpdateModel {
                GradeModel = grade, Competences = _context.Set <CompetencesModel>().ToList()
            };                                                                            //создаю модель грейда

            gradeUpdateModel.Grades = GetLoadedGrades();                                  //получаю все грейды для связей грейдов
            gradeUpdateModel.Grades.Remove(grade);                                        //из всех грейдов для связей удаляю текущий грейд
            gradeUpdateModel.GradeToGrades = _context.Set <GradeToGradeModel>().ToList(); //получаю таблицу gradeToGrade
            return(gradeUpdateModel);
        }
Exemple #4
0
        public IActionResult Update(int gradeId, [FromBody] GradeUpdateModel model)
        {
            var grade = _mapper.Map <Grade>(model);

            try
            {
                _gradeService.Update(grade, gradeId);
                return(Ok());
            }
            catch (AppException ex)
            {
                // return error message if there was an exception
                return(BadRequest(new { message = ex.Message }));
            }
        }
Exemple #5
0
        public void UpdateCompetencesForGrade(GradeUpdateModel gradeUpdateModel, long id)
        {
            var grade = _context.Set <GradesModel>().Find(id);
            var oldGradesCompetences = _context.Set <GradeCompetencesModel>().Where(x => x.GradeId == id);

            _context.Set <GradeCompetencesModel>().RemoveRange(oldGradesCompetences);

            foreach (var competenceId in gradeUpdateModel.NewCompetencesIds)
            {
                var gradeCompetence = new GradeCompetencesModel();

                gradeCompetence.Competence = _context.Set <CompetencesModel>().Find(competenceId);
                gradeCompetence.Grade      = grade;

                grade.GradesCompetences.Add(gradeCompetence);

                _context.Set <GradeCompetencesModel>().Add(gradeCompetence);
            }
            _context.SaveChanges();
        }
        public IActionResult Put([FromBody] GradeUpdateModel grade)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                var result = unitOfWork.Grade.UpdateOne(grade, grade.ID);

                return(Ok(new { result }));
            }
            catch (Exception ex)
            {
                Log.Error(ex, "Exceptions occurred in put grade api");

                return(StatusCode(500, ex.Message));
            }
        }
Exemple #7
0
        public IActionResult GradesManage(long id, GradeUpdateModel gradeUpdateModel)
        {
            switch (gradeUpdateModel.Action)
            {
            case GradeActions.SetCompetences:
                _gradeService.UpdateCompetencesForGrade(gradeUpdateModel, id);
                break;

            case GradeActions.RemoveGrade:
                _gradeService.RemoveGrade(id);
                return(RedirectToAction("Grades"));

            case GradeActions.AddGrade:
                _gradeService.AddNextGrade(gradeUpdateModel, id);
                break;
            }

            gradeUpdateModel     = _gradeService.GetGradeUpdateModelFor(id);
            ViewBag.UpdatedGrade = gradeUpdateModel.GradeModel;
            return(View(gradeUpdateModel));
        }