Ejemplo n.º 1
0
        private PrefetchData GetPrefetchData(ID itemId)
        {
            var data = PrefetchCache[itemId] as PrefetchData;

            if (data != null)
            {
                if (!data.ItemDefinition.IsEmpty)
                {
                    return(data);
                }

                return(null);
            }

            var itemDto = Provider.GetItem(itemId.ToGuid());

            if (itemDto != null)
            {
                data = new PrefetchData(new ItemDefinition(itemId, itemDto.Name, new ID(itemDto.TemplateId), new ID(itemDto.BranchId)), new ID(itemDto.ParentId));

                PrefetchCache.Add(itemId, data, data.GetDataLength());

                return(data);
            }

            return(null);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Tries to dull an item data from cache trying to load it if it has not been already loaded
        /// </summary>
        /// <param name="oItemId"></param>
        /// <returns></returns>
        private PrefetchData GetPrefetchData(ID oItemId)
        {
            PrefetchData oData;

            this.EnsureInitialPrefetch();

            oData = this.PrefetchCache[oItemId] as PrefetchData;
            if (oData == null)
            {
                oData = this.PrefetchItem(oItemId);
                if (oData == null)
                {
                    oData = new PrefetchData(ItemDefinition.Empty, ID.Null);
                    lock (this.PrefetchCache.SyncRoot)
                    {
                        if (!this.PrefetchCache.ContainsKey(oItemId))
                        {
                            this.PrefetchCache.Add(oItemId, oData, oData.GetDataLength());
                        }
                    }
                    oData = this.GetPrefetchDataFromCache(oItemId);
                }
            }
            else
            {
                if (oData.ItemDefinition.IsEmpty)
                {
                    oData = null;
                }
            }

            return(oData);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Saves and item data to the cache
        /// </summary>
        /// <param name="oItemId"></param>
        /// <param name="oData"></param>
        private void AddPrefetchDataToCache(ID oItemId, PrefetchData oData)
        {
            #region VARIABLES
            ItemDefinition oItemDefinition;
            ID             oTemplateID;

            #endregion
            this.PrefetchCache.Add(oItemId, oData, oData.GetDataLength());
            if (this.bLogPrefetchStatistics && this.bInitialDataPrefetched)
            {
                oItemDefinition = oData.ItemDefinition;
                if (!oItemDefinition.IsEmpty)
                {
                    oTemplateID = oItemDefinition.TemplateID;
                    lock (this.oPrefetchStatistics.SyncRoot)
                    {
                        this.oPrefetchStatistics[oTemplateID] += 1;
                    }
                }
            }
        }
Ejemplo n.º 4
0
        private PrefetchData GetPrefetchData(ID itemId)
        {
            PrefetchData data = this.PrefetchCache[itemId] as PrefetchData;

            if (data != null)
            {
                if (!data.ItemDefinition.IsEmpty)
                {
                    return(data);
                }
                return(null);
            }
            ItemInfo result = Items.FindOneByIdAs <ItemInfo>(itemId.ToGuid());

            if (result != null)
            {
                data = new PrefetchData(new ItemDefinition(itemId, result.Name, new ID(result.TemplateID), new ID(result.BranchID)), new ID(result.ParentID));
                this.PrefetchCache.Add(itemId, data, data.GetDataLength());
                return(data);
            }

            return(null);
        }
        private PrefetchData GetPrefetchData(ID itemId)
        {
            PrefetchData data = this.PrefetchCache[itemId] as PrefetchData;
            if (data != null)
            {
                if (!data.ItemDefinition.IsEmpty)
                {
                    return data;
                }
                return null;
            }
            ItemInfo result = Items.FindOneByIdAs<ItemInfo>(itemId.ToGuid());

            if (result != null)
            {
                data = new PrefetchData(new ItemDefinition(itemId, result.Name, new ID(result.TemplateID), new ID(result.BranchID)), new ID(result.ParentID));
                this.PrefetchCache.Add(itemId, data, data.GetDataLength());
                return data;
            }

            return null;
        }
Ejemplo n.º 6
0
        private PrefetchData GetPrefetchData(ID itemId)
        {
            var data = PrefetchCache[itemId] as PrefetchData;

            if (data != null)
            {
                if (!data.ItemDefinition.IsEmpty)
                {
                    return data;
                }

                return null;
            }

            var itemDto = Provider.GetItem(itemId.ToGuid());

            if (itemDto != null)
            {
                data = new PrefetchData(new ItemDefinition(itemId, itemDto.Name, new ID(itemDto.TemplateId), new ID(itemDto.BranchId)), new ID(itemDto.ParentId));

                PrefetchCache.Add(itemId, data, data.GetDataLength());

                return data;
            }

            return null;
        }