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); } }
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(); }
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); }
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 })); } }
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)); } }
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)); }