diff --git a/GanjooRazor/Areas/User/Pages/Editor.cshtml b/GanjooRazor/Areas/User/Pages/Editor.cshtml index b81ff15b..9ab6dfcc 100644 --- a/GanjooRazor/Areas/User/Pages/Editor.cshtml +++ b/GanjooRazor/Areas/User/Pages/Editor.cshtml @@ -41,7 +41,13 @@ var oldVerseLanguage = '#language-old-' + i.toString(); var newVerseLanguage = '#language-' + i.toString(); verseLanguages.push($(newVerseLanguage).val()); - if ($(newElementName).text() != $(oldElementName).text() || $(checkVIndex).is(":checked") || $(newVersePosition).val() != $(oldVersePosition).val() || $(newVerseLanguage).val() != $(oldVerseLanguage).val()) { + var textChanged = $(newElementName).text() != $(oldElementName).text(); + var checkedForDelete = i == 0 ? false : $(checkVIndex).is(":checked"); + var positionChanged = i == 0 ? false : $(newVersePosition).val() != $(oldVersePosition).val(); + var newLang = i == 0 ? '1' : $(newVerseLanguage).val(); + var oldLang = i == 0 ? '1' : $(oldVerseLanguage).text(); + var langChanged = newLang != oldLang; + if (textChanged || checkedForDelete || positionChanged || langChanged) { verseOrderText.push(i.toString() + 'TextSeparator' + $(newElementName).text()); if ($(checkVIndex).is(":checked")) { verseOrderMarkedForDelete.push(i); @@ -73,7 +79,7 @@ if (verseOrderText.length == 0 && verseOrderSummaries.length == 0) { if (rhythm_new == null && rhythm_new2 == null && rhyme_letters == null) { - alert('شما هیچ تغییری در متن نداده‌اید!'); + alert('شما هیچ تغییری در اطلاعات نداده‌اید!'); return; } } @@ -832,7 +838,7 @@ else else { @Model.Languages.Where(l => l.Id == verse.LanguageId).Single().Name -
odel.Languages.Where(l => l.Id == verse.LanguageId).Single().Id
+
@Model.Languages.Where(l => l.Id == verse.LanguageId).Single().Id
} diff --git a/GanjooRazor/Areas/User/Pages/Editor.cshtml.cs b/GanjooRazor/Areas/User/Pages/Editor.cshtml.cs index d4df1308..9f0a54e9 100644 --- a/GanjooRazor/Areas/User/Pages/Editor.cshtml.cs +++ b/GanjooRazor/Areas/User/Pages/Editor.cshtml.cs @@ -3,6 +3,7 @@ using System.Linq; using System.Net.Http; using System.Text; using System.Threading.Tasks; +using System.Windows.Forms; using GanjooRazor.Utils; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; @@ -316,19 +317,25 @@ namespace GanjooRazor.Areas.User.Pages { langaugeId = verseLanguages[vOrder - 1]; } - vOrderTexts.Add + string verseText = pageInformation.Poem.Verses.Where(verse => verse.VOrder == vOrder).Single().Text == vParts[1] ? null : vParts[1].Replace("ۀ", "هٔ").Replace("ك", "ک"); + VersePosition? versePos = pageInformation.Poem.Verses.Single(v => v.VOrder == vOrder).VersePosition == versePositions[vOrder - 1] ? null : versePositions[vOrder - 1]; + bool markedForDelete = verseOrderMarkedForDelete.Any(v => v == vOrder); + + if(verseText != null || markedForDelete || versePos != null || langaugeId != null) + { + vOrderTexts.Add ( new GanjoorVerseVOrderText() { VORder = vOrder, - Text = vParts[1].Replace("ۀ", "هٔ").Replace("ك", "ک"), - MarkForDelete = verseOrderMarkedForDelete.Any(v => v == vOrder), - VersePosition = pageInformation.Poem.Verses.Single(v => v.VOrder == vOrder).VersePosition == versePositions[vOrder - 1] ? null : versePositions[vOrder - 1], - OriginalVersePosition = pageInformation.Poem.Verses.Single(v => v.VOrder == vOrder).VersePosition == versePositions[vOrder - 1] ? null : pageInformation.Poem.Verses.Single(v => v.VOrder == vOrder).VersePosition, + Text = verseText, + MarkForDelete = markedForDelete, + VersePosition = versePos, LanguageId = langaugeId, - OriginalLanguageId = pageInformation.Poem.Verses.Single(v => v.VOrder == vOrder).LanguageId } ); + } + } } @@ -365,7 +372,7 @@ namespace GanjooRazor.Areas.User.Pages } if (title == null && poemSummary == null && vOrderTexts.Count == 0 && rhythm == null && rhythm2 == null && rhyme == null) - return new BadRequestObjectResult("شما هیچ تغییری در متن نداده‌اید!"); + return new BadRequestObjectResult("شما هیچ تغییری در اطلاعات نداده‌اید!"); if (rhythm == "null") rhythm = "";