public async Task <IActionResult> AddUser(Guid id, AddUserToOrganizationViewModel viewModel) { if (!await IsOrganizationOwnerAsync(id)) { return(new HttpUnauthorizedResult()); } if (!ModelState.IsValid) { return(RedirectToAction("AddUser")); } var organization = await GetOrganizationForUserAsync(id); if (organization == null) { return(HttpBadRequest($"Invalid organization id: '{id}'.")); } return(await _organizationService.AddUserAsync(id, viewModel.Email) .Execute( onSuccess: () => { Notify(FlashNotificationType.Success, "User has been added to the organization."); return RedirectToAction("Details", new { id = organization.Id }); }, onFailure: ex => { Notify(FlashNotificationType.Error, ex.Message); return RedirectToAction("AddUser"); })); }