diff --git a/GanjooRazor/Pages/AudioClip.cshtml b/GanjooRazor/Pages/AudioClip.cshtml index 12530547..16fa7e09 100644 --- a/GanjooRazor/Pages/AudioClip.cshtml +++ b/GanjooRazor/Pages/AudioClip.cshtml @@ -36,7 +36,7 @@

- @for(int i = 1; i< Model.Poem.Category.Cat.Ancestors.Count; i++) + @for (int i = 1; i < Model.Poem.Category.Cat.Ancestors.Count; i++) { @Model.Poem.Category.Cat.Ancestors.ElementAt(i).Title » @@ -135,7 +135,7 @@

- فایل صوتی متناظر را می‌توانید در قالب mp3 از این نشانی (اندازه @Html.Raw( $"{(Model.Recitation.Mp3SizeInBytes / (1024.0*1024.0)):0.00}".ToPersianNumbers()) مگابایت) دریافت کنید. + فایل صوتی متناظر را می‌توانید در قالب mp3 از این نشانی (اندازه @Html.Raw($"{(Model.Recitation.Mp3SizeInBytes / (1024.0 * 1024.0)):0.00}".ToPersianNumbers()) مگابایت) دریافت کنید.

@@ -149,8 +149,8 @@ + + @if (!string.IsNullOrEmpty(ViewData["GoogleAnalyticsCode"].ToString())) + { + + } \ No newline at end of file diff --git a/GanjooRazor/Pages/AudioClip.cshtml.cs b/GanjooRazor/Pages/AudioClip.cshtml.cs index 7c062860..4cff1d5f 100644 --- a/GanjooRazor/Pages/AudioClip.cshtml.cs +++ b/GanjooRazor/Pages/AudioClip.cshtml.cs @@ -2,6 +2,7 @@ using System.Net.Http; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; +using Microsoft.Extensions.Configuration; using Newtonsoft.Json; using RMuseum.Models.Ganjoor.ViewModels; using RMuseum.Models.GanjoorAudio.ViewModels; @@ -15,13 +16,21 @@ namespace GanjooRazor.Pages /// private readonly HttpClient _httpClient; + ///

+ /// configration file reader (appsettings.json) + /// + private readonly IConfiguration _configuration; + + /// /// constructor /// /// - public AudioClipModel(HttpClient httpClient) + /// + public AudioClipModel(HttpClient httpClient, IConfiguration configuration) { _httpClient = httpClient; + _configuration = configuration; } /// @@ -41,6 +50,8 @@ namespace GanjooRazor.Pages return BadRequest(); } + ViewData["GoogleAnalyticsCode"] = _configuration["GoogleAnalyticsCode"]; + var response = await _httpClient.GetAsync($"{APIRoot.Url}/api/audio/published/{Request.Query["a"]}"); response.EnsureSuccessStatusCode(); diff --git a/GanjooRazor/Pages/Search.cshtml b/GanjooRazor/Pages/Search.cshtml index b544cc7d..ab4f593e 100644 --- a/GanjooRazor/Pages/Search.cshtml +++ b/GanjooRazor/Pages/Search.cshtml @@ -124,24 +124,24 @@ @if (Model.Poems == null) { -
-

شعری با مشخصات مورد نظر شما پیدا نشد.

-

- توصیه‌هایی برای دستیابی به نتیجهٔ مطلوبتر در جستجو: -

-

- الف) به جای جستجوی متن کامل یک بیت بهتر است حروف کلیدی آن را وارد کنید. از آنجا که اشعار به صورتهای مختلف در نسخه‌های متفاوت نقل شده‌اند ممکن است چیزی که شما در ذهن دارید با چیزی که در پایگاه ما ثبت شده متفاوت باشد. به عنوان نمونه مصرع «کشتی شکستگانیم ای باد شرطه برخیز» از حافظ در بعضی از نسخه‌ها به صورت «کشتی نشستگانیم ای باد شرطه برخیز» ضبط شده و شما با تایپ صورت صورت دوم آن را در گنجور نخواهید یافت. بهتر است برای یافتن این شعر کلماتی مانند کشتی و شرطه را جستجو کنیم. -

-

- ب) کلماتی را که ممکن است به صورت جدا یا سر هم نوشته شوند در گام اول به صورت جدا امتحان کنید (می شود و نه میشود یا می‌شود). -

-

- ج) در صورتی که نام شاعر را می‌دانید بهتر است از طریق لیست بازشوی جلوی جعبهٔ جستجو نام او را انتخاب کنید. این توصیه برای زمانی مناسب است که جستجوی عبارت مورد نظر شما باعث می‌شود آثار شاعرانی که مورد نظر شما نیستند در صدر نتایج قرار گیرد و به این وسیله شما می‌خواهید به فهرست محدودتری از نتایج دست پیدا کنید. -

-

- د) در صورتی که با فنون اولیهٔ جستجو آشنا نیستید یا معمولاً جستجوهایتان به نتیجهٔ مطلوب نمی‌رسد بد نیست نگاهی به این نوشته بیندازید. -

