#420 GanjoorQuotedPoemViewModel

This commit is contained in:
Hamid Reza Mohammadi 2024-01-05 09:26:40 +03:30
parent bf5ec9805f
commit 4a8c494b21
6 changed files with 133 additions and 133 deletions

View File

@ -112,7 +112,7 @@
</p>
@if (Model.GanjoorQuotedPoem != null && Model.Couplets != null)
@if (Model.GanjoorQuotedPoemViewModel != null && Model.Couplets != null)
{
<script>
@ -230,15 +230,15 @@
<table>
<tr>
<td>
بیت مرجع از <a href="/?p=@Model.GanjoorQuotedPoem.PoemId">شعر</a>:
<input type="hidden" asp-for="GanjoorQuotedPoem.Id" />
<input type="hidden" asp-for="GanjoorQuotedPoem.PoemId" />
<input type="hidden" asp-for="GanjoorQuotedPoem.PoetId" />
بیت مرجع از <a href="/?p=@Model.GanjoorQuotedPoemViewModel.PoemId">شعر</a>:
<input type="hidden" asp-for="GanjoorQuotedPoemViewModel.Id" />
<input type="hidden" asp-for="GanjoorQuotedPoemViewModel.PoemId" />
<input type="hidden" asp-for="GanjoorQuotedPoemViewModel.PoetId" />
</td>
</tr>
<tr>
<td>
<select asp-for="GanjoorQuotedPoem.CoupletIndex" style="width:500px;">
<select asp-for="GanjoorQuotedPoemViewModel.CoupletIndex" style="width:500px;">
@foreach (var item in Model.Couplets)
{
<option value="@item.Item1">@($"{(item.Item1 + 1).ToPersianNumbers()} - {item.Item2}")</option>
@ -253,7 +253,7 @@
</tr>
<tr>
<td>
<input asp-for="GanjoorQuotedPoem.CoupletVerse1ShouldBeEmphasized" />
<input asp-for="GanjoorQuotedPoemViewModel.CoupletVerse1ShouldBeEmphasized" />
</td>
</tr>
<tr>
@ -263,7 +263,7 @@
</tr>
<tr>
<td>
<input asp-for="GanjoorQuotedPoem.CoupletVerse2ShouldBeEmphasized" />
<input asp-for="GanjoorQuotedPoemViewModel.CoupletVerse2ShouldBeEmphasized" />
</td>
</tr>
<tr>
@ -273,7 +273,7 @@
</tr>
<tr>
<td>
<input asp-for="GanjoorQuotedPoem.PoetId" />
<input asp-for="GanjoorQuotedPoemViewModel.PoetId" />
</td>
</tr>
<tr>
@ -294,14 +294,14 @@
</tr>
<tr>
<td>
<input asp-for="GanjoorQuotedPoem.RelatedPoemId" />
<input asp-for="GanjoorQuotedPoemViewModel.RelatedPoemId" />
</td>
</tr>
@if (Model.GanjoorQuotedPoem.RelatedPoemId != null)
@if (Model.GanjoorQuotedPoemViewModel.RelatedPoemId != null)
{
<tr>
<td>
<a href="/?p=@Model.GanjoorQuotedPoem.RelatedPoemId">مشاهدهٔ شعر مرتبط</a>
<a href="/?p=@Model.GanjoorQuotedPoemViewModel.RelatedPoemId">مشاهدهٔ شعر مرتبط</a>
</td>
</tr>
}
@ -313,7 +313,7 @@
</tr>
<tr>
<td>
<select asp-for="GanjoorQuotedPoem.RelatedCoupletIndex" style="width:500px;">
<select asp-for="GanjoorQuotedPoemViewModel.RelatedCoupletIndex" style="width:500px;">
@foreach (var item in Model.RelatedCouplets)
{
<option value="@item.Item1">@($"{(item.Item1 + 1).ToPersianNumbers()} - {item.Item2}")</option>
@ -328,7 +328,7 @@
</tr>
<tr>
<td>
<input asp-for="GanjoorQuotedPoem.RelatedCoupletVerse1" size="80" />
<input asp-for="GanjoorQuotedPoemViewModel.RelatedCoupletVerse1" size="80" />
</td>
</tr>
<tr>
@ -338,7 +338,7 @@
</tr>
<tr>
<td>
<input asp-for="GanjoorQuotedPoem.RelatedCoupletVerse1ShouldBeEmphasized" />
<input asp-for="GanjoorQuotedPoemViewModel.RelatedCoupletVerse1ShouldBeEmphasized" />
</td>
</tr>
<tr>
@ -348,7 +348,7 @@
</tr>
<tr>
<td>
<input asp-for="GanjoorQuotedPoem.RelatedCoupletVerse2" size="80" />
<input asp-for="GanjoorQuotedPoemViewModel.RelatedCoupletVerse2" size="80" />
</td>
</tr>
@ -359,7 +359,7 @@
</tr>
<tr>
<td>
<input asp-for="GanjoorQuotedPoem.RelatedCoupletVerse2ShouldBeEmphasized" />
<input asp-for="GanjoorQuotedPoemViewModel.RelatedCoupletVerse2ShouldBeEmphasized" />
</td>
</tr>
<tr>
@ -369,7 +369,7 @@
</tr>
<tr>
<td>
<input asp-for="GanjoorQuotedPoem.SortOrder" />
<input asp-for="GanjoorQuotedPoemViewModel.SortOrder" />
</td>
</tr>
<tr>
@ -379,7 +379,7 @@
</tr>
<tr>
<td>
<input asp-for="GanjoorQuotedPoem.IsPriorToRelated" />
<input asp-for="GanjoorQuotedPoemViewModel.IsPriorToRelated" />
</td>
</tr>
<tr>
@ -389,7 +389,7 @@
</tr>
<tr>
<td>
<input asp-for="GanjoorQuotedPoem.ChosenForMainList" />
<input asp-for="GanjoorQuotedPoemViewModel.ChosenForMainList" />
</td>
</tr>
<tr>
@ -399,7 +399,7 @@
</tr>
<tr>
<td>
<input asp-for="GanjoorQuotedPoem.IndirectQuotation" />
<input asp-for="GanjoorQuotedPoemViewModel.IndirectQuotation" />
</td>
</tr>
<tr>
@ -409,7 +409,7 @@
</tr>
<tr>
<td>
<input asp-for="GanjoorQuotedPoem.ClaimedByBothPoets" />
<input asp-for="GanjoorQuotedPoemViewModel.ClaimedByBothPoets" />
</td>
</tr>
<tr>
@ -419,12 +419,12 @@
</tr>
<tr>
<td>
<input asp-for="GanjoorQuotedPoem.RelatedPoetId" />
<input asp-for="GanjoorQuotedPoemViewModel.RelatedPoetId" />
</td>
</tr>
<tr>
<td>
<input asp-for="GanjoorQuotedPoem.CachedRelatedPoemPoetName" />
<input asp-for="GanjoorQuotedPoemViewModel.CachedRelatedPoemPoetName" />
</td>
</tr>
<tr>
@ -434,7 +434,7 @@
</tr>
<tr>
<td>
<input asp-for="GanjoorQuotedPoem.CachedRelatedPoemPoetDeathYearInLHijri" />
<input asp-for="GanjoorQuotedPoemViewModel.CachedRelatedPoemPoetDeathYearInLHijri" />
</td>
</tr>
<tr>
@ -444,7 +444,7 @@
</tr>
<tr>
<td>
<input asp-for="GanjoorQuotedPoem.CachedRelatedPoemPoetUrl" style="direction:ltr" size="80" />
<input asp-for="GanjoorQuotedPoemViewModel.CachedRelatedPoemPoetUrl" style="direction:ltr" size="80" />
</td>
</tr>
<tr>
@ -454,7 +454,7 @@
</tr>
<tr>
<td>
<input asp-for="GanjoorQuotedPoem.CachedRelatedPoemPoetImage" style="direction:ltr" size="80" />
<input asp-for="GanjoorQuotedPoemViewModel.CachedRelatedPoemPoetImage" style="direction:ltr" size="80" />
</td>
</tr>
<tr>
@ -464,7 +464,7 @@
</tr>
<tr>
<td>
<input asp-for="GanjoorQuotedPoem.CachedRelatedPoemFullTitle" size="80" />
<input asp-for="GanjoorQuotedPoemViewModel.CachedRelatedPoemFullTitle" size="80" />
</td>
</tr>
<tr>
@ -474,7 +474,7 @@
</tr>
<tr>
<td>
<input asp-for="GanjoorQuotedPoem.CachedRelatedPoemFullUrl" style="direction:ltr" size="80" />
<input asp-for="GanjoorQuotedPoemViewModel.CachedRelatedPoemFullUrl" style="direction:ltr" size="80" />
</td>
</tr>
@ -485,7 +485,7 @@
</tr>
<tr>
<td>
<textarea asp-for="GanjoorQuotedPoem.Note" rows="4" cols="80" class="editor"></textarea>
<textarea asp-for="GanjoorQuotedPoemViewModel.Note" rows="4" cols="80" class="editor"></textarea>
</td>
</tr>
<tr>
@ -495,7 +495,7 @@
</tr>
<tr>
<td>
<input asp-for="GanjoorQuotedPoem.Published" />
<input asp-for="GanjoorQuotedPoemViewModel.Published" />
</td>
</tr>
<tr>
@ -505,7 +505,7 @@
</tr>
<tr>
<td>
<input asp-for="GanjoorQuotedPoem.SamePoemsQuotedCount" />
<input asp-for="GanjoorQuotedPoemViewModel.SamePoemsQuotedCount" />
</td>
</tr>
<tr>
@ -519,11 +519,11 @@
<td>
@if (Model.ReverseId != null)
{
<a href="/Admin/SuggestQuoted/?p=@Model.GanjoorQuotedPoem.RelatedPoemId&id=@Model.ReverseId">نمایش معکوس</a>
<a href="/Admin/SuggestQuoted/?p=@Model.GanjoorQuotedPoemViewModel.RelatedPoemId&id=@Model.ReverseId">نمایش معکوس</a>
}
else
{
<a role="button" onclick="reverseQuote('@Model.GanjoorQuotedPoem.Id')" class="actionlink" title="درج معکوس">درج معکوس</a>
<a role="button" onclick="reverseQuote('@Model.GanjoorQuotedPoemViewModel.Id')" class="actionlink" title="درج معکوس">درج معکوس</a>
}
</td>
@ -532,7 +532,7 @@
<tr><td><hr /></td></tr>
<tr>
<td>
<a role="button" onclick="deleteThisOne('@Model.GanjoorQuotedPoem.Id')" class="actionlink" title="حذف">حذف <i class="noindent-info-button delete-icon"></i></a>
<a role="button" onclick="deleteThisOne('@Model.GanjoorQuotedPoemViewModel.Id')" class="actionlink" title="حذف">حذف <i class="noindent-info-button delete-icon"></i></a>
</td>
</tr>
</table>

View File

@ -44,9 +44,9 @@ namespace GanjooRazor.Areas.Admin.Pages
public Tuple<int, string>[] RelatedCouplets { get; set; }
[BindProperty]
public GanjoorQuotedPoem GanjoorQuotedPoem { get; set; }
public GanjoorQuotedPoemViewModel GanjoorQuotedPoemViewModel { get; set; }
public GanjoorQuotedPoem[] AllPoemQuoteds { get; set; }
public GanjoorQuotedPoemViewModel[] AllPoemQuoteds { get; set; }
public Guid? ReverseId { get; set; }
public bool DisplayAll { get; set; }
@ -130,10 +130,10 @@ namespace GanjooRazor.Areas.Admin.Pages
LastMessage = JsonConvert.DeserializeObject<string>(await quoteQuery.Content.ReadAsStringAsync());
return LastMessage;
}
GanjoorQuotedPoem = JObject.Parse(await quoteQuery.Content.ReadAsStringAsync()).ToObject<GanjoorQuotedPoem>();
if (GanjoorQuotedPoem.RelatedPoemId != null)
GanjoorQuotedPoemViewModel = JObject.Parse(await quoteQuery.Content.ReadAsStringAsync()).ToObject<GanjoorQuotedPoemViewModel>();
if (GanjoorQuotedPoemViewModel.RelatedPoemId != null)
{
var relPoemQuery = await _httpClient.GetAsync($"{APIRoot.Url}/api/ganjoor/poem/{GanjoorQuotedPoem.RelatedPoemId}");
var relPoemQuery = await _httpClient.GetAsync($"{APIRoot.Url}/api/ganjoor/poem/{GanjoorQuotedPoemViewModel.RelatedPoemId}");
if (!relPoemQuery.IsSuccessStatusCode)
{
LastMessage = JsonConvert.DeserializeObject<string>(await relPoemQuery.Content.ReadAsStringAsync());
@ -144,15 +144,15 @@ namespace GanjooRazor.Areas.Admin.Pages
RelatedCouplets = GetCouplets(RelatedPoem.Verses);
var revQuery = await _httpClient.GetAsync($"{APIRoot.Url}/api/ganjoor/poem/{GanjoorQuotedPoem.RelatedPoemId}/quoteds/{GanjoorQuotedPoem.PoemId}");
var revQuery = await _httpClient.GetAsync($"{APIRoot.Url}/api/ganjoor/poem/{GanjoorQuotedPoemViewModel.RelatedPoemId}/quoteds/{GanjoorQuotedPoemViewModel.PoemId}");
if (!revQuery.IsSuccessStatusCode)
{
LastMessage = JsonConvert.DeserializeObject<string>(await revQuery.Content.ReadAsStringAsync());
return LastMessage;
}
var revs = JsonConvert.DeserializeObject<GanjoorQuotedPoem[]>(await revQuery.Content.ReadAsStringAsync());
var rev = revs.Where(r => r.CoupletIndex == GanjoorQuotedPoem.RelatedCoupletIndex && r.RelatedCoupletIndex == GanjoorQuotedPoem.CoupletIndex).SingleOrDefault();
var revs = JsonConvert.DeserializeObject<GanjoorQuotedPoemViewModel[]>(await revQuery.Content.ReadAsStringAsync());
var rev = revs.Where(r => r.CoupletIndex == GanjoorQuotedPoemViewModel.RelatedCoupletIndex && r.RelatedCoupletIndex == GanjoorQuotedPoemViewModel.CoupletIndex).SingleOrDefault();
if (rev != null)
{
ReverseId = rev.Id;
@ -162,7 +162,7 @@ namespace GanjooRazor.Areas.Admin.Pages
}
else
{
GanjoorQuotedPoem = new GanjoorQuotedPoem()
GanjoorQuotedPoemViewModel = new GanjoorQuotedPoemViewModel()
{
PoemId = poemId,
PoetId = Poem.Category.Poet.Id,
@ -202,7 +202,7 @@ namespace GanjooRazor.Areas.Admin.Pages
LastMessage = JsonConvert.DeserializeObject<string>(await allQuery.Content.ReadAsStringAsync());
return LastMessage;
}
AllPoemQuoteds = JsonConvert.DeserializeObject<GanjoorQuotedPoem[]>(await allQuery.Content.ReadAsStringAsync());
AllPoemQuoteds = JsonConvert.DeserializeObject<GanjoorQuotedPoemViewModel[]>(await allQuery.Content.ReadAsStringAsync());
return LastMessage;
}
@ -229,7 +229,7 @@ namespace GanjooRazor.Areas.Admin.Pages
{
LastMessage = JsonConvert.DeserializeObject<string>(await allQuery.Content.ReadAsStringAsync());
}
AllPoemQuoteds = JsonConvert.DeserializeObject<GanjoorQuotedPoem[]>(await allQuery.Content.ReadAsStringAsync());
AllPoemQuoteds = JsonConvert.DeserializeObject<GanjoorQuotedPoemViewModel[]>(await allQuery.Content.ReadAsStringAsync());
return Page();
}
@ -245,8 +245,8 @@ namespace GanjooRazor.Areas.Admin.Pages
LastMessage = JsonConvert.DeserializeObject<string>(await quoteQuery.Content.ReadAsStringAsync());
return Page();
}
GanjoorQuotedPoem = JObject.Parse(await quoteQuery.Content.ReadAsStringAsync()).ToObject<GanjoorQuotedPoem>();
poemIdString = GanjoorQuotedPoem.PoemId.ToString();
GanjoorQuotedPoemViewModel = JObject.Parse(await quoteQuery.Content.ReadAsStringAsync()).ToObject<GanjoorQuotedPoemViewModel>();
poemIdString = GanjoorQuotedPoemViewModel.PoemId.ToString();
}
else
{
@ -263,17 +263,17 @@ namespace GanjooRazor.Areas.Admin.Pages
return Page();
}
public async Task<IActionResult> OnPostAsync(GanjoorQuotedPoem GanjoorQuotedPoem)
public async Task<IActionResult> OnPostAsync(GanjoorQuotedPoemViewModel GanjoorQuotedPoemViewModel)
{
try
{
await Prepare(GanjoorQuotedPoem.PoemId, GanjoorQuotedPoem.Id == Guid.Empty ? null : GanjoorQuotedPoem.Id.ToString());
GanjoorQuotedPoem.CoupletVerse1 = Poem.Verses.Where(v => v.CoupletIndex == GanjoorQuotedPoem.CoupletIndex).ToArray()[0].Text;
GanjoorQuotedPoem.CoupletVerse2 = Poem.Verses.Where(v => v.CoupletIndex == GanjoorQuotedPoem.CoupletIndex).ToArray()[1].Text;
if (GanjoorQuotedPoem.RelatedPoemId != null && RelatedPoem == null)
await Prepare(GanjoorQuotedPoemViewModel.PoemId, GanjoorQuotedPoemViewModel.Id == Guid.Empty ? null : GanjoorQuotedPoemViewModel.Id.ToString());
GanjoorQuotedPoemViewModel.CoupletVerse1 = Poem.Verses.Where(v => v.CoupletIndex == GanjoorQuotedPoemViewModel.CoupletIndex).ToArray()[0].Text;
GanjoorQuotedPoemViewModel.CoupletVerse2 = Poem.Verses.Where(v => v.CoupletIndex == GanjoorQuotedPoemViewModel.CoupletIndex).ToArray()[1].Text;
if (GanjoorQuotedPoemViewModel.RelatedPoemId != null && RelatedPoem == null)
{
var relPoemQuery = await _httpClient.GetAsync($"{APIRoot.Url}/api/ganjoor/poem/{GanjoorQuotedPoem.RelatedPoemId}");
var relPoemQuery = await _httpClient.GetAsync($"{APIRoot.Url}/api/ganjoor/poem/{GanjoorQuotedPoemViewModel.RelatedPoemId}");
if (!relPoemQuery.IsSuccessStatusCode)
{
LastMessage = JsonConvert.DeserializeObject<string>(await relPoemQuery.Content.ReadAsStringAsync());
@ -284,18 +284,18 @@ namespace GanjooRazor.Areas.Admin.Pages
RelatedCouplets = GetCouplets(RelatedPoem.Verses);
}
if (GanjoorQuotedPoem.RelatedCoupletIndex != null)
if (GanjoorQuotedPoemViewModel.RelatedCoupletIndex != null)
{
GanjoorQuotedPoem.RelatedCoupletVerse1 = RelatedPoem.Verses.Where(v => v.CoupletIndex == GanjoorQuotedPoem.RelatedCoupletIndex).ToArray()[0].Text;
GanjoorQuotedPoem.RelatedCoupletVerse2 = RelatedPoem.Verses.Where(v => v.CoupletIndex == GanjoorQuotedPoem.RelatedCoupletIndex).ToArray()[1].Text;
GanjoorQuotedPoemViewModel.RelatedCoupletVerse1 = RelatedPoem.Verses.Where(v => v.CoupletIndex == GanjoorQuotedPoemViewModel.RelatedCoupletIndex).ToArray()[0].Text;
GanjoorQuotedPoemViewModel.RelatedCoupletVerse2 = RelatedPoem.Verses.Where(v => v.CoupletIndex == GanjoorQuotedPoemViewModel.RelatedCoupletIndex).ToArray()[1].Text;
}
using (HttpClient secureClient = new HttpClient())
{
if (await GanjoorSessionChecker.PrepareClient(secureClient, Request, Response))
{
var url = $"{APIRoot.Url}/api/ganjoor/quoted";
var payload = new StringContent(JsonConvert.SerializeObject(GanjoorQuotedPoem), Encoding.UTF8, "application/json");
bool newRecord = GanjoorQuotedPoem.Id == Guid.Empty;
var payload = new StringContent(JsonConvert.SerializeObject(GanjoorQuotedPoemViewModel), Encoding.UTF8, "application/json");
bool newRecord = GanjoorQuotedPoemViewModel.Id == Guid.Empty;
HttpResponseMessage response =
newRecord ?
await secureClient.PostAsync(url, payload) :
@ -308,10 +308,10 @@ namespace GanjooRazor.Areas.Admin.Pages
{
if (newRecord)
{
GanjoorQuotedPoem = JObject.Parse(await response.Content.ReadAsStringAsync()).ToObject<GanjoorQuotedPoem>();
GanjoorQuotedPoemViewModel = JObject.Parse(await response.Content.ReadAsStringAsync()).ToObject<GanjoorQuotedPoemViewModel>();
}
LastMessage = $"انجام شد. <br /><a href=\"/Admin/SuggestQuoted/?p={GanjoorQuotedPoem.PoemId}&id={GanjoorQuotedPoem.Id}\">برگشت</a>";
LastMessage = $"انجام شد. <br /><a href=\"/Admin/SuggestQuoted/?p={GanjoorQuotedPoemViewModel.PoemId}&id={GanjoorQuotedPoemViewModel.Id}\">برگشت</a>";
}
}
@ -358,7 +358,7 @@ namespace GanjooRazor.Areas.Admin.Pages
{
return new BadRequestObjectResult(JsonConvert.DeserializeObject<string>(await quoteQuery.Content.ReadAsStringAsync()));
}
var quote = JObject.Parse(await quoteQuery.Content.ReadAsStringAsync()).ToObject<GanjoorQuotedPoem>();
var quote = JObject.Parse(await quoteQuery.Content.ReadAsStringAsync()).ToObject<GanjoorQuotedPoemViewModel>();
var poemQuery = await _httpClient.GetAsync($"{APIRoot.Url}/api/ganjoor/poem/{quote.PoemId}");
if (!poemQuery.IsSuccessStatusCode)
@ -368,7 +368,7 @@ namespace GanjooRazor.Areas.Admin.Pages
}
Poem = JObject.Parse(await poemQuery.Content.ReadAsStringAsync()).ToObject<GanjoorPoemCompleteViewModel>();
GanjoorQuotedPoem reverseRelation = new GanjoorQuotedPoem()
GanjoorQuotedPoemViewModel reverseRelation = new GanjoorQuotedPoemViewModel()
{
PoemId = (int)quote.RelatedPoemId,
PoetId = (int)quote.RelatedPoetId,
@ -418,7 +418,7 @@ namespace GanjooRazor.Areas.Admin.Pages
}
else
{
reverseRelation = JObject.Parse(await response.Content.ReadAsStringAsync()).ToObject<GanjoorQuotedPoem>();
reverseRelation = JObject.Parse(await response.Content.ReadAsStringAsync()).ToObject<GanjoorQuotedPoemViewModel>();
return new JsonResult($"/Admin/SuggestQuoted/?p={reverseRelation.PoemId}&id={reverseRelation.Id}");
}
}

View File

@ -107,11 +107,11 @@ namespace GanjooRazor.Pages
};
}
public _QuotedPoemPartialModel GetQuotedPoemModel(GanjoorQuotedPoem quotedPoem, GanjoorPageCompleteViewModel page, bool canEdit)
public _QuotedPoemPartialModel GetQuotedPoemModel(GanjoorQuotedPoemViewModel quotedPoem, GanjoorPageCompleteViewModel page, bool canEdit)
{
return new _QuotedPoemPartialModel()
{
GanjoorQuotedPoem = quotedPoem,
GanjoorQuotedPoemViewModel = quotedPoem,
PoetImageUrl = page.PoetOrCat.Poet.ImageUrl,
PoetNickName = page.PoetOrCat.Poet.Nickname,
CanEdit = canEdit,
@ -1148,7 +1148,7 @@ namespace GanjooRazor.Pages
if (!response.IsSuccessStatusCode)
return new BadRequestObjectResult(JsonConvert.DeserializeObject<string>(await response.Content.ReadAsStringAsync()));
var quoteds = JArray.Parse(await response.Content.ReadAsStringAsync()).ToObject<List<GanjoorQuotedPoem>>();
var quoteds = JArray.Parse(await response.Content.ReadAsStringAsync()).ToObject<List<GanjoorQuotedPoemViewModel>>();
if(!quoteds.Any())
{
return new BadRequestObjectResult("مورد دیگری یافت نشد.");
@ -1184,7 +1184,7 @@ namespace GanjooRazor.Pages
if (!response.IsSuccessStatusCode)
return new BadRequestObjectResult(JsonConvert.DeserializeObject<string>(await response.Content.ReadAsStringAsync()));
var quoteds = JArray.Parse(await response.Content.ReadAsStringAsync()).ToObject<List<GanjoorQuotedPoem>>();
var quoteds = JArray.Parse(await response.Content.ReadAsStringAsync()).ToObject<List<GanjoorQuotedPoemViewModel>>();
return new PartialViewResult()
{

View File

@ -1,11 +1,11 @@
using Microsoft.AspNetCore.Mvc.RazorPages;
using RMuseum.Models.Ganjoor;
using RMuseum.Models.Ganjoor.ViewModels;
namespace GanjooRazor.Pages
{
public class _MultipleQuotedPoemsPartialModel : PageModel
{
public GanjoorQuotedPoem[] GanjoorQuotedPoems { get; set; }
public GanjoorQuotedPoemViewModel[] GanjoorQuotedPoems { get; set; }
public string PoetImageUrl { get; set; }
@ -13,11 +13,11 @@ namespace GanjooRazor.Pages
public bool CanEdit { get; set; }
public _QuotedPoemPartialModel GetQuotedPoemModel(GanjoorQuotedPoem quotedPoem, string poetImageUrl, string poetNickName)
public _QuotedPoemPartialModel GetQuotedPoemModel(GanjoorQuotedPoemViewModel quotedPoem, string poetImageUrl, string poetNickName)
{
return new _QuotedPoemPartialModel()
{
GanjoorQuotedPoem = quotedPoem,
GanjoorQuotedPoemViewModel = quotedPoem,
PoetImageUrl = poetImageUrl,
PoetNickName = poetNickName,
CanEdit = CanEdit,

View File

@ -5,78 +5,78 @@
}
<div class="@Model.BlockClass">
@if(Model.GanjoorQuotedPoem.ClaimedByBothPoets)
@if(Model.GanjoorQuotedPoemViewModel.ClaimedByBothPoets)
{
<div class="ribbon">منتسب به هر دو سخنور</div>
}
@if (Model.GanjoorQuotedPoem.IsPriorToRelated)
@if (Model.GanjoorQuotedPoemViewModel.IsPriorToRelated)
{
<div class="poet-pic-wrap">
<img src="@(GanjooRazor.APIRoot.InternetUrl + Model.PoetImageUrl)" alt="@Model.PoetNickName">
</div>
<div class="simitext">
<p>
<a href="#bn@(Model.GanjoorQuotedPoem.CoupletIndex + 1)">
<a href="#bn@(Model.GanjoorQuotedPoemViewModel.CoupletIndex + 1)">
<strong>
همین شعر » بیت @((Model.GanjoorQuotedPoem.CoupletIndex + 1).ToPersianNumbers())
همین شعر » بیت @((Model.GanjoorQuotedPoemViewModel.CoupletIndex + 1).ToPersianNumbers())
</strong>
</a>
</p>
<p>
@if (Model.GanjoorQuotedPoem.CoupletVerse1ShouldBeEmphasized)
@if (Model.GanjoorQuotedPoemViewModel.CoupletVerse1ShouldBeEmphasized)
{
<strong>@Model.GanjoorQuotedPoem.CoupletVerse1</strong>
<strong>@Model.GanjoorQuotedPoemViewModel.CoupletVerse1</strong>
}
else
{
@Model.GanjoorQuotedPoem.CoupletVerse1
@Model.GanjoorQuotedPoemViewModel.CoupletVerse1
}
</p>
<p>
@if (Model.GanjoorQuotedPoem.CoupletVerse2ShouldBeEmphasized)
@if (Model.GanjoorQuotedPoemViewModel.CoupletVerse2ShouldBeEmphasized)
{
<strong>@Model.GanjoorQuotedPoem.CoupletVerse2</strong>
<strong>@Model.GanjoorQuotedPoemViewModel.CoupletVerse2</strong>
}
else
{
@Model.GanjoorQuotedPoem.CoupletVerse2
@Model.GanjoorQuotedPoemViewModel.CoupletVerse2
}
</p>
</div>
<div class="poet-pic-wrap">
@if(string.IsNullOrEmpty(Model.GanjoorQuotedPoem.CachedRelatedPoemPoetImage))
@if(string.IsNullOrEmpty(Model.GanjoorQuotedPoemViewModel.CachedRelatedPoemPoetImage))
{
<img src="/image/unknown.gif" alt="@Model.GanjoorQuotedPoem.CachedRelatedPoemPoetName" />
<img src="/image/unknown.gif" alt="@Model.GanjoorQuotedPoemViewModel.CachedRelatedPoemPoetName" />
}
else
{
<a href="@Html.Raw(Model.GanjoorQuotedPoem.CachedRelatedPoemFullUrl)"><img src="@(GanjooRazor.APIRoot.InternetUrl + Model.GanjoorQuotedPoem.CachedRelatedPoemPoetImage)" alt="@Model.GanjoorQuotedPoem.CachedRelatedPoemPoetName"></a>
<a href="@Html.Raw(Model.GanjoorQuotedPoemViewModel.CachedRelatedPoemFullUrl)"><img src="@(GanjooRazor.APIRoot.InternetUrl + Model.GanjoorQuotedPoemViewModel.CachedRelatedPoemPoetImage)" alt="@Model.GanjoorQuotedPoemViewModel.CachedRelatedPoemPoetName"></a>
}
</div>
<div class="inlinesimi-poem-title">
@if (string.IsNullOrEmpty(Model.GanjoorQuotedPoem.CachedRelatedPoemFullUrl))
@if (string.IsNullOrEmpty(Model.GanjoorQuotedPoemViewModel.CachedRelatedPoemFullUrl))
{
<strong>
@Model.GanjoorQuotedPoem.CachedRelatedPoemFullTitle
@Model.GanjoorQuotedPoemViewModel.CachedRelatedPoemFullTitle
</strong>
}
else if (Model.GanjoorQuotedPoem.RelatedCoupletIndex != null)
else if (Model.GanjoorQuotedPoemViewModel.RelatedCoupletIndex != null)
{
<a href="@Html.Raw(Model.GanjoorQuotedPoem.CachedRelatedPoemFullUrl)#bn@(Model.GanjoorQuotedPoem.RelatedCoupletIndex + 1)">
@(Model.GanjoorQuotedPoem.CachedRelatedPoemFullTitle + " » بیت " + ((Model.GanjoorQuotedPoem.RelatedCoupletIndex + 1).ToPersianNumbers()))
<a href="@Html.Raw(Model.GanjoorQuotedPoemViewModel.CachedRelatedPoemFullUrl)#bn@(Model.GanjoorQuotedPoemViewModel.RelatedCoupletIndex + 1)">
@(Model.GanjoorQuotedPoemViewModel.CachedRelatedPoemFullTitle + " » بیت " + ((Model.GanjoorQuotedPoemViewModel.RelatedCoupletIndex + 1).ToPersianNumbers()))
</a>
}
else
{
<a href="@Html.Raw(Model.GanjoorQuotedPoem.CachedRelatedPoemFullUrl)">
@Model.GanjoorQuotedPoem.CachedRelatedPoemFullTitle
<a href="@Html.Raw(Model.GanjoorQuotedPoemViewModel.CachedRelatedPoemFullUrl)">
@Model.GanjoorQuotedPoemViewModel.CachedRelatedPoemFullTitle
</a>
}
@ -84,23 +84,23 @@
<div class="simitext">
<p>
@if (Model.GanjoorQuotedPoem.RelatedCoupletVerse1ShouldBeEmphasized)
@if (Model.GanjoorQuotedPoemViewModel.RelatedCoupletVerse1ShouldBeEmphasized)
{
<strong>@Model.GanjoorQuotedPoem.RelatedCoupletVerse1</strong>
<strong>@Model.GanjoorQuotedPoemViewModel.RelatedCoupletVerse1</strong>
}
else
{
@Model.GanjoorQuotedPoem.RelatedCoupletVerse1
@Model.GanjoorQuotedPoemViewModel.RelatedCoupletVerse1
}
</p>
<p>
@if (Model.GanjoorQuotedPoem.RelatedCoupletVerse2ShouldBeEmphasized)
@if (Model.GanjoorQuotedPoemViewModel.RelatedCoupletVerse2ShouldBeEmphasized)
{
<strong>@Model.GanjoorQuotedPoem.RelatedCoupletVerse2</strong>
<strong>@Model.GanjoorQuotedPoemViewModel.RelatedCoupletVerse2</strong>
}
else
{
@Model.GanjoorQuotedPoem.RelatedCoupletVerse2
@Model.GanjoorQuotedPoemViewModel.RelatedCoupletVerse2
}
</p>
</div>
@ -108,32 +108,32 @@
else
{
<div class="poet-pic-wrap">
@if (string.IsNullOrEmpty(Model.GanjoorQuotedPoem.CachedRelatedPoemPoetImage))
@if (string.IsNullOrEmpty(Model.GanjoorQuotedPoemViewModel.CachedRelatedPoemPoetImage))
{
<img src="/image/unknown.gif" alt="@Model.GanjoorQuotedPoem.CachedRelatedPoemPoetName" />
<img src="/image/unknown.gif" alt="@Model.GanjoorQuotedPoemViewModel.CachedRelatedPoemPoetName" />
}
else
{
<a href="@Html.Raw(Model.GanjoorQuotedPoem.CachedRelatedPoemFullUrl)"><img src="@(GanjooRazor.APIRoot.InternetUrl + Model.GanjoorQuotedPoem.CachedRelatedPoemPoetImage)" alt="@Model.GanjoorQuotedPoem.CachedRelatedPoemPoetName"></a>
<a href="@Html.Raw(Model.GanjoorQuotedPoemViewModel.CachedRelatedPoemFullUrl)"><img src="@(GanjooRazor.APIRoot.InternetUrl + Model.GanjoorQuotedPoemViewModel.CachedRelatedPoemPoetImage)" alt="@Model.GanjoorQuotedPoemViewModel.CachedRelatedPoemPoetName"></a>
}
</div>
<div class="inlinesimi-poem-title">
@if (string.IsNullOrEmpty(Model.GanjoorQuotedPoem.CachedRelatedPoemFullUrl))
@if (string.IsNullOrEmpty(Model.GanjoorQuotedPoemViewModel.CachedRelatedPoemFullUrl))
{
<strong>
@Model.GanjoorQuotedPoem.CachedRelatedPoemFullTitle
@Model.GanjoorQuotedPoemViewModel.CachedRelatedPoemFullTitle
</strong>
}
else if (Model.GanjoorQuotedPoem.RelatedCoupletIndex != null)
else if (Model.GanjoorQuotedPoemViewModel.RelatedCoupletIndex != null)
{
<a href="@Html.Raw(Model.GanjoorQuotedPoem.CachedRelatedPoemFullUrl)#bn@(Model.GanjoorQuotedPoem.RelatedCoupletIndex + 1)">
@(Model.GanjoorQuotedPoem.CachedRelatedPoemFullTitle + " » بیت " + ((Model.GanjoorQuotedPoem.RelatedCoupletIndex + 1).ToPersianNumbers()))
<a href="@Html.Raw(Model.GanjoorQuotedPoemViewModel.CachedRelatedPoemFullUrl)#bn@(Model.GanjoorQuotedPoemViewModel.RelatedCoupletIndex + 1)">
@(Model.GanjoorQuotedPoemViewModel.CachedRelatedPoemFullTitle + " » بیت " + ((Model.GanjoorQuotedPoemViewModel.RelatedCoupletIndex + 1).ToPersianNumbers()))
</a>
}
else
{
<a href="@Html.Raw(Model.GanjoorQuotedPoem.CachedRelatedPoemFullUrl)">
@Model.GanjoorQuotedPoem.CachedRelatedPoemFullTitle
<a href="@Html.Raw(Model.GanjoorQuotedPoemViewModel.CachedRelatedPoemFullUrl)">
@Model.GanjoorQuotedPoemViewModel.CachedRelatedPoemFullTitle
</a>
}
@ -141,23 +141,23 @@
<div class="simitext">
<p>
@if (Model.GanjoorQuotedPoem.RelatedCoupletVerse1ShouldBeEmphasized)
@if (Model.GanjoorQuotedPoemViewModel.RelatedCoupletVerse1ShouldBeEmphasized)
{
<strong>@Model.GanjoorQuotedPoem.RelatedCoupletVerse1</strong>
<strong>@Model.GanjoorQuotedPoemViewModel.RelatedCoupletVerse1</strong>
}
else
{
@Model.GanjoorQuotedPoem.RelatedCoupletVerse1
@Model.GanjoorQuotedPoemViewModel.RelatedCoupletVerse1
}
</p>
<p>
@if (Model.GanjoorQuotedPoem.RelatedCoupletVerse2ShouldBeEmphasized)
@if (Model.GanjoorQuotedPoemViewModel.RelatedCoupletVerse2ShouldBeEmphasized)
{
<strong>@Model.GanjoorQuotedPoem.RelatedCoupletVerse2</strong>
<strong>@Model.GanjoorQuotedPoemViewModel.RelatedCoupletVerse2</strong>
}
else
{
@Model.GanjoorQuotedPoem.RelatedCoupletVerse2
@Model.GanjoorQuotedPoemViewModel.RelatedCoupletVerse2
}
</p>
</div>
@ -167,33 +167,33 @@
</div>
<div class="simitext">
<p>
<a href="#bn@(Model.GanjoorQuotedPoem.CoupletIndex + 1)">
<a href="#bn@(Model.GanjoorQuotedPoemViewModel.CoupletIndex + 1)">
<strong>
همین شعر » بیت @((Model.GanjoorQuotedPoem.CoupletIndex + 1).ToPersianNumbers())
همین شعر » بیت @((Model.GanjoorQuotedPoemViewModel.CoupletIndex + 1).ToPersianNumbers())
</strong>
</a>
</p>
<p>
@if (Model.GanjoorQuotedPoem.CoupletVerse1ShouldBeEmphasized)
@if (Model.GanjoorQuotedPoemViewModel.CoupletVerse1ShouldBeEmphasized)
{
<strong>@Model.GanjoorQuotedPoem.CoupletVerse1</strong>
<strong>@Model.GanjoorQuotedPoemViewModel.CoupletVerse1</strong>
}
else
{
@Model.GanjoorQuotedPoem.CoupletVerse1
@Model.GanjoorQuotedPoemViewModel.CoupletVerse1
}
</p>
<p>
@if (Model.GanjoorQuotedPoem.CoupletVerse2ShouldBeEmphasized)
@if (Model.GanjoorQuotedPoemViewModel.CoupletVerse2ShouldBeEmphasized)
{
<strong>@Model.GanjoorQuotedPoem.CoupletVerse2</strong>
<strong>@Model.GanjoorQuotedPoemViewModel.CoupletVerse2</strong>
}
else
{
@Model.GanjoorQuotedPoem.CoupletVerse2
@Model.GanjoorQuotedPoemViewModel.CoupletVerse2
}
</p>
@ -202,12 +202,12 @@
}
@if (Model.GanjoorQuotedPoem.ChosenForMainList && Model.GanjoorQuotedPoem.SamePoemsQuotedCount > 1)
@if (Model.GanjoorQuotedPoemViewModel.ChosenForMainList && Model.GanjoorQuotedPoemViewModel.SamePoemsQuotedCount > 1)
{
<a role="button" class="pagebutton" id="@($"load-more-quoted-button-{Model.GanjoorQuotedPoem.Id}")" onclick="loadMoreQuotedForRelatedPoem('@Model.GanjoorQuotedPoem.Id', @Model.GanjoorQuotedPoem.PoemId, @Model.GanjoorQuotedPoem.RelatedPoemId, '@Model.PoetImageUrl', '@Model.PoetNickName', @Model.CanEdit.ToString().ToLower())">مشاهدهٔ @((Model.GanjoorQuotedPoem.SamePoemsQuotedCount - 1).ToPersianNumbers()) نقل قول دیگر در همین شعر<i class="info-buttons autorenew"></i></a>
<a role="button" class="pagebutton" id="@($"load-more-quoted-button-{Model.GanjoorQuotedPoemViewModel.Id}")" onclick="loadMoreQuotedForRelatedPoem('@Model.GanjoorQuotedPoemViewModel.Id', @Model.GanjoorQuotedPoemViewModel.PoemId, @Model.GanjoorQuotedPoemViewModel.RelatedPoemId, '@Model.PoetImageUrl', '@Model.PoetNickName', @Model.CanEdit.ToString().ToLower())">مشاهدهٔ @((Model.GanjoorQuotedPoemViewModel.SamePoemsQuotedCount - 1).ToPersianNumbers()) نقل قول دیگر در همین شعر<i class="info-buttons autorenew"></i></a>
}
@if (Model.GanjoorQuotedPoem.ClaimedByBothPoets)
@if (Model.GanjoorQuotedPoemViewModel.ClaimedByBothPoets)
{
<div class="century-alt">
<a href="/faq?id=7">چطور یک شعر می‌تواند به چند شاعر منتسب باشد؟</a>
@ -215,10 +215,10 @@
}
@if(!string.IsNullOrEmpty(Model.GanjoorQuotedPoem.Note))
@if(!string.IsNullOrEmpty(Model.GanjoorQuotedPoemViewModel.Note))
{
<div class="notice">
@Html.Raw(Model.GanjoorQuotedPoem.Note)
@Html.Raw(Model.GanjoorQuotedPoemViewModel.Note)
</div>
}
@ -226,14 +226,14 @@
@if (Model.CanEdit)
{
<a href="/Admin/SuggestQuoted/?p=@Model.GanjoorQuotedPoem.PoemId&id=@Model.GanjoorQuotedPoem.Id" class="pagebutton comments-link">ویرایش</a>
<a href="/Admin/SuggestQuoted/?p=@Model.GanjoorQuotedPoemViewModel.PoemId&id=@Model.GanjoorQuotedPoemViewModel.Id" class="pagebutton comments-link">ویرایش</a>
}
</div>
@if (Model.GanjoorQuotedPoem.ChosenForMainList && Model.GanjoorQuotedPoem.SamePoemsQuotedCount > 1)
@if (Model.GanjoorQuotedPoemViewModel.ChosenForMainList && Model.GanjoorQuotedPoemViewModel.SamePoemsQuotedCount > 1)
{
<div id=@($"more-quoted-placeholder-{Model.GanjoorQuotedPoem.Id}")></div>
<div id=@($"more-quoted-placeholder-{Model.GanjoorQuotedPoemViewModel.Id}")></div>
}

View File

@ -1,18 +1,18 @@
using Microsoft.AspNetCore.Mvc.RazorPages;
using RMuseum.Models.Ganjoor;
using RMuseum.Models.Ganjoor.ViewModels;
namespace GanjooRazor.Pages
{
public class _QuotedPoemPartialModel : PageModel
{
public GanjoorQuotedPoem GanjoorQuotedPoem { get; set; }
public GanjoorQuotedPoemViewModel GanjoorQuotedPoemViewModel { get; set; }
public string PoetImageUrl { get; set; }
public string PoetNickName { get; set; }
public string BlockClass
{
get
{
return GanjoorQuotedPoem.ClaimedByBothPoets ? "inlinesimi ribbon-parent" : "inlinesimi";
return GanjoorQuotedPoemViewModel.ClaimedByBothPoets ? "inlinesimi ribbon-parent" : "inlinesimi";
}
}
public bool CanEdit { get; set; }