示例#1
0
        public async Task <JsonResult> CancelMemberRequest(string accountName, string memberName)
        {
            var account = GetAccount(accountName);

            if (account == null ||
                ActionsRequiringPermissions.ManageMembership.CheckPermissions(GetCurrentUser(), account)
                != PermissionsCheckResult.Allowed)
            {
                return(Json(HttpStatusCode.Forbidden, Strings.Unauthorized));
            }

            try
            {
                var removedUser = await UserService.CancelMembershipRequestAsync(account, memberName);

                await MessageService.SendOrganizationMembershipRequestCancelledNoticeAsync(account, removedUser);

                return(Json(Strings.CancelMemberRequest_Success));
            }
            catch (EntityException e)
            {
                return(Json(HttpStatusCode.BadRequest, e.Message));
            }
        }