Example #1
0
        public FileData GetFile(string path, ref BuildInitializeFileDetail result)
        {
            var cacheDataController = InitializeFile(path, ref result);

            if (cacheDataController == null)
            {
                return(null);
            }

            return(cacheDataController.Data as FileData);
        }
Example #2
0
        public CacheDataController InitializeFile(string path, ref BuildInitializeFileDetail result)
        {
            var _result = new BuildInitializeFileDetail();
            var start   = DateTime.Now;
            CacheDataController cacheDataController;
            var lockWait = DateTime.Now;

            lock (Controller)
            {
                _result.LockWaitDuration = (DateTime.Now - lockWait);
                var startGetData = DateTime.Now;
                cacheDataController = Controller.GetData(path, typeof(FileData)).FirstOrDefault() ??
                                      CacheFactory.CreateCacheData(Controller, typeof(FileData));
                _result.GetDataDuration = DateTime.Now - startGetData;
            }

            if (cacheDataController == null)
            {
                return(null);
            }

            #region Initialize
            var start2       = DateTime.Now;
            var internalFile = cacheDataController.InternalData as FileData;
            // If the Data is not cached then create a FileData for first time use
            // Otherwise use the Cached version - Sara
            if (internalFile == null || internalFile.Path == null)
            {
                internalFile = new FileData {
                    Path = path
                }
            }
            ;
            cacheDataController.Initialize(internalFile);

            PrepareFileEvents(cacheDataController);
            _result.InitializeDuration = DateTime.Now - start2;
            #endregion

            _result.InitializeFileDuration = DateTime.Now - start;

            result = _result;
            return(cacheDataController);
        }
Example #3
0
        /// <summary>
        /// Returns a reference to a FileData in the Cache.
        /// If the file does not exists in the Cache, then one will be added.
        /// </summary>
        /// <param name="path">Path of the file that is being loaded</param>
        /// <returns></returns>
        public FileData GetFile(string path)
        {
            var result = new BuildInitializeFileDetail();

            return(GetFile(path, ref result));
        }
Example #4
0
        /// <summary>
        /// Initializes a FileData in the Cache
        /// Does not Load the file
        /// </summary>
        /// <param name="path"></param>
        public CacheDataController InitializeFile(string path)
        {
            var result = new BuildInitializeFileDetail();

            return(InitializeFile(path, ref result));
        }