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); }
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); }