コード例 #1
0
        public static GenericResponseMessage RejectFriendRequest(int thisUser, int thatUser)
        {
            GenericResponseMessage response = new GenericResponseMessage();

            var friendRequest = GetLatestFriendRequestMadeByThatUserToThisUser(thatUser, thisUser);

            if (friendRequest == null || friendRequest.RequestStatus != (int)FriendRequestStatusType.Requested)
            {
                response.AddError(MessageCodes.ThereIsNoRequestToReject);
            }

            if (response.IsSuccessful)
            {
                UserFriendRequestDO ufDataObj = new UserFriendRequestDO();
                friendRequest.RequestStatus = (int)FriendRequestStatusType.Rejected;
                ObjectMapper.MapObjects <USR_FriendRequest, UserFriendRequestDO>(friendRequest, ufDataObj);
                SaveFriendRequest(ufDataObj, thisUser);

                if (GetThisUsersFriendsIds(thisUser).Contains(thatUser))
                {
                    DeleteFriend(thatUser, thisUser);
                }
            }

            return(response);
        }
コード例 #2
0
        public ActionResult AddFriend(int userId)
        {
            UserFriendRequestDO requestDO = new UserFriendRequestDO();

            requestDO.RequestCreatorUserID = this.UserID;
            requestDO.RequestSentToUserID  = userId;
            requestDO.RequestStatus        = (int)FriendRequestStatusType.Requested;
            FriendBL.SendFriendRequest(requestDO);

            string userName = UserBL.GetAllUsersDO().First(q => q.ID == userId).Username;

            return(RedirectToAction("UserProfile", "User", new { username = userName }));
        }
コード例 #3
0
        private static void SaveFriendRequest(UserFriendRequestDO dataObj, int userID)
        {
            Repository <USR_FriendRequest> rep = new Repository <USR_FriendRequest>(MArchiveDataContextProvider.Instance);

            USR_FriendRequest objectToAdd = null;

            if (dataObj.ID == 0)
            {
                objectToAdd = new USR_FriendRequest();
                ObjectMapper.MapObjects(dataObj, objectToAdd, AuditInfo.Fields);
                rep.InsertOnSubmit(objectToAdd);
            }
            else
            {
                objectToAdd = rep.GetAll().Single(x => x.ID == dataObj.ID);
                ObjectMapper.MapObjects(dataObj, objectToAdd, AuditInfo.Fields);
            }
            rep.DCP.CommitChanges(userID);

            InvalidateCache(CacheAreaKey);

            ObjectMapper.MapObjects(objectToAdd, dataObj);
        }
コード例 #4
0
        public static GenericResponseMessage AcceptFriendRequest(int thisUser, int thatUser)
        {
            GenericResponseMessage response = new GenericResponseMessage();

            var request = GetLatestFriendRequestMadeByThatUserToThisUser(thatUser, thisUser);

            if (GetThisUsersFriendsIds(thisUser).Contains(thatUser))
            {
                response.AddError(MessageCodes.TheseUsersAreAlreadyFriends);
            }
            else
            {
                if (request == null)
                {
                    response.AddError(MessageCodes.ThereIsNoRequestToAccept);
                }
                else if (request.RequestStatus != (int)FriendRequestStatusType.Requested)
                {
                    response.AddError(MessageCodes.ThereIsNoRequestToAccept);
                }
            }

            if (response.IsSuccessful)
            {
                UserFriendRequestDO ufDataObj = new UserFriendRequestDO();
                request.RequestStatus = (int)FriendRequestStatusType.Friends;
                ObjectMapper.MapObjects(request, ufDataObj);
                SaveFriendRequest(ufDataObj, thisUser);

                UserFriendDO uDataObj = new UserFriendDO();
                uDataObj.UserID       = thisUser;
                uDataObj.FriendUserID = thatUser;
                SaveFriend(uDataObj, thisUser);
            }

            return(response);
        }
コード例 #5
0
 public static void SendFriendRequest(UserFriendRequestDO requestDO)
 {
     SaveFriendRequest(requestDO, requestDO.RequestCreatorUserID);
 }