Exemplo n.º 1
0
        public static void Test_LoadMongoDetail_01()
        {
            Trace.WriteLine("Test_LoadMongoDetail_01");
            Trace.WriteLine();

            RapideDdl.InitMongoClassMap();

            if (BsonClassMap.IsClassMapRegistered(typeof(RapideDdl_Base)))
            {
                BsonClassMap map = BsonClassMap.LookupClassMap(typeof(RapideDdl_Base));
                Trace.WriteLine("change existing class map");
                BsonMemberMap memberMap = map.GetMemberMap("infos");
                memberMap.SetSerializationOptions(DictionarySerializationOptions.ArrayOfDocuments);
            }
            else
            {
                Trace.WriteLine("register class map");
                BsonClassMap.RegisterClassMap <RapideDdl_Base>(cm =>
                {
                    cm.AutoMap();
                    cm.GetMemberMap(c => c.infos).SetSerializationOptions(DictionarySerializationOptions.ArrayOfDocuments);
                });
            }
            Trace.WriteLine();

            string query = "{ _id: 35105 }";
            MongoCursor <BsonDocument> cursor = MongoCommand.GetDatabase(null, "dl").GetCollection("RapideDdl_Detail").zFind <BsonDocument>(new QueryDocument(BsonSerializer.Deserialize <BsonDocument>(query)));
            int i = 1;

            foreach (BsonDocument document in cursor)
            {
                BsonDocument         document2  = (BsonDocument)document["download"];
                RapideDdl_PostDetail postDetail = BsonSerializer.Deserialize <RapideDdl_PostDetail>(document2);
                //MongoDB.Bson.Serialization.IBsonSerializationOptions options;
                //MongoDB.Bson.Serialization.BsonSerializer.Serialize()
                //Serialization.Options
                //SerializationOptions
                //MongoDB.Bson.Serialization.Options.RepresentationSerializationOptions
                //document2 = postDetail.ToBsonDocument(new DictionarySerializationOptions(DictionaryRepresentation.ArrayOfDocuments));
                //DictionarySerializationOptions.
                //BsonClassMap.RegisterClassMap<RapideDdl_PostDetail>(cm => { cm.MapProperty(c => c.SomeProperty); cm.MapProperty(c => c.AnotherProperty); });
                //document2 = postDetail.ToBsonDocument();
                Trace.WriteLine("document no {0}", i++);
                //DocumentSerializationOptions options = new DocumentSerializationOptions();
                //Trace.WriteLine(postDetail.ToJson(new DictionarySerializationOptions(DictionaryRepresentation.ArrayOfDocuments)));

                //RapideDdl_PostDetail  RapideDdl_Base
                //BsonClassMap<RapideDdl_Base> map = BsonClassMap.LookupClassMap(typeof(RapideDdl_Base));


                //Trace.WriteLine(document.zToJson());
                Trace.WriteLine(postDetail.zToJson());
                Trace.WriteLine();
            }
        }
Exemplo n.º 2
0
 // bool desactivateDocumentStore = false
 public static void Test_RapideDdl_LoadDetailItemList_02(int startPage             = 1, int maxPage = 1, bool reloadHeaderPage = false, bool reloadDetail = false, bool loadImage = false,
                                                         bool refreshDocumentStore = false)
 {
     // RunSource.CurrentRunSource.View
     (from item in RapideDdl.LoadDetailItemList(startPage, maxPage, reloadHeaderPage, reloadDetail, loadImage, refreshDocumentStore)
      select new
     {
         url = item.sourceUrl,
         creationDate = item.creationDate,
         title = item.title,
         images = (from image in item.images select image.Image).ToArray(),
         downloadLinks = item.downloadLinks
     }).zView();
 }
Exemplo n.º 3
0
        public static void ClassInit(XElement xe)
        {
            __useUrlCache    = xe.zXPathValue("UseUrlCache").zTryParseAs(false);
            __cacheDirectory = xe.zXPathValue("CacheDirectory");

            //__useXml = xe.zXPathValueBool("UseXml", __useXml);
            //__xmlNodeName = xe.zXPathValue("XmlNodeName");
            __useMongo              = xe.zXPathValue("UseMongo").zTryParseAs(__useMongo);
            __mongoServer           = xe.zXPathValue("MongoServer", __mongoServer);
            __mongoDatabase         = xe.zXPathValue("MongoDatabase");
            __mongoCollectionName   = xe.zXPathValue("MongoCollection");
            __mongoDocumentItemName = xe.zXPathValue("MongoDocumentItemName");

            IDocumentStore_v1 <RapideDdl_HeaderPage> documentStore = null;

            if (__useMongo)
            {
                documentStore = new MongoDocumentStore_v1 <RapideDdl_HeaderPage>(__mongoServer, __mongoDatabase, __mongoCollectionName, __mongoDocumentItemName);
                RapideDdl.InitMongoClassMap();
            }

            _load = new pb.Web.v1.LoadWebData_v2 <RapideDdl_HeaderPage>(new pb.Web.v1.LoadDataFromWeb_v2 <RapideDdl_HeaderPage>(LoadHeaderPageFromWeb, GetUrlCache()), documentStore);
        }
Exemplo n.º 4
0
 // bool desactivateDocumentStore = false
 public static void Test_RapideDdl_LoadDetailItemList_01(int startPage             = 1, int maxPage = 1, bool reloadHeaderPage = false, bool reloadDetail = false, bool loadImage = false,
                                                         bool refreshDocumentStore = false)
 {
     //RunSource.CurrentRunSource.View
     RapideDdl.LoadDetailItemList(startPage, maxPage, reloadHeaderPage, reloadDetail, loadImage, refreshDocumentStore).zView();
 }