//[ValidateAntiForgeryToken] public async Task <IActionResult> Create([FromBody] RoleViewModel role) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Role newRole = new Role { RoleID = role.RoleID, Title = role.Title }; await _rolesRepository.AddAsync(newRole); await _rolesRepository.CommitAsync(); role = Mapper.Map <Role, RoleViewModel>(newRole); return(CreatedAtRoute("GetRole", new { controller = "Roles", id = role.RoleID }, role)); }
//[ValidateAntiForgeryToken] public async Task <IActionResult> Create([FromBody] RoleViewModel role) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Role newRole = new Role { RoleName = role.RoleName }; // One-to-Many if (role.SelectedPermissions != null) { newRole.PermissionAssignments = new List <PermissionAssignment>(); foreach (var permission in role.SelectedPermissions) { var permissionToAdd = new PermissionAssignment { RoleID = role.ID, PermissionID = int.Parse(permission) }; newRole.PermissionAssignments.Add(permissionToAdd); } } await _rolesRepository.AddAsync(newRole); await _rolesRepository.CommitAsync(); // Need to grab Course (.ThenInclude(ca => ca.Course)) since newInstructor does not retrieve Course entity after CommitAsync() // when InstructorViewModel maps (Title = ca.Course.Title) Role RoleWithPermission = await _rolesRepository.GetRolePermissions(newRole.ID); role = Mapper.Map <Role, RoleViewModel>(RoleWithPermission); return(CreatedAtRoute("GetRole", new { controller = "Role", id = role.ID }, role)); }