diff --git a/GanjooRazor/Pages/Index.cshtml.cs b/GanjooRazor/Pages/Index.cshtml.cs
index 056d2932..25885555 100644
--- a/GanjooRazor/Pages/Index.cshtml.cs
+++ b/GanjooRazor/Pages/Index.cshtml.cs
@@ -1283,7 +1283,7 @@ namespace GanjooRazor.Pages
}
- public async Task OnGetCategoryWordCountsAsync(int catId, int poetId)
+ public async Task OnGetCategoryWordCountsAsync(int catId, int poetId, bool remStopWords = false)
{
var wordSumsResponse = await _httpClient.GetAsync($"{APIRoot.Url}/api/ganjoor/wordsums/{catId}");
@@ -1296,14 +1296,223 @@ namespace GanjooRazor.Pages
{
return new BadRequestObjectResult(JsonConvert.DeserializeObject("شمارش واژگان انجام نشده."));
}
- var wordCountsResponse = await _httpClient.GetAsync($"{APIRoot.Url}/api/ganjoor/wordcounts/{catId}?PageNumber=1&PageSize=100");
-
+ int pageSize = remStopWords ? 200 : 100;
+ var wordCountsResponse = await _httpClient.GetAsync($"{APIRoot.Url}/api/ganjoor/wordcounts/{catId}?PageNumber=1&PageSize={pageSize}");
if (!wordCountsResponse.IsSuccessStatusCode)
{
return new BadRequestObjectResult(JsonConvert.DeserializeObject(await wordCountsResponse.Content.ReadAsStringAsync()));
}
+
var wordCounts = JsonConvert.DeserializeObject(await wordCountsResponse.Content.ReadAsStringAsync());
+ if (remStopWords)
+ {
+ string[] stopWords =
+ [
+ "و",
+ "از",
+ "که",
+ "به",
+ "در",
+ "را",
+ "تو",
+ "ز",
+ "بر",
+ "آن",
+ "است",
+ "من",
+ "می",
+ "این",
+ "او",
+ "چون",
+ "دل",
+ "بود",
+ "ای",
+ "تا",
+ "چو",
+ "هر",
+ "با",
+ "ما",
+ "چه",
+ "سر",
+ "شد",
+ "بی",
+ "خود",
+ "گفت",
+ "نیست",
+ "جان",
+ "نه",
+ "همه",
+ "گر",
+ "کند",
+ "اگر",
+ "کرد",
+ "باشد",
+ "هم",
+ "دست",
+ "مرا",
+ "روی",
+ "شود",
+ "یک",
+ "دو",
+ "وی",
+ "عشق",
+ "چشم",
+ "جهان",
+ "اندر",
+ "الله",
+ "خویش",
+ "آب",
+ "گل",
+ "پیش",
+ "آمد",
+ "کار",
+ "دارد",
+ "روز",
+ "باز",
+ "کن",
+ "دیده",
+ "یا",
+ "یکی",
+ "همی",
+ "راه",
+ "پس",
+ "خاک",
+ "آید",
+ "باد",
+ "کس",
+ "خون",
+ "غم",
+ "ایشان",
+ "جز",
+ "شب",
+ "کرده",
+ "نمی",
+ "کز",
+ "سخن",
+ "کسی",
+ "پر",
+ "آتش",
+ "هست",
+ "ام",
+ "عالم",
+ "هیچ",
+ "حق",
+ "کی",
+ "صد",
+ "بهر",
+ "شاه",
+ "فی",
+ "چنین",
+ "لب",
+ "ترا",
+ "ره",
+ "سوی",
+ "بس",
+ "پای",
+ "ها",
+ "اند",
+ "تن",
+ "ی",
+ "گردد",
+ "ملک",
+ "داد",
+ "خوش",
+ "علی",
+ "میان",
+ "دم",
+ "زمین",
+ "زلف",
+ "چنان",
+ "کنم",
+ "نبود",
+ "یار",
+ "گشت",
+ "دیگر",
+ "باید",
+ "دگر",
+ "درد",
+ "خانه",
+ "چند",
+ "تر",
+ "جای",
+ "همچو",
+ "بار",
+ "ماه",
+ "خلق",
+ "نفس",
+ "دوست",
+ "شده",
+ "لا",
+ "دین",
+ "زین",
+ "نام",
+ "دور",
+ "مهر",
+ "بد",
+ "زان",
+ "پی",
+ "نور",
+ "گرد",
+ "رخ",
+ "مگر",
+ "آنکه",
+ "نظر",
+ "حال",
+ "رفت",
+ "دلم",
+ "کنی",
+ "اهل",
+ "فلک",
+ "تیغ",
+ "برد",
+ "بدان",
+ "ست",
+ "ازین",
+ "عقل",
+ "دید",
+ "مرد",
+ "وز",
+ "زبان",
+ "زیر",
+ "گوید",
+ "هزار",
+ "خدا",
+ "آفتاب",
+ "کجا",
+ "عمر",
+ "دهد",
+ "پرده",
+ "گه",
+ "حسن",
+ "درین",
+ "چرخ",
+ "آخر",
+ "دارم",
+ "خواهد",
+ "خورشید",
+ "نیز",
+ "بیرون",
+ "خواب",
+ "های",
+ "بنده",
+ "چرا",
+ "راست",
+ "کان",
+ "برون",
+ "خدای",
+ "رو",
+ "جمله",
+ "قال",
+ "نباشد",
+ "زر",
+ "علم",
+ "شمع",
+ "سرو",
+ ];
+ wordCounts = wordCounts.Where(w => stopWords.Contains(w.Word)).Take(100).ToArray();
+ }
+
return new PartialViewResult()
{
ViewName = "_CategoryWordsCountPartial",