protected override void Do() { var entries = new List <FileEntry>(); if (Folders.Any()) { entries.AddRange(FolderDao.GetFolders(Folders.ToArray())); } if (Files.Any()) { entries.AddRange(FileDao.GetFiles(Files.ToArray())); } entries.ForEach(x => { CancellationToken.ThrowIfCancellationRequested(); FileMarker.RemoveMarkAsNew(x, ((IAccount)Thread.CurrentPrincipal.Identity).ID); if (x.FileEntryType == FileEntryType.File) { ProcessedFile(x.ID.ToString()); } else { ProcessedFolder(x.ID.ToString()); } ProgressStep(); }); var newrootfolder = FileMarker .GetRootFoldersIdMarkedAsNew() .Select(item => string.Format("new_{{\"key\"? \"{0}\", \"value\"? \"{1}\"}}", item.Key, item.Value)); Status += string.Join(SPLIT_CHAR, newrootfolder.ToArray()); }
protected override void Do() { Percentage = 0; var entries = Enumerable.Empty <FileEntry>(); if (Folders.Any()) { entries = entries.Concat(FolderDao.GetFolders(Folders.ToArray())); } if (Files.Any()) { entries = entries.Concat(FileDao.GetFiles(Files.ToArray())); } entries.ToList().ForEach(x => { if (Canceled) { return; } FileMarker.RemoveMarkAsNew(x, Owner); if (x is File) { ProcessedFile(x.ID.ToString()); ResultedFile(x.ID.ToString()); } else { ProcessedFolder(x.ID.ToString()); ResultedFolder(x.ID.ToString()); } ProgressStep(); }); var rootFolderIdAsNew = FileMarker.GetRootFoldersIdMarkedAsNew() .Select(item => string.Format("new_{{\"key\"? \"{0}\", \"value\"? \"{1}\"}}", item.Key, item.Value)); Status += string.Join(SplitCharacter, rootFolderIdAsNew.ToArray()); IsCompleted = true; }