-
+
+

شعری با مشخصات مورد نظر شما پیدا نشد.

+

+ توصیه‌هایی برای دستیابی به نتیجهٔ مطلوبتر در جستجو: +

+

+ الف) به جای جستجوی متن کامل یک بیت بهتر است حروف کلیدی آن را وارد کنید. از آنجا که اشعار به صورتهای مختلف در نسخه‌های متفاوت نقل شده‌اند ممکن است چیزی که شما در ذهن دارید با چیزی که در پایگاه ما ثبت شده متفاوت باشد. به عنوان نمونه مصرع «کشتی شکستگانیم ای باد شرطه برخیز» از حافظ در بعضی از نسخه‌ها به صورت «کشتی نشستگانیم ای باد شرطه برخیز» ضبط شده و شما با تایپ صورت صورت دوم آن را در گنجور نخواهید یافت. بهتر است برای یافتن این شعر کلماتی مانند کشتی و شرطه را جستجو کنیم. +

+

+ ب) کلماتی را که ممکن است به صورت جدا یا سر هم نوشته شوند در گام اول به صورت جدا امتحان کنید (می شود و نه میشود یا می‌شود). +

+

+ ج) در صورتی که نام شاعر را می‌دانید بهتر است از طریق لیست بازشوی جلوی جعبهٔ جستجو نام او را انتخاب کنید. این توصیه برای زمانی مناسب است که جستجوی عبارت مورد نظر شما باعث می‌شود آثار شاعرانی که مورد نظر شما نیستند در صدر نتایج قرار گیرد و به این وسیله شما می‌خواهید به فهرست محدودتری از نتایج دست پیدا کنید. +

+

+ د) در صورتی که با فنون اولیهٔ جستجو آشنا نیستید یا معمولاً جستجوهایتان به نتیجهٔ مطلوب نمی‌رسد بد نیست نگاهی به این نوشته بیندازید. +

+
} else foreach (var poem in Model.Poems) @@ -184,6 +184,22 @@ + @if (!string.IsNullOrEmpty(ViewData["GoogleAnalyticsCode"].ToString())) + { + + } + diff --git a/GanjooRazor/Pages/Search.cshtml.cs b/GanjooRazor/Pages/Search.cshtml.cs index 4a6d9593..93c32c4b 100644 --- a/GanjooRazor/Pages/Search.cshtml.cs +++ b/GanjooRazor/Pages/Search.cshtml.cs @@ -12,6 +12,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.Extensions.Caching.Memory; +using Microsoft.Extensions.Configuration; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using RMuseum.Models.Auth.Memory; @@ -36,14 +37,23 @@ namespace GanjooRazor.Pages ///
private readonly IMemoryCache _memoryCache; + /// + /// configration file reader (appsettings.json) + /// + private readonly IConfiguration _configuration; + + /// /// constructor /// /// - public SearchModel(HttpClient httpClient, IMemoryCache memoryCache) + /// + /// + public SearchModel(HttpClient httpClient, IMemoryCache memoryCache, IConfiguration configuration) { _httpClient = httpClient; _memoryCache = memoryCache; + _configuration = configuration; } public List Poets { get; set; } @@ -100,6 +110,8 @@ namespace GanjooRazor.Pages PoetId = string.IsNullOrEmpty(Request.Query["author"]) ? 0 : int.Parse(Request.Query["author"]); CatId = string.IsNullOrEmpty(Request.Query["cat"]) ? 0 : int.Parse(Request.Query["cat"]); + ViewData["GoogleAnalyticsCode"] = _configuration["GoogleAnalyticsCode"]; + //todo: use html master layout or make it partial // 1. poets await preparePoets(); diff --git a/GanjooRazor/Pages/random.cshtml b/GanjooRazor/Pages/random.cshtml index 4bcca175..485d8bd1 100644 --- a/GanjooRazor/Pages/random.cshtml +++ b/GanjooRazor/Pages/random.cshtml @@ -26,5 +26,21 @@

+ + @if (!string.IsNullOrEmpty(ViewData["GoogleAnalyticsCode"].ToString())) + { + + } \ No newline at end of file diff --git a/GanjooRazor/Pages/random.cshtml.cs b/GanjooRazor/Pages/random.cshtml.cs index ea756064..ff6db6c9 100644 --- a/GanjooRazor/Pages/random.cshtml.cs +++ b/GanjooRazor/Pages/random.cshtml.cs @@ -1,16 +1,27 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; +using Microsoft.Extensions.Configuration; namespace GanjooRazor.Pages { public class randomModel : PageModel { + /// + /// configration file reader (appsettings.json) + /// + private readonly IConfiguration _configuration; + + /// + /// constructor + /// + /// + public randomModel(IConfiguration configuration) + { + _configuration = configuration; + } + public void OnGet() { + ViewData["GoogleAnalyticsCode"] = _configuration["GoogleAnalyticsCode"]; } } }