private void ReadPackages() { // add all parts in Left and matching parts in Right foreach (var leftPart in Left.Parts.Values) { Part rightPart = null; Right.Parts.TryGetValue(leftPart.Uri, out rightPart); var diffPart = new DiffPart(leftPart.Uri, leftPart, rightPart, OpenWith.GetCommandsForPart(leftPart)); Parts.Add(diffPart.Uri, diffPart); } // ad all parts in Right not already added foreach (var rightPart in Right.Parts.Values) { // skip parts already added if (Parts.ContainsKey(rightPart.Uri)) { continue; } var diffPart = new DiffPart(rightPart.Uri, left: null, right: rightPart, OpenWith.GetCommandsForPart(rightPart)); Parts.Add(diffPart.Uri, diffPart); } CreateFolders(); }
protected override PackagePart GetPartCore(Uri partUri) { if (!GotParts.Contains(partUri)) { GotParts.Add(partUri); } return(Parts.ContainsKey(partUri) ? Parts [partUri] : null); }
public bool ContainsPart(string partNumber) => Parts.ContainsKey(partNumber);