public override void Archive(ContentSourceItem item) { string archiveDirectoryName = Path.Combine(ResolveParameter <string>(PathConfig), ArchiveDirectoryName); string fileName = Path.GetFileNameWithoutExtension(item.Uri.AbsolutePath); string fileExtension = Path.GetExtension(item.Uri.AbsolutePath); string targetFileName = Path.Combine(archiveDirectoryName, $"{fileName}{fileExtension}"); if (File.Exists(targetFileName)) { int totalSameFiles = Directory.GetFiles(archiveDirectoryName, $"{fileName}*.*").Length; targetFileName = Path.Combine(ResolveParameter <string>(PathConfig), ArchiveDirectoryName, $"{fileName}_({totalSameFiles}){fileExtension}"); } File.Move(item.Uri.AbsolutePath, targetFileName); }
private void OnRemovedFromCache(CacheEntryRemovedArguments args) { if (args.RemovedReason != CacheEntryRemovedReason.Expired) { return; } FileSystemEventArgs fileInfo = (FileSystemEventArgs)args.CacheItem.Value; if (!IsFileLocked(fileInfo.FullPath)) { ContentSourceItem item = new ContentSourceItem(DateTime.Now, new Uri(fileInfo.FullPath)); RaiseSourceChanged(item); return; } _cacheItemPolicy.AbsoluteExpiration = DateTimeOffset.Now.AddSeconds(1000); _memoryCache.Add(fileInfo.Name, fileInfo, _cacheItemPolicy); }
public abstract void Archive(ContentSourceItem item);
public abstract byte[] Read(ContentSourceItem item);
public override void Archive(ContentSourceItem item) { throw new NotImplementedException(); }
public override byte[] Read(ContentSourceItem item) { throw new NotImplementedException(); }
public override byte[] Read(ContentSourceItem item) { return(File.ReadAllBytes(item.Uri.AbsolutePath)); }