public static NickNameLink GetNickNameRequest(this IMongoDatabase db, string nick, string code) { var links = db.GetCollection <BsonDocument>("Links"); var builder = Builders <BsonDocument> .Filter; var filter = builder.Eq("nick", nick) & builder.Eq("code", code); BsonDocument document = links.Find(filter).FirstOrDefault(); return(NickNameLink.FromJson(document.ToJson(new JsonWriterSettings { OutputMode = JsonOutputMode.Strict }))); }
public static List <NickNameLink> GetNickNameLink(this IMongoDatabase db, string nick) { var links = db.GetCollection <BsonDocument>("EventUsers"); var builder = Builders <BsonDocument> .Filter; var filter = builder.Eq("nick", nick); var documents = links.Find(filter).ToList(); var toReturn = new List <NickNameLink> (); documents.ForEach(doc => { toReturn.Add(NickNameLink.FromJson(doc.ToJson(new JsonWriterSettings { OutputMode = JsonOutputMode.Strict }))); }); return(toReturn); }
void HandleLinkIRCNickToUserIdPrefix(HttpListenerRequest request, HttpListenerResponse response) { string jsonEntity = readEntity(request); NickNameLink entity = NickNameLink.FromJson(JObject.Parse(jsonEntity)); entity.Code = new Random().Next(10000000, 99999999).ToString(); db.SaveLinkRequest(entity); JObject responseObject = new JObject(); responseObject.Add("code", entity.Code); SendResponse(response, responseObject, 200); }
public static void SaveLinkRequest(this IMongoDatabase db, NickNameLink link) { var links = db.GetCollection <BsonDocument>("Links"); var builder = Builders <BsonDocument> .Filter; var filter = builder.Eq("nick", link.Nick) & builder.Eq("remoteUserName", link.RemoteUserName); var document = links.Find(filter).FirstOrDefault(); if (document == null) { links.InsertOne(link.ToBSON()); } else { var update = Builders <BsonDocument> .Update.Set("code", link.Code); links.UpdateOne(filter, update); } }
private void addListener(NickNameLink document, IMongoDatabase db) { db.UpdatdeLinkRequestToEventUser(document); }
public static NickNameLink UpdatdeLinkRequestToEventUser(this IMongoDatabase db, NickNameLink link) { var remoteUserName = link.RemoteUserName; var nick = link.Nick; var links = db.GetCollection <BsonDocument>("Links"); var eventUsers = db.GetCollection <BsonDocument>("EventUsers"); var builder = Builders <BsonDocument> .Filter; var filter = builder.Eq("nick", nick); links.DeleteMany(filter); filter = builder.Eq("nick", nick) & builder.Eq("remoteUserName", remoteUserName); var document = eventUsers.Find(filter).FirstOrDefault(); if (document == null) { eventUsers.InsertOne(new BsonDocument { { "nick", nick }, { "remoteUserName", remoteUserName } }); } link.Code = null; return(link); }