public ActionResult AcceptMembershipInvitation(UserGroup userGroup, UserGroupMembership userGroupMembership, User currentUser) { Require.NotNull(userGroupMembership, "userGroupMembership"); Require.NotNull(userGroup, "userGroup"); Require.IsTrue(() => userGroupMembership.MembershipType == UserGroupMembershipType.Invited, "userGroupMembership"); Require.IsTrue(() => currentUser.Equals(userGroupMembership.User), "userGroupMembership"); UserGroupService.UpdateMembershipTypes( new Dictionary <UserGroupMembership, UserGroupMembershipType> { { userGroupMembership, UserGroupMembershipType.Member } }, currentUser); return(RedirectToAction("Membership", new { userGroup = userGroup.BusinessId, userGroupMembership = userGroupMembership.BusinessId })); }
public ActionResult AcceptMembershipRequest(UserGroup userGroup, UserGroupMembership userGroupMembership, User currentUser) { Require.NotNull(userGroupMembership, "userGroupMembership"); Require.NotNull(userGroup, "userGroup"); Require.IsTrue(() => userGroupMembership.MembershipType == UserGroupMembershipType.Request, "userGroupMembership"); UserGroupMembership currentUsersMembership = UserGroupService.FindMembershipsByUserAndGroup(currentUser, userGroupMembership.UserGroup); Require.IsTrue(() => currentUsersMembership != null && currentUsersMembership.MembershipType == UserGroupMembershipType.Administrator, "userGroupMembership"); UserGroupService.UpdateMembershipTypes( new Dictionary <UserGroupMembership, UserGroupMembershipType> { { userGroupMembership, UserGroupMembershipType.Member } }, currentUser); string urlToUserGroup = Url.Action("Membership", "UserGroup", new { userGroup = userGroup.BusinessId, userGroupMembership = userGroupMembership.BusinessId }, Request.Url.Scheme); NotificationService.SendConfirmMembershipNotification(userGroupMembership.User, userGroupMembership.UserGroup, urlToUserGroup); return(RedirectToAction("AllMemberships")); }