예제 #1
0
        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 }));
        }
예제 #2
0
        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"));
        }