Example #1
0
        public DBUpdate(string entityType, string[] dimensionNames)
        {
            m_EntityType = entityType;

            m_Filter.Set(m_G_Entity);
            m_Filter.Set(m_G_Shard);
            m_Filter.Set(m_DateTime);

            m_Doc.Set(m_G_Entity);
            m_Doc.Set(m_G_Shard);
            m_Doc.Set(m_DateTime);

            foreach (var dimensionName in dimensionNames)
            {
                var element = new BSONStringElement(dimensionName, "");
                var kvp     = new KeyValuePair <string, BSONStringElement>(dimensionName, element);
                m_Dimensions.Add(kvp);
                m_Doc.Set(element);
                m_Filter.Set(element);
            }

            m_Inc.Set(m_Value);
            m_Inc.Set(m_Count);

            m_IncDoc.Set(new BSONDocumentElement("$setOnInsert", m_Doc));
            m_IncDoc.Set(new BSONDocumentElement("$inc", m_Inc));

            m_MongoUpdateEntry = new UpdateEntry(m_Filter, m_IncDoc, false, true);
        }
Example #2
0
 public static BSONDocumentElement Amount_CLRtoBSON(string name, Amount amount)
 {
   var curEl = new BSONStringElement("c", amount.CurrencyISO);
   var valEl = Decimal_CLRtoBSON("v", amount.Value);
   var doc = new BSONDocument();
   doc.Set(curEl).Set(valEl);
  
   return name != null ? new BSONDocumentElement(name, doc) : new BSONDocumentElement(doc);
 }
Example #3
0
        public void TestStringElementConvertable()
        {
            var element = new BSONStringElement("name", "1256");

              var bl = element.AsBool();
              var chr = element.AsChar();
              var date = element.AsDateTime();
              var decim = element.AsDecimal();
              var doubl = element.AsDouble();
              var int16 = element.AsShort();
              var int32 = element.AsInt();
              var int64 = element.AsLong();
              var single = element.AsFloat();
              var str = element.AsString();
              var uint16 = element.AsUShort();
              var uint32 = element.AsUInt();
              var uint64 = element.AsULong();

              Assert.AreEqual(bl, true);
              Assert.AreEqual(chr, '1');
              Assert.AreEqual(date, new DateTime(1256));
              Assert.AreEqual(decim, 1256);
              Assert.AreEqual(doubl, 1256.0D);
              Assert.AreEqual(int16, 1256);
              Assert.AreEqual(int32, 1256);
              Assert.AreEqual(int64, 1256);
              Assert.AreEqual(single, 1256.0F);
              Assert.AreEqual(str, "1256");
              Assert.AreEqual(uint16, 1256);
              Assert.AreEqual(uint32, 1256);
              Assert.AreEqual(uint64, 1256);
        }