void ExtractSubItems(Item[] items, CancellationToken cancellationToken) { try { operationItems.Clear(); foreach (var item in items.Where(n => n.Kind == Kind.File)) { if (cancellationToken.IsCancellationRequested) { throw new CancelledException(); } operationItems.Add(ConflictItem.CreateConflictFileItem(item)); } var dirs = items.Where(n => n.Kind == Kind.Directory).Select(n => ConflictItem.CreateConflictDirectoryItem(n.Name, null)); foreach (var item in dirs) { var odi = ConflictItem.CreateConflictDirectoryItem(item.Name, null); sourceProcessor.ExtractSubItems(operationItems, odi, cancellationToken); } } catch (CancelledException) { throw; } catch (Exception e) { var var = e; } }
void RefreshFiles(List <ConflictItem> operationItems, DirectoryInfo directoryInfo, string subPath, CancellationToken cancellationToken) { var files = directoryInfo.SafeGetFiles() .Where(n => Show(n.Attributes)) .Select(n => ConflictItem.CreateConflictFileItem(n.Name, n.Extension, n.FullName, n.Length, n.LastWriteTime, CombineSubPath(subPath, directoryInfo.Name))); foreach (var file in files) { if (cancellationToken.IsCancellationRequested) { throw new CancelledException(); } operationItems.Add(file); } }
void TakeItems(Item[] items, CancellationToken cancellationToken) { operationItems.Clear(); foreach (var item in items.Where(n => n.Kind == Kind.Directory)) { if (cancellationToken.IsCancellationRequested) { throw new CancelledException(); } operationItems.Add(ConflictItem.CreateConflictDirectoryItem(item.Name, null)); } foreach (var item in items.Where(n => n.Kind == Kind.File)) { if (cancellationToken.IsCancellationRequested) { throw new CancelledException(); } operationItems.Add(ConflictItem.CreateConflictFileItem(item)); } }