protected virtual void CreateHeaderWebDataPageManager(XElement xe)
        {
            _headerDataPageManager = new WebDataPageManager_v4 <THeaderData>();

            UrlCache urlCache = UrlCache.Create(xe);

            if (urlCache != null)
            {
                urlCache.GetUrlSubDirectory = GetHeaderPageCacheUrlSubDirectory;
            }
            //Trace.WriteLine($"WebHeaderDetailMongoManagerBase_v2<THeaderData, TDetailData>.CreateHeaderWebDataPageManager() : {(urlCache != null ? "urlCache created" : "no urlCache")}");

            _headerDataPageManager.WebLoadDataManager = new WebLoadDataManager_v2 <IEnumDataPages <THeaderData> >();
            _headerDataPageManager.WebLoadDataManager.TraceException  = true;
            _headerDataPageManager.WebLoadDataManager.UrlCache        = urlCache;
            _headerDataPageManager.WebLoadDataManager.InitLoadFromWeb = InitLoadFromWeb;
            _headerDataPageManager.WebLoadDataManager.GetData         = GetHeaderPageData;
            SetHttpRequestParameters(_headerDataPageManager.WebLoadDataManager.RequestParameters);
            _headerDataPageManager.GetKeyFromHttpRequest = GetHeaderKey;

            _headerDataPageManager.DataStore = MongoDataStore.Create(xe);
            MongoDataSerializer <IEnumDataPages <THeaderData> > dataSerializer = new MongoDataSerializer <IEnumDataPages <THeaderData> >();

            dataSerializer.ItemName               = xe.zXPathValue("MongoDocumentItemName");
            dataSerializer.NominalType            = _headerPageNominalType;
            _headerDataPageManager.DataSerializer = dataSerializer;

            UrlCache imageUrlCache = UrlCache.Create(xe.zXPathElement("Image"));

            _headerDataPageManager.WebLoadImageManager = new WebLoadImageManager_v2 <IEnumDataPages <THeaderData> >();
            if (imageUrlCache != null)
            {
                _headerDataPageManager.WebLoadImageManager.WebImageCacheManager = new WebImageCacheManager_v3(imageUrlCache);
                _headerDataPageManager.WebLoadImageManager.WebImageCacheManager.TraceException = true;
                _headerDataPageManager.GetImageSubDirectory = GetHeaderImageCacheUrlSubDirectory;
            }

            _headerDataPageManager.GetHttpRequestPageFunction = GetHttpRequestPage;
        }
        protected virtual void CreateDetailWebDataManager(XElement xe, IEnumerable <NamedGetData <TDetailData> > namedGetDatas)
        {
            _detailDataManager = new WebDataManager_v5 <THeaderData, TDetailData>();

            UrlCache urlCache = UrlCache.Create(xe);

            if (urlCache != null)
            {
                urlCache.GetUrlSubDirectory = GetDetailCacheUrlSubDirectory;
            }

            _detailDataManager.HttpManager = new HttpManager_v2();
            _detailDataManager.HttpManager.TraceException  = true;
            _detailDataManager.HttpManager.UrlCache        = urlCache;
            _detailDataManager.HttpManager.InitLoadFromWeb = InitLoadFromWeb;
            //_detailDataManager.WebLoadDataManager.GetData = GetDetailData;
            _detailDataManager.CreateData = CreateDetailData;
            _detailDataManager.AddNamedGetDatas(namedGetDatas);
            SetHttpRequestParameters(_detailDataManager.HttpManager.RequestParameters);

            //_detailDataManager.GetKeyFromHttpRequest = GetDetailKey;

            _detailDataManager.Store = MongoDataStore.Create(xe);
            MongoDataSerializer <TDetailData> dataSerializer = new MongoDataSerializer <TDetailData>();

            dataSerializer.ItemName           = xe.zXPathValue("MongoDocumentItemName");
            _detailDataManager.DataSerializer = dataSerializer;

            UrlCache imageUrlCache = UrlCache.Create(xe.zXPathElement("Image"));

            _detailDataManager.WebLoadImageManager = new WebLoadImageManager_v2 <TDetailData>();
            if (imageUrlCache != null)
            {
                _detailDataManager.WebLoadImageManager.WebImageCacheManager = new WebImageCacheManager_v3(imageUrlCache);
                _detailDataManager.WebLoadImageManager.WebImageCacheManager.TraceException = true;
                _detailDataManager.GetImageSubDirectory = GetDetailImageCacheUrlSubDirectory;
            }
        }
Ejemplo n.º 3
0
        public static MongoDataStore Create(XElement xe)
        {
            if (!xe.zXPathValue("UseMongo").zTryParseAs(false))
            {
                return(null);
            }
            MongoDataStore mongoDataStore = new MongoDataStore(xe.zXPathExplicitValue("MongoServer"), xe.zXPathExplicitValue("MongoDatabase"), xe.zXPathExplicitValue("MongoCollection"), xe.zXPathValue("MongoDocumentItemName"));

            mongoDataStore.DefaultSort = xe.zXPathValue("MongoDefaultSort");
            if (xe.zXPathValue("MongoGenerateId").zTryParseAs(false))
            {
                string type = xe.zXPathValue("MongoGenerateId/@type").ToLowerInvariant();
                if (type == "int")
                {
                    mongoDataStore._idGenerator = new MongoIdGeneratorInt(mongoDataStore.GetCollection());
                    mongoDataStore._generateId  = true;
                }
                else
                {
                    throw new PBException("unknow id type generator \"{0}\"", type);
                }
            }
            return(mongoDataStore);
        }
Ejemplo n.º 4
0
 public static MongoDataStore Create(XElement xe)
 {
     MongoDataStore mongoDataStore = new MongoDataStore(xe.zXPathExplicitValue("MongoServer"), xe.zXPathExplicitValue("MongoDatabase"), xe.zXPathExplicitValue("MongoCollection"), xe.zXPathValue("MongoDocumentItemName"));
     mongoDataStore.DefaultSort = xe.zXPathValue("MongoDefaultSort");
     if (xe.zXPathValue("MongoGenerateId").zTryParseAs(false))
     {
         string type = xe.zXPathValue("MongoGenerateId/@type").ToLowerInvariant();
         if (type == "int")
         {
             mongoDataStore._idGenerator = new MongoIdGeneratorInt(mongoDataStore.GetCollection());
             mongoDataStore._generateId = true;
         }
         else
             throw new PBException("unknow id type generator \"{0}\"", type);
     }
     return mongoDataStore;
 }