public IActionResult AddSubjects([FromHeader] string Authorization, [FromHeader] string Role, [FromBody] int[] subjectIds) { if (CheckToken(Authorization) == true && CheckPermission(Role) == true) { var clazzId = subjectIds.Last(); var clazz = _context.Clazz.Find(clazzId); for (var i = 0; i < subjectIds.Count() - 1; i++) { var existedClazzSubject = _context.ClazzSubject.Find(clazzId, subjectIds[i]); if (existedClazzSubject != null) { continue; } var subject = _context.Subject.Find(subjectIds[i]); ClazzSubject clazzSubject = new ClazzSubject { Clazz = clazz, Subject = subject }; _context.Add(clazzSubject); } _context.SaveChanges(); return(new JsonResult(subjectIds)); } return(Unauthorized()); }
public async Task <IActionResult> PutClazzSubject([FromRoute] int id, [FromBody] ClazzSubject clazzSubject) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != clazzSubject.Id) { return(BadRequest()); } _context.Entry(clazzSubject).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ClazzSubjectExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> PostClazzSubject([FromBody] ClazzSubject clazzSubject) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.ClazzSubject.Add(clazzSubject); await _context.SaveChangesAsync(); return(CreatedAtAction("GetClazzSubject", new { id = clazzSubject.Id }, clazzSubject)); }
public IActionResult DeleteSubjectFromClazz([FromHeader] string Authorization, [FromHeader] string Role, [FromBody] ClazzSubject clazzSubject) { if (CheckToken(Authorization) == true && CheckPermission(Role) == true) { var clazzSubjects = _context.ClazzSubject.Find(clazzSubject.ClazzId, clazzSubject.SubjectId); if (clazzSubjects != null) { _context.Remove(clazzSubjects); _context.SaveChanges(); return(Ok()); } return(NoContent()); } return(Unauthorized()); }