public IActionResult AddStudents([FromHeader] string Authorization, [FromHeader] string Role, [FromBody] int[] studentIds) { if (CheckToken(Authorization) == true && CheckPermission(Role) == true) { var clazzId = studentIds.Last(); var clazz = _context.Clazz.Find(clazzId); for (var i = 0; i < studentIds.Count() - 1; i++) { var existedStudentClazz = _context.StudentClazz.Find(studentIds[i], clazzId); if (existedStudentClazz != null) { continue; } var student = _context.Account.Find(studentIds[i]); StudentClazz studentClazz = new StudentClazz { Account = student, Clazz = clazz }; _context.Add(studentClazz); } _context.SaveChanges(); return(new JsonResult(studentIds)); } return(Unauthorized()); }
public async Task <IActionResult> SaveStudents(int?clazzId, int[] accountIds) { var clazz = _context.Clazz.Find(clazzId); foreach (var id in accountIds) { var existedStudenClazz = _context.StudentClazz.Find(id, clazzId); if (existedStudenClazz != null) { continue; } var student = _context.Account.Find(id); StudentClazz studentClazz = new StudentClazz { Clazz = clazz, Account = student }; _context.Add(studentClazz); } await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); }
public IActionResult DeleteStudentFromClazz([FromHeader] string Authorization, [FromHeader] string Role, [FromBody] StudentClazz studentClazz) { if (CheckToken(Authorization) == true && CheckPermission(Role) == true) { var studentClazzs = _context.StudentClazz.Find(studentClazz.AccountId, studentClazz.ClazzId); if (studentClazzs != null) { _context.Remove(studentClazzs); _context.SaveChanges(); return(Ok()); } return(NoContent()); } return(Unauthorized()); }
public async Task <IActionResult> Edit(int id, [Bind("AccountId,RollNumber,Password,Salt,CreatedAt,UpdatedAt,Status")] Account account, int[] roleIds, int[] clazzIds) { if (id != account.AccountId) { return(NotFound()); } if (ModelState.IsValid) { try { if (roleIds != null) { var OldRoleAccount = _context.RoleAccount.Where(ora => ora.AccountId == id); _context.RoleAccount.RemoveRange(OldRoleAccount); } if (clazzIds != null) { var OldStudentClazz = _context.StudentClazz.Where(osc => osc.AccountId == id); _context.StudentClazz.RemoveRange(OldStudentClazz); } foreach (var roleId in roleIds) { var role = _context.Role.Find(roleId); RoleAccount roleAccount = new RoleAccount { Role = role, Account = account }; _context.Update(roleAccount); } foreach (var clazzId in clazzIds) { var clazz = _context.Clazz.Find(clazzId); StudentClazz studentClazz = new StudentClazz { Clazz = clazz, Account = account }; _context.Update(studentClazz); } account.RollNumber = "B19APTECH" + account.AccountId.ToString("D4"); account.EncryptPassword(account.Password); _context.Update(account); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!AccountExists(account.AccountId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(account)); }