diff --git a/RMuseum/Services/Implementation/GanjoorService-Partials/GanjoorService-SQLiteImport.cs b/RMuseum/Services/Implementation/GanjoorService-Partials/GanjoorService-SQLiteImport.cs index ce30e120..d95055b7 100644 --- a/RMuseum/Services/Implementation/GanjoorService-Partials/GanjoorService-SQLiteImport.cs +++ b/RMuseum/Services/Implementation/GanjoorService-Partials/GanjoorService-SQLiteImport.cs @@ -505,7 +505,7 @@ namespace RMuseum.Services.Implementation /// /// /// - private static string PrepareHtmlText(List verses) + public static string PrepareHtmlText(List verses) { string htmlText = ""; int coupletIndex = 0; diff --git a/TajikGanjoor/Pages/Index.cshtml b/TajikGanjoor/Pages/Index.cshtml index 4257a7bc..876fd761 100644 --- a/TajikGanjoor/Pages/Index.cshtml +++ b/TajikGanjoor/Pages/Index.cshtml @@ -21,21 +21,21 @@ { @foreach (var poet in Model.Poets) { -

@poet.TajikNickName

+

@poet.Nickname

} } @if (Model.IsPoetPage) {

- @Model.GanjoorPage.PoetOrCat.Poet.TajikDescription + @Model.GanjoorPage.PoetOrCat.Poet.Description

} - @if (Model.IsCatPage && !string.IsNullOrEmpty(@Model.GanjoorPage.PoetOrCat.Cat.TajikDescription)) + @if (Model.IsCatPage && !string.IsNullOrEmpty(@Model.GanjoorPage.PoetOrCat.Cat.Description)) {

- @Model.GanjoorPage.PoetOrCat.Cat.TajikDescription + @Model.GanjoorPage.PoetOrCat.Cat.Description

} @@ -44,13 +44,13 @@ @foreach (var cat in Model.GanjoorPage.PoetOrCat.Cat.Children) {

- @cat.TajikTitle + @cat.Title

} @foreach (var poem in Model.GanjoorPage.PoetOrCat.Cat.Poems) {

- @poem.TajikTitle + @poem.Title

} } diff --git a/TajikGanjoor/Pages/Index.cshtml.cs b/TajikGanjoor/Pages/Index.cshtml.cs index 2129ae28..0e6c8106 100644 --- a/TajikGanjoor/Pages/Index.cshtml.cs +++ b/TajikGanjoor/Pages/Index.cshtml.cs @@ -94,8 +94,8 @@ namespace TajikGanjoor.Pages else if (IsPoetPage) { - ViewData["Title"] = $"Ганҷур - {GanjoorPage?.PoetOrCat.Poet.TajikNickName}"; - BreadCrumpUrls += $" - {GanjoorPage?.PoetOrCat.Poet.TajikNickName}"; + ViewData["Title"] = $"Ганҷур - {GanjoorPage?.PoetOrCat.Poet.Nickname}"; + BreadCrumpUrls += $" - {GanjoorPage?.PoetOrCat.Poet.Nickname}"; } else if (IsCatPage || IsPoemPage) @@ -103,15 +103,15 @@ namespace TajikGanjoor.Pages string title = $"Ганҷур - "; foreach (var gran in GanjoorPage.PoetOrCat.Cat.Ancestors) { - title += $"{gran.TajikTitle} - "; - BreadCrumpUrls += $" - {gran.TajikTitle}"; + title += $"{gran.Title} - "; + BreadCrumpUrls += $" - {gran.Title}"; } - title += GanjoorPage.PoetOrCat.Cat.TajikTitle; - BreadCrumpUrls += $" - {GanjoorPage?.PoetOrCat.Cat.TajikTitle}"; + title += GanjoorPage.PoetOrCat.Cat.Title; + BreadCrumpUrls += $" - {GanjoorPage?.PoetOrCat.Cat.Title}"; if (IsPoemPage) { - title += GanjoorPage.Poem.TajikTitle; - BreadCrumpUrls += $" - {GanjoorPage?.Poem.TajikTitle}"; + title += GanjoorPage.Poem.Title; + BreadCrumpUrls += $" - {GanjoorPage?.Poem.Title}"; } ViewData["Title"] = title; } @@ -122,19 +122,38 @@ namespace TajikGanjoor.Pages private async Task PreparePoetsAsync() { var cacheKey = $"/api/ganjoor/poets"; - if (!_memoryCache.TryGetValue(cacheKey, out List? poets)) + if (!_memoryCache.TryGetValue(cacheKey, out List? ganjoorPoets)) { try { - var response = await _httpClient.GetAsync($"{APIRoot.Url}/api/ganjoor/poets"); + var res1 = await _httpClient.GetAsync($"{APIRoot.Url}/api/ganjoor/poets"); + if (!res1.IsSuccessStatusCode) + { + LastError = JsonConvert.DeserializeObject(await res1.Content.ReadAsStringAsync()) ?? "!res1.IsSuccessStatusCode"; + return false; + } + ganjoorPoets = JArray.Parse(await res1.Content.ReadAsStringAsync()).ToObject>(); + ganjoorPoets = ganjoorPoets ?? []; + + var response = await _httpClient.GetAsync($"{APIRoot.Url}/api/ganjoor/tajik/poets"); if (!response.IsSuccessStatusCode) { LastError = JsonConvert.DeserializeObject(await response.Content.ReadAsStringAsync()) ?? "!response.IsSuccessStatusCode"; return false; } - poets = JArray.Parse(await response.Content.ReadAsStringAsync()).ToObject>(); - poets = poets ?? []; - poets = poets.Where(p => !string.IsNullOrWhiteSpace(p.TajikNickName)).ToList(); + var tajkPoets = JArray.Parse(await response.Content.ReadAsStringAsync()).ToObject>(); + + List poets = new List(); + foreach (var tajikPoet in tajkPoets) + { + var poet = ganjoorPoets.Where(p => p.Id == tajikPoet.Id).Single(); + poet.Nickname = tajikPoet.TajikNickname; + poet.Description = tajikPoet.TajikDescription; + poets.Add(poet); + + } + Poets = poets; + if (AggressiveCacheEnabled) { _memoryCache.Set(cacheKey, poets); @@ -148,7 +167,7 @@ namespace TajikGanjoor.Pages } - Poets = poets ?? []; + Poets = ganjoorPoets ?? []; return true; } private void PrepareNextPre() @@ -228,49 +247,49 @@ namespace TajikGanjoor.Pages coupletIndex++; if (((vIndex + 1) < verses.Count) && (verses[vIndex + 1].VersePosition == VersePosition.CenteredVerse2)) { - htmlText += $"

{v.Tajik}

{Environment.NewLine}"; + htmlText += $"

{v.Text}

{Environment.NewLine}"; } else { - htmlText += $"

{v.Tajik}

{Environment.NewLine}"; + htmlText += $"

{v.Text}

{Environment.NewLine}"; } } else if (v.VersePosition == VersePosition.CenteredVerse2) { - htmlText += $"

{v.Tajik}

{Environment.NewLine}"; + htmlText += $"

{v.Text}

{Environment.NewLine}"; } else if (v.VersePosition == VersePosition.Right) { coupletIndex++; - htmlText += $"

{v.Tajik}

{Environment.NewLine}"; + htmlText += $"

{v.Text}

{Environment.NewLine}"; } else if (v.VersePosition == VersePosition.Left) { - htmlText += $"

{v.Tajik}

{Environment.NewLine}"; + htmlText += $"

{v.Text}

{Environment.NewLine}"; } else if (v.VersePosition == VersePosition.Comment) { - htmlText += $"

{v.Tajik}

{Environment.NewLine}"; + htmlText += $"

{v.Text}

{Environment.NewLine}"; } else if (v.VersePosition == VersePosition.Paragraph || v.VersePosition == VersePosition.Single) { coupletIndex++; - string[] lines = v.Tajik.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); + string[] lines = v.Text.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); string cssClass = v.VersePosition == VersePosition.Paragraph ? "n" : "l"; if (lines.Length != 0) { - if (v.Tajik.Length / lines.Length < 150) + if (v.Text.Length / lines.Length < 150) { - htmlText += $"

{v.Tajik.Replace("\r\n", " ")}

{Environment.NewLine}"; + htmlText += $"

{v.Text.Replace("\r\n", " ")}

{Environment.NewLine}"; } else { @@ -280,13 +299,13 @@ namespace TajikGanjoor.Pages } else { - if (string.IsNullOrEmpty(v.Tajik)) + if (string.IsNullOrEmpty(v.Text)) { htmlText += $"

 

{Environment.NewLine}";//empty line! } else { - htmlText += $"

{v.Tajik}

{Environment.NewLine}";//not brave enough to ignore it! + htmlText += $"

{v.Text}

{Environment.NewLine}";//not brave enough to ignore it! } }