Example #1
0
        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 }));
        }