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",