Пример #1
0
        public override void UnfriendUser(IClass i)
        {
            User u1  = Main.lUser;
            User u2  = i.GetInstance() as User;
            var  col = Database.GetCollection <User>("User");

            if (u1.Friends.Count > 0)
            {
                u1.Friends.Remove(u2.ID);
            }
            BsonArray array = new BsonArray();

            foreach (var u in u1.Friends)
            {
                array.Add(u);
            }
            UpdateDefinition <User> update = Builders <User> .Update.Set("Friends", array);

            var res = col.UpdateOne(u => u.ID.Equals(u1.ID), update);

            if (u2.Friends.Count > 0)
            {
                u2.Friends.Remove(u1.ID);
            }
            array.Clear();
            foreach (var u in u1.Friends)
            {
                array.Add(u);
            }
            update = Builders <User> .Update.Set("Friends", array);

            res = col.UpdateOne(u => u.ID.Equals(u2.ID), update);
        }
        public void TestClear()
        {
            var array = new BsonArray {
                1, 2
            };

            Assert.AreEqual(2, array.Count);
            array.Clear();
            Assert.AreEqual(0, array.Count);
        }
Пример #3
0
        /// <summary>
        /// Acknowledge multiple handles were processed and remove from queue.
        /// </summary>
        /// <param name="handles">handles received from Get()</param>
        /// <exception cref="ArgumentNullException">handles is null</exception>
        public void AckMulti(IEnumerable <Handle> handles)
        {
            if (handles == null)
            {
                throw new ArgumentNullException("handles");
            }

            var ids = new BsonArray();

            foreach (var handle in handles)
            {
                ids.Add(handle.Id);

                if (ids.Count != ACK_MULTI_BATCH_SIZE)
                {
                    continue;
                }

                collection.Remove(new QueryDocument("_id", new BsonDocument("$in", ids)));
                ids.Clear();
            }

            if (ids.Count > 0)
            {
                collection.Remove(new QueryDocument("_id", new BsonDocument("$in", ids)));
            }

            foreach (var handle in handles)
            {
                foreach (var stream in handle.Streams)
                {
                    stream.Value.Dispose();
                    gridfs.DeleteById(stream.Key);
                }
            }
        }
 public void TestClear()
 {
     var array = new BsonArray { 1, 2 };
     Assert.AreEqual(2, array.Count);
     array.Clear();
     Assert.AreEqual(0, array.Count);
 }
Пример #5
0
 /// <summary>
 /// 清除条件啊
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void cmdClear_Click(object sender, EventArgs e)
 {
     _AggrArray.Clear();
     trvCondition.TreeView.Nodes.Clear();
 }
Пример #6
0
 public void Clear()
 {
     _array.Clear();
 }
Пример #7
0
 /// <summary>
 ///     清除条件
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void cmdClear_Click(object sender, EventArgs e)
 {
     stages.Clear();
     FillStagesTreeview();
 }
Пример #8
0
        /// <summary>
        /// Acknowledge multiple handles were processed and remove from queue.
        /// </summary>
        /// <param name="handles">handles received from Get()</param>
        /// <exception cref="ArgumentNullException">handles is null</exception>
        public void AckMulti(IEnumerable<Handle> handles)
        {
            if (handles == null) throw new ArgumentNullException("handles");

            var ids = new BsonArray();
            foreach (var handle in handles)
            {
                ids.Add(handle.Id);

                if (ids.Count != ACK_MULTI_BATCH_SIZE)
                    continue;

                collection.Remove(new QueryDocument("_id", new BsonDocument("$in", ids)));
                ids.Clear();
            }

            if (ids.Count > 0)
                collection.Remove(new QueryDocument("_id", new BsonDocument("$in", ids)));

            foreach (var handle in handles)
            {
                foreach (var stream in handle.Streams)
                {
                    stream.Value.Dispose();
                    gridfs.DeleteById(stream.Key);
                }
            }
        }