Example #1
0
        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
            })));
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
            }
        }
Example #5
0
 private void addListener(NickNameLink document, IMongoDatabase db)
 {
     db.UpdatdeLinkRequestToEventUser(document);
 }
Example #6
0
        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);
        }