public async Task <IActionResult> Add(Search search, List <int> committeeMemberIds) { var authResult = await authService.AuthorizeAsync(User, search, "CanWriteSearch"); if (!authResult.Succeeded) { return(Forbid()); } searchService.AddSearch(search); searchService.SaveChanges(); foreach (var committeeMemberId in committeeMemberIds) { search.CommitteeMembers.Add(new CommitteeMember(search.Id, committeeMemberId)); } searchService.SaveChanges(); logger.LogInformation("{username} created search {searchId}", User.FindFirst(ClaimTypes.Name).Value, search.Id); return(RedirectToAction(nameof(View), new { id = search.Id })); }