Beispiel #1
0
        private static void SaveFriend(UserFriendDO dataObj, int userID)
        {
            Repository <USR_Friend> rep = new Repository <USR_Friend>(MArchiveDataContextProvider.Instance);

            USR_Friend objectToAdd = null;

            if (dataObj.ID == 0)
            {
                objectToAdd = new USR_Friend();
                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);
        }
Beispiel #2
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);
        }