@page @model GanjooRazor.Areas.Admin.Pages.ReviewEditsModel @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers @using DNTPersianUtils.Core @using RMuseum.Models.Ganjoor @{ Layout = "_AdminLayout"; ViewData["Title"] = "بازبینی ویرایش‌ها"; }

@ViewData["Title"]

@if (!string.IsNullOrEmpty(Model.FatalError)) {
@Model.FatalError
} else if (Model.Correction == null) { } else {

@Model.PageInformation.FullTitle

@if (Model.TextSourceImage != null) { } @if (Model.Correction.Title != null) { } @if (Model.Correction.Rhythm != null) { } @if (Model.Correction.RhymeLetters != null) { } @if (Model.Correction.Rhythm2 != null) { } @if (Model.Correction.PoemFormat != null) { } @if (Model.Correction.PoemSummary != null) { } @if (Model.Correction.GeoDateTags != null) @for (var gi = 0; gi < Model.Correction.GeoDateTags.Length; gi++) { var geoTag = Model.Correction.GeoDateTags[gi]; var geoIndex = gi + 1; @if (geoCouplet != null) { } @if (geoTag.MarkForDelete) { var existingTag = geoTag.ExistingTagId == null || Model.PageInformation.Poem.GeoDateTags == null ? null : Model.PageInformation.Poem.GeoDateTags.Where(t => t.Id == geoTag.ExistingTagId).FirstOrDefault(); } else { @if (geoTag.PersonId != null || !string.IsNullOrEmpty(geoTag.SuggestedPersonGraphJson)) { } } } @if (Model.Correction.VerseOrderText != null) @foreach (var verse in Model.Correction.VerseOrderText) { if (@verse.MarkForDelete) { } else if(verse.NewVerse) { } else { @if (verse.VersePosition != null) { } @if(verse.Text != null) { } @if (verse.LanguageId != null) { } @if(verse.CoupletSummary != null) { } } } @if (!string.IsNullOrEmpty(Model.Correction.Note)) { }
پیشنهاد دهنده: @Model.Correction.UserNickname
بررسی
@Html.AntiForgeryToken()
@if (Model.Correction.VerseOrderText.Any(v => v.MarkForDelete)) { حذف دارد } else { حذف ندارد } @if (Model.Correction.VerseOrderText.Any(v => v.NewVerse)) { اضافه دارد } else { اضافه ندارد }
@if (Model.Correction.VerseOrderText.Any(v => v.OriginalText != v.Text)) { ویرایش متن دارد } else { ویرایش متن ندارد }
@if (Model.Correction.Title != null) { تغییر عنوان دارد } @if (Model.Correction.PoemSummary != null) { تغییر خلاصه دارد } @if (Model.Correction.Rhythm != null) { تغییر وزن دارد } @if (Model.Correction.Rhythm2 != null) { تغییر وزن دوم دارد } @if (Model.Correction.RhymeLetters != null) { تغییر قافیه و ردیف دارد } @if (Model.Correction.PoemFormat != null) { تغییر قالب شعری دارد } @if (Model.Correction.GeoDateTags != null && Model.Correction.GeoDateTags.Length > 0) { برچسب جغرافیایی/تاریخی دارد (@Model.Correction.GeoDateTags.Length.ToPersianNumbers()) }
زمان: @Model.Correction.Date.ToFriendlyPersianDateTextify()
تعداد کل: @Model.TotalCount
@RMuseum.Services.Implementation.CorrectionReviewResultConvertor.GetString(RMuseum.Models.Ganjoor.CorrectionReviewResult.RejectedBecauseWrong)
تغییر مصرع‌ها اشکال نرم‌افزاری است
تغییر مصرع‌ها درست است
پیشنهادهای سیستمی

 

عنوان
متن اولیه پیشنهاد

@Model.Correction.OriginalTitle

@Model.Correction.Title

@Model.Correction.OriginalTitle

@if (Model.Correction.Result == RMuseum.Models.Ganjoor.CorrectionReviewResult.NotChanged) {

} else {

}
وزن
@if (Model.PageInformation.Poem.Verses.Length > 0) { @Model.PageInformation.Poem.Verses[0].Text } @if (Model.PageInformation.Poem.Verses.Length > 1) { @Model.PageInformation.Poem.Verses[1].Text }
متن اولیه پیشنهاد

@Model.Correction.OriginalRhythm

@Model.Correction.Rhythm

@if (Model.Correction.RhythmResult == RMuseum.Models.Ganjoor.CorrectionReviewResult.NotChanged) {

} else {

}
@if (Model.Correction.Title != null) {

در صورت نیاز به درج یادداشت برای تغییر وزن آن را در قسمت عنوان وارد فرمایید.

} else { }
قافیه
متن اولیه پیشنهاد

@Model.RhymeLetters

@Model.Correction.RhymeLetters

@if (Model.Correction.RhymeLettersReviewResult == RMuseum.Models.Ganjoor.CorrectionReviewResult.NotChanged) {

} else {

}
وزن دوم
@if (Model.PageInformation.Poem.Verses.Length > 0) { @Model.PageInformation.Poem.Verses[0].Text } @if (Model.PageInformation.Poem.Verses.Length > 1) { @Model.PageInformation.Poem.Verses[1].Text }
متن اولیه پیشنهاد

@Model.Correction.OriginalRhythm2

@Model.Correction.Rhythm2


@if (Model.Correction.Rhythm2Result == RMuseum.Models.Ganjoor.CorrectionReviewResult.NotChanged) { } else { }
@if (Model.Correction.Title != null) {

در صورت نیاز به درج یادداشت برای تغییر وزن آن را در قسمت عنوان وارد فرمایید.

} else { }
قالب شعری
متن اولیه پیشنهاد

@RMuseum.Services.Implementation.GanjoorPoemFormatConvertor.GetString(Model.Correction.OriginalPoemFormat)

@RMuseum.Services.Implementation.GanjoorPoemFormatConvertor.GetString(Model.Correction.PoemFormat)

@if (Model.Correction.PoemFormatReviewResult == RMuseum.Models.Ganjoor.CorrectionReviewResult.NotChanged) {

} else {

}
خلاصه
متن اولیه پیشنهاد

@Model.PageInformation.Poem.PoemSummary

@Model.Correction.PoemSummary

@Model.PageInformation.Poem.PoemSummary

@if (Model.Correction.SummaryReviewResult == RMuseum.Models.Ganjoor.CorrectionReviewResult.NotChanged) {

} else {

}
برچسب جغرافیایی/تاریخی @{ var geoCouplet = geoTag.CoupletIndex == null ? null : (Model.Couplets ?? Array.Empty>()).Where(c => c.Item1 == geoTag.CoupletIndex).Select(c => c.Item2).FirstOrDefault(); } @if (geoTag.CoupletIndex != null) { - بیت @((geoTag.CoupletIndex + 1).ToPersianNumbers()) }

@geoCouplet

درخواست حذف برچسب: @if (existingTag != null) { @(existingTag.Location != null ? existingTag.Location.Name : "") @(existingTag.LunarYear != null ? $" - سال {existingTag.LunarYear}" : "") }

متن اولیه پیشنهاد

-

@if (geoTag.LocationId != null) { @(geoTag.Location != null ? geoTag.Location.Name : $"مکان #{geoTag.LocationId}") } else if (!string.IsNullOrEmpty(geoTag.SuggestedLocationName)) { @($"{geoTag.SuggestedLocationName} ({geoTag.SuggestedLatitude}, {geoTag.SuggestedLongitude}) [مکان جدید]") } @if (geoTag.LunarYear != null) { - سال @geoTag.LunarYear if (geoTag.LunarMonth != null) { /@geoTag.LunarMonth if (geoTag.LunarDay != null) { /@geoTag.LunarDay } } } @{ RMuseum.Models.Ganjoor.ViewModels.PersonGraphSuggestion personGraph = null; if (geoTag.PersonId == null && !string.IsNullOrEmpty(geoTag.SuggestedPersonGraphJson)) { try { personGraph = Newtonsoft.Json.JsonConvert.DeserializeObject(geoTag.SuggestedPersonGraphJson); } catch (Exception) { } } } @if (geoTag.PersonId != null) { - شخصیت: @(geoTag.Person != null ? geoTag.Person.Name : $"شخصیت #{geoTag.PersonId}") } else if (personGraph?.Person != null) { - شخصیت جدید: @personGraph.Person.Name if (personGraph.Relations != null && personGraph.Relations.Count > 0) { (@personGraph.Relations.Count.ToPersianNumbers() رابطهٔ همراه) } }

@if (!string.IsNullOrEmpty(geoTag.SuggestionNote)) {

یادداشت پیشنهاد دهنده: @geoTag.SuggestionNote

} @if (personGraph?.Person != null) {

@if (!string.IsNullOrEmpty(personGraph.Person.Description)) { توضیحات: @personGraph.Person.Description
} @if (personGraph.Person.BirthYearInLHijri != 0) { تولد: @personGraph.Person.BirthYearInLHijri @(personGraph.Person.ValidBirthDate ? "(قطعی)" : "(تخمینی)")
} @if (personGraph.Person.DeathYearInLHijri != 0) { وفات: @personGraph.Person.DeathYearInLHijri @(personGraph.Person.ValidDeathDate ? "(قطعی)" : "(تخمینی)")
} @if (!string.IsNullOrEmpty(personGraph.Person.FamilyTreeCaption)) { عنوان شجره‌نامه: @personGraph.Person.FamilyTreeCaption
} @if (personGraph.RelatedPeople != null && personGraph.RelatedPeople.Count > 0) { خویشاوندان/وابستگان همراه این پیشنهاد:

    @foreach (var relation in personGraph.Relations ?? new List()) { var otherNode = personGraph.RelatedPeople.Where(p => p.LocalKey == (relation.Person1 == personGraph.Person.LocalKey ? relation.Person2 : relation.Person1)).FirstOrDefault(); var otherName = otherNode != null ? (otherNode.ExistingPersonId != null ? (Model.People ?? new List()).Where(p => p.Id == otherNode.ExistingPersonId).Select(p => p.Name).FirstOrDefault() : otherNode.Name) : null;
  • @(relation.Kind == "affiliation" ? relation.AffiliationType : relation.RelationType) — @otherName @if (!string.IsNullOrEmpty(relation.Note)) { (@relation.Note) }
  • }
}

}

اگر کاربر در نام مکان یا مختصات آن اشتباه کرده اما پیشنهادش در اصل ارزش تأیید دارد، به‌جای رد کردن می‌توانید همین‌جا آن را اصلاح کنید:

برای اتصال به یک مکان موجود، نام آن را تایپ کنید و از فهرست انتخاب کنید؛ برای رها کردن اتصال و پیشنهاد به‌عنوان مکان جدید، این فیلد را خالی کنید.

@if (geoTag.LocationId == null) {

}

اگر کاربر شخصیت را اشتباه تشخیص داده (مثلاً شخصیتی که از قبل در فهرست است را به‌عنوان شخصیت جدید پیشنهاد کرده)، به‌جای رد کردن می‌توانید آن را به شخصیت موجود متصل کنید؛ برای شخصیت تازه فقط نام قابل اصلاح است - اصلاح روابط/تاریخ‌ها نیازمند رد کردن و ارسال دوبارهٔ پیشنهاد توسط کاربر است:

برای اتصال به یک شخصیت موجود، نام او را تایپ کنید و از فهرست انتخاب کنید؛ برای رها کردن اتصال و پیشنهاد به‌عنوان شخصیت جدید، این فیلد را خالی کنید.

@if (geoTag.PersonId == null) {

}
@if (verse.CoupletIndex == null) { مصرع @verse.VORder.ToPersianNumbers() } else { بیت @((verse.CoupletIndex + 1).ToPersianNumbers()) }

@verse.OriginalText

حذف شود

مصرع جدید

@verse.Text

@if (verse.NewVerseResult == RMuseum.Models.Ganjoor.CorrectionReviewResult.NotChanged) {

} else {

}
متن اولیه پیشنهاد
متن مصرع جهت تغییر نوع: @verse.OriginalText
@if (verse.OriginalVersePosition != null) { نوع پیشین مصرع:

@RMuseum.Models.Ganjoor.VersePositionHelper.GetVersePositionString((RMuseum.Models.Ganjoor.VersePosition)verse.OriginalVersePosition)

}
نوع پیشنهادی مصرع:

@RMuseum.Models.Ganjoor.VersePositionHelper.GetVersePositionString((RMuseum.Models.Ganjoor.VersePosition)verse.VersePosition)

@if(Model.ApproveVersePositionChanges) { } else { }
@if (verse.VersePositionResult == RMuseum.Models.Ganjoor.CorrectionReviewResult.NotChanged) { } else { }

@verse.OriginalText

@verse.Text

@verse.OriginalText

@if (verse.Result == RMuseum.Models.Ganjoor.CorrectionReviewResult.NotChanged) {

} else {

}
متن مصرع جهت تغییر زبان: @verse.OriginalText
@if (verse.OriginalLanguageId == null) { زبان پیشین مصرع:

فارسی

} else { زبان پیشین مصرع:

@Model.Languages.Where(l => l.Id == verse.OriginalLanguageId).Single().Name

}
زبان پیشنهادی مصرع:

@Model.Languages.Where(l => l.Id == verse.LanguageId).Single().Name

@if (verse.LanguageReviewResult == RMuseum.Models.Ganjoor.CorrectionReviewResult.NotChanged) {

} else {

}
معنی

@verse.OriginalCoupletSummary

@verse.CoupletSummary

@verse.CoupletSummary

@if (verse.SummaryReviewResult == RMuseum.Models.Ganjoor.CorrectionReviewResult.NotChanged) {

} else {

}
یادداشت: @Model.Correction.Note
همه درست
}