diff --git a/RMuseum/Services/Implementation/GanjoorService-Partials/GanjoorService-ModeratePoemCorrection.cs b/RMuseum/Services/Implementation/GanjoorService-Partials/GanjoorService-ModeratePoemCorrection.cs index 9725da1c..adbdcfd0 100644 --- a/RMuseum/Services/Implementation/GanjoorService-Partials/GanjoorService-ModeratePoemCorrection.cs +++ b/RMuseum/Services/Implementation/GanjoorService-Partials/GanjoorService-ModeratePoemCorrection.cs @@ -248,15 +248,18 @@ namespace RMuseum.Services.Implementation var lastInsertedVerse = addedVerses.Where(v => v.NewVerseResult == CorrectionReviewResult.Approved).OrderBy(v => v.VORder).Last(); var firstInsertedVerse = addedVerses.Where(v => v.NewVerseResult == CorrectionReviewResult.Approved).OrderBy(v => v.VORder).First(); + int newVersesCount = addedVerses.Count(v => v.NewVerseResult == CorrectionReviewResult.Approved); foreach (var nextVerse in poemVerses.Where(v => v.VOrder >= lastInsertedVerse.VORder).OrderBy(v => v.VOrder).ToList()) { - nextVerse.VOrder = nextVerse.VOrder + 1; + nextVerse.VOrder = nextVerse.VOrder + newVersesCount; } var previousVerse = poemVerses.Where(v => v.VOrder == firstInsertedVerse.VORder).SingleOrDefault(); + int nextVerseOrder = previousVerse.VOrder + 1; int insertionIndex = previousVerse == null ? 0 : poemVerses.IndexOf(previousVerse); foreach (var newVerse in addedVerses.Where(v => v.NewVerseResult == CorrectionReviewResult.Approved).OrderByDescending(v => v.VORder).ToList()) { + newVerse.VORder = nextVerseOrder; poemVerses.Insert( insertionIndex, new GanjoorVerse() @@ -270,6 +273,7 @@ namespace RMuseum.Services.Implementation SectionIndex3 = previousVerse == null ? null : previousVerse.SectionIndex3, SectionIndex4 = previousVerse == null ? null : previousVerse.SectionIndex4, }); + nextVerseOrder++; } }