From 4dc59d135434d8e6f8f86de60e5da4b9b74a0258 Mon Sep 17 00:00:00 2001
From: Hamid Reza Mohammadi
Date: Mon, 10 Jan 2022 20:18:44 +0330
Subject: [PATCH] docs: #272 showing the status of keeping user history visits
---
GanjooRazor/Areas/User/Pages/History.cshtml | 16 ++
.../Areas/User/Pages/History.cshtml.cs | 157 ++++++++++--------
GanjooRazor/appsettings.json | 4 +-
3 files changed, 104 insertions(+), 73 deletions(-)
diff --git a/GanjooRazor/Areas/User/Pages/History.cshtml b/GanjooRazor/Areas/User/Pages/History.cshtml
index bd76a4a9..fbdf2cc7 100644
--- a/GanjooRazor/Areas/User/Pages/History.cshtml
+++ b/GanjooRazor/Areas/User/Pages/History.cshtml
@@ -48,6 +48,22 @@ else
}
+ @if (Model.TrackingIsEnabled)
+ {
+
+ ذخیرهٔ تاریخچهٔ بازدیدهای شما فعال است.
+
+ }
+ else
+ {
+
+
+ ذخیرهٔ تاریخچهٔ بازدیدهای شما غیرفعال است.
+
+ }
+
+
+
@foreach (var historyItem in Model.HistoryItems)
{
if (color == "gray")
diff --git a/GanjooRazor/Areas/User/Pages/History.cshtml.cs b/GanjooRazor/Areas/User/Pages/History.cshtml.cs
index b4109360..53195561 100644
--- a/GanjooRazor/Areas/User/Pages/History.cshtml.cs
+++ b/GanjooRazor/Areas/User/Pages/History.cshtml.cs
@@ -30,99 +30,114 @@ namespace GanjooRazor.Areas.User.Pages
///
public List PaginationLinks { get; set; }
+ ///
+ /// history items
+ ///
public List HistoryItems { get; set; }
+
+ ///
+ /// tracking is enabled
+ ///
+ public bool TrackingIsEnabled { get; set; }
public async Task OnGetAsync()
{
LastError = "";
using (HttpClient secureClient = new HttpClient())
if (await GanjoorSessionChecker.PrepareClient(secureClient, Request, Response))
{
+ var response = await secureClient.GetAsync($"{APIRoot.Url}/api/options/KeepHistory");
+ if (!response.IsSuccessStatusCode)
{
- int pageNumber = 1;
- if (!string.IsNullOrEmpty(Request.Query["page"]))
- {
- pageNumber = int.Parse(Request.Query["page"]);
- }
- var response = await secureClient.GetAsync($"{APIRoot.Url}/api/tracking/?PageNumber={pageNumber}&PageSize=20");
- if (!response.IsSuccessStatusCode)
- {
- LastError = JsonConvert.DeserializeObject(await response.Content.ReadAsStringAsync());
- return Page();
- }
+ LastError = JsonConvert.DeserializeObject(await response.Content.ReadAsStringAsync());
+ return Page();
+ }
+ TrackingIsEnabled = JsonConvert.DeserializeObject(await response.Content.ReadAsStringAsync()) == true.ToString();
- HistoryItems = JArray.Parse(await response.Content.ReadAsStringAsync()).ToObject>();
+ int pageNumber = 1;
+ if (!string.IsNullOrEmpty(Request.Query["page"]))
+ {
+ pageNumber = int.Parse(Request.Query["page"]);
+ }
+ var responseHistoryItems = await secureClient.GetAsync($"{APIRoot.Url}/api/tracking/?PageNumber={pageNumber}&PageSize=20");
+ if (!responseHistoryItems.IsSuccessStatusCode)
+ {
+ LastError = JsonConvert.DeserializeObject(await responseHistoryItems.Content.ReadAsStringAsync());
+ return Page();
+ }
- string paginnationMetadata = response.Headers.GetValues("paging-headers").FirstOrDefault();
- if (!string.IsNullOrEmpty(paginnationMetadata))
+ HistoryItems = JArray.Parse(await responseHistoryItems.Content.ReadAsStringAsync()).ToObject>();
+
+ string paginnationMetadata = responseHistoryItems.Headers.GetValues("paging-headers").FirstOrDefault();
+ if (!string.IsNullOrEmpty(paginnationMetadata))
+ {
+ PaginationMetadata paginationMetadata = JsonConvert.DeserializeObject(paginnationMetadata);
+ PaginationLinks = new List();
+ if (paginationMetadata.totalPages > 1)
{
- PaginationMetadata paginationMetadata = JsonConvert.DeserializeObject(paginnationMetadata);
- PaginationLinks = new List();
- if (paginationMetadata.totalPages > 1)
+ if (paginationMetadata.currentPage > 3)
{
- if (paginationMetadata.currentPage > 3)
- {
- PaginationLinks.Add
- (
- new NameIdUrlImage()
- {
- Name = "صفحهٔ اول",
- Url = "/User/History/?page=1"
- }
- );
- }
- for (int i = (paginationMetadata.currentPage - 2); i <= (paginationMetadata.currentPage + 2); i++)
- {
- if (i >= 1 && i <= paginationMetadata.totalPages)
+ PaginationLinks.Add
+ (
+ new NameIdUrlImage()
+ {
+ Name = "صفحهٔ اول",
+ Url = "/User/History/?page=1"
+ }
+ );
+ }
+ for (int i = (paginationMetadata.currentPage - 2); i <= (paginationMetadata.currentPage + 2); i++)
+ {
+ if (i >= 1 && i <= paginationMetadata.totalPages)
+ {
+ if (i == paginationMetadata.currentPage)
{
- if (i == paginationMetadata.currentPage)
- {
- PaginationLinks.Add
- (
- new NameIdUrlImage()
- {
- Name = i.ToPersianNumbers(),
- }
- );
- }
- else
- {
+ PaginationLinks.Add
+ (
+ new NameIdUrlImage()
+ {
+ Name = i.ToPersianNumbers(),
+ }
+ );
+ }
+ else
+ {
- PaginationLinks.Add
- (
- new NameIdUrlImage()
- {
- Name = i.ToPersianNumbers(),
- Url = $"/User/History/?page={i}"
- }
- );
- }
+ PaginationLinks.Add
+ (
+ new NameIdUrlImage()
+ {
+ Name = i.ToPersianNumbers(),
+ Url = $"/User/History/?page={i}"
+ }
+ );
}
}
- if (paginationMetadata.totalPages > (paginationMetadata.currentPage + 2))
- {
+ }
+ if (paginationMetadata.totalPages > (paginationMetadata.currentPage + 2))
+ {
- PaginationLinks.Add
- (
- new NameIdUrlImage()
- {
- Name = "... ",
- }
- );
+ PaginationLinks.Add
+ (
+ new NameIdUrlImage()
+ {
+ Name = "... ",
+ }
+ );
- PaginationLinks.Add
- (
- new NameIdUrlImage()
- {
- Name = "صفحهٔ آخر",
- Url = $"/User/History/?page={paginationMetadata.totalPages}"
- }
- );
- }
+ PaginationLinks.Add
+ (
+ new NameIdUrlImage()
+ {
+ Name = "صفحهٔ آخر",
+ Url = $"/User/History/?page={paginationMetadata.totalPages}"
+ }
+ );
}
}
-
}
+
+
}
else
{
diff --git a/GanjooRazor/appsettings.json b/GanjooRazor/appsettings.json
index d390c52a..53c0d0bc 100644
--- a/GanjooRazor/appsettings.json
+++ b/GanjooRazor/appsettings.json
@@ -8,8 +8,8 @@
},
"AllowedHosts": "*",
"GoogleAnalyticsCode": "",
- "APIRoot": "https://api.ganjoor.net",
- "GlobalAPIRoot": "https://api.ganjoor.net",
+ "APIRoot": "http://localhost:3439",
+ "GlobalAPIRoot": "http://localhost:3439",
"SiteUrl": "http://localhost:33081",
"AggressiveCacheEnabled": "False",
"ReadOnlyMode": "False",