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); }
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); }
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); }