public void ExecuteMerge() { MergedModifications = new ModificationCollection(new TextFile(ServerFile.Name), new TextFile("Merged")); MergedModifications.Initialize(ServerUser1Modifications); MergedModifications.Split(ServerUser2Modifications); ModificationCollection temporary = new ModificationCollection(ServerUser2Modifications); temporary.Split(MergedModifications); ICollection <Modification> processed = new List <Modification>(); for (int mergedIndex = 0; mergedIndex < MergedModifications.Count; mergedIndex++) { Modification currentMerged = MergedModifications[mergedIndex]; Modification currentUser2 = temporary.FindModificationByPrimaryIndex(processed, currentMerged.Primary.StartIndex); if (currentUser2 == null) { continue; } processed.Add(currentUser2); Modification[] merged = currentMerged.Merge(currentUser2); currentMerged.Remove(); foreach (Modification mergedModification in merged) { MergedModifications.Insert(mergedIndex, mergedModification); mergedIndex++; } mergedIndex--; } MergedModifications.GenerateFiles(); RaiseStateChanged(); }
public void ExecuteMerge() { MergedModifications = new ModificationCollection(new TextFile(ServerFile.Name), new TextFile("Merged")); MergedModifications.Initialize(ServerUser1Modifications); MergedModifications.Split(ServerUser2Modifications); ModificationCollection temporary = new ModificationCollection(ServerUser2Modifications); temporary.Split(MergedModifications); ICollection<Modification> processed = new List<Modification>(); for (int mergedIndex = 0; mergedIndex < MergedModifications.Count; mergedIndex++) { Modification currentMerged = MergedModifications[mergedIndex]; Modification currentUser2 = temporary.FindModificationByPrimaryIndex(processed, currentMerged.Primary.StartIndex); if (currentUser2 == null) { continue; } processed.Add(currentUser2); Modification[] merged = currentMerged.Merge(currentUser2); currentMerged.Remove(); foreach (Modification mergedModification in merged) { MergedModifications.Insert(mergedIndex, mergedModification); mergedIndex++; } mergedIndex--; } MergedModifications.GenerateFiles(); RaiseStateChanged(); }