public AddFriendRequest[] GetAddFriendRequests(string ownerUsername) { List <AddFriendRequest> requests = new List <AddFriendRequest>(); var db = GetDatabase(); var collection = db.GetCollection("friend_request"); var queryDoc = new QueryDocument(); queryDoc.Add("OwnerUsername", ownerUsername.ToLower()); foreach (var req in collection.Find(queryDoc)) { AddFriendRequest request = new AddFriendRequest() { Time = req.GetValue("Time").AsDateTime, OwnerUsername = req.GetValue("OwnerUsername").AsString, FriendUsername = req.GetValue("FriendUsername").AsString, GroupName = req.GetValue("GroupName").AsString, Remark = req.GetValue("Remark").AsString, Message = req.GetValue("Message").AsString }; requests.Add(request); } return(requests.ToArray()); }
public AddFriendRequest GetAddFriendRequest(string ownerUsername, string friendUsername, bool remove) { AddFriendRequest req = null; var db = GetDatabase(); var collection = db.GetCollection("friend_request"); var query = new QueryDocument( new BsonElement("OwnerUsername", ownerUsername.ToLower()), new BsonElement("FriendUsername", friendUsername.ToLower())); var resp = collection.Find(query); resp.Limit = 1; if (resp.Size() == 0) { return(null); } foreach (var item in resp) { req = new AddFriendRequest() { Time = item.GetValue("Time").AsDateTime, OwnerUsername = item.GetValue("OwnerUsername").AsString, FriendUsername = item.GetValue("FriendUsername").AsString, GroupName = item.Contains("GroupName") ? item.GetValue("GroupName").AsString : null, Remark = item.Contains("Remark") ? item.GetValue("Remark").AsString : null, Message = item.Contains("Message") ? item.GetValue("Message").AsString : null }; } if (remove) { collection.Remove(query); } return(req); }
public AddFriendRequest GetAddFriendRequest(string ownerUsername, string friendUsername, bool remove) { AddFriendRequest req = null; var db = GetDatabase(); var collection = db.GetCollection("friend_request"); var query = new QueryDocument( new BsonElement("OwnerUsername", ownerUsername.ToLower()), new BsonElement("FriendUsername", friendUsername.ToLower())); var resp = collection.Find(query); resp.Limit = 1; if (resp.Size() == 0) return null; foreach (var item in resp) { req = new AddFriendRequest() { Time = item.GetValue("Time").AsDateTime, OwnerUsername = item.GetValue("OwnerUsername").AsString, FriendUsername = item.GetValue("FriendUsername").AsString, GroupName = item.Contains("GroupName") ? item.GetValue("GroupName").AsString : null, Remark = item.Contains("Remark") ? item.GetValue("Remark").AsString : null, Message = item.Contains("Message") ? item.GetValue("Message").AsString : null }; } if (remove) collection.Remove(query); return req; }
public AddFriendRequest[] GetAddFriendRequests(string ownerUsername) { List<AddFriendRequest> requests = new List<AddFriendRequest>(); var db = GetDatabase(); var collection = db.GetCollection("friend_request"); var queryDoc = new QueryDocument(); queryDoc.Add("OwnerUsername", ownerUsername.ToLower()); foreach (var req in collection.Find(queryDoc)) { AddFriendRequest request = new AddFriendRequest() { Time = req.GetValue("Time").AsDateTime, OwnerUsername = req.GetValue("OwnerUsername").AsString, FriendUsername = req.GetValue("FriendUsername").AsString, GroupName = req.GetValue("GroupName").AsString, Remark = req.GetValue("Remark").AsString, Message = req.GetValue("Message").AsString }; requests.Add(request); } return requests.ToArray(); }