public async Task <ActionResult> ConfirmMemberRequest(string accountName, string confirmationToken) { var account = GetAccount(accountName); if (account == null) { return(new HttpStatusCodeResult(HttpStatusCode.NotFound)); } try { var member = await UserService.AddMemberAsync(account, GetCurrentUser().Username, confirmationToken); MessageService.SendOrganizationMemberUpdatedNotice(account, member); TempData["Message"] = String.Format(CultureInfo.CurrentCulture, Strings.AddMember_Success, account.Username); return(Redirect(Url.ManageMyOrganization(account.Username))); } catch (EntityException e) { var failureReason = e.AsUserSafeException().GetUserSafeMessage(); return(HandleOrganizationMembershipRequestView(new HandleOrganizationMembershipRequestModel(true, account, failureReason))); } }
public async Task <JsonResult> AddMember(string accountName, string memberName, bool isAdmin) { var account = GetAccount(accountName); if (account == null || ActionsRequiringPermissions.ManageAccount.CheckPermissions(GetCurrentUser(), account) != PermissionsCheckResult.Allowed) { return(Json((int)HttpStatusCode.Forbidden, Strings.Unauthorized)); } try { var membership = await UserService.AddMemberAsync(account, memberName, isAdmin); return(Json(new OrganizationMemberViewModel(membership))); } catch (EntityException e) { return(Json((int)HttpStatusCode.BadRequest, e.Message)); } }