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 = "";