private BSONArrayElement getRndOrderLines(out double total) { var linesCnt = ExternalRandomGenerator.Instance.NextScaledRandomInteger(2, 7); var arr = new BSONDocumentElement[linesCnt]; total = 0; for (var i = 0; i < linesCnt; i++) { var k = i + 1; var e = new BSONDocument(); e.Set(new BSONInt32Element("lid", k)); e.Set(new BSONStringElement("desc", "odr-ln-" + k)); e.Set(new BSONStringElement("name", "product-" + k)); var amt = ExternalRandomGenerator.Instance.NextScaledRandomDouble(35, 749); total += amt; e.Set(new BSONDoubleElement("amnt", amt)); arr[i] = new BSONDocumentElement(e); } return(new BSONArrayElement("lines", arr)); }
public static Amount Amount_BSONtoCLR(BSONDocumentElement el) { var doc = el.Value; var iso = ((BSONStringElement)doc["c"]).Value; var val = Decimal_BSONtoCLR((BSONInt64Element)doc["v"]); return new Amount(iso, val); }