From 53520d297603c8ccd291fd38078d24c0ac13cdf2 Mon Sep 17 00:00:00 2001 From: Hamid Reza Mohammadi Date: Tue, 29 Mar 2022 08:26:16 +0430 Subject: [PATCH] docs: #302 UI for transfering a category --- GanjooRazor/Areas/Admin/Pages/CatTrans.cshtml | 39 ++++++++++ .../Areas/Admin/Pages/CatTrans.cshtml.cs | 71 +++++++++++++++++++ GanjooRazor/Areas/Admin/Pages/CatUtils.cshtml | 2 + 3 files changed, 112 insertions(+) create mode 100644 GanjooRazor/Areas/Admin/Pages/CatTrans.cshtml create mode 100644 GanjooRazor/Areas/Admin/Pages/CatTrans.cshtml.cs diff --git a/GanjooRazor/Areas/Admin/Pages/CatTrans.cshtml b/GanjooRazor/Areas/Admin/Pages/CatTrans.cshtml new file mode 100644 index 00000000..a1076460 --- /dev/null +++ b/GanjooRazor/Areas/Admin/Pages/CatTrans.cshtml @@ -0,0 +1,39 @@ +@page +@model GanjooRazor.Areas.Admin.Pages.CatTransModel +@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers +@{ + Layout = "_AdminLayout"; + ViewData["Title"] = "انتقال بخش"; +} + +

@ViewData["Title"]

+ +@if (!string.IsNullOrEmpty(Model.LastMessage)) +{ + @Html.Raw(Model.LastMessage) +} +else +{ + + + + + + + @foreach (var poem in Model.Poems) + { + + + + + } +
مبدأمقصد
+ @poem.SrcPoemFullTitle + + @if(!string.IsNullOrEmpty(poem.DestPoemFullUrl)) + { + @poem.DestPoemFullTitle + } +
+} + diff --git a/GanjooRazor/Areas/Admin/Pages/CatTrans.cshtml.cs b/GanjooRazor/Areas/Admin/Pages/CatTrans.cshtml.cs new file mode 100644 index 00000000..6aebd200 --- /dev/null +++ b/GanjooRazor/Areas/Admin/Pages/CatTrans.cshtml.cs @@ -0,0 +1,71 @@ +using System.IO; +using System.Net.Http; +using System.Text; +using System.Threading.Tasks; +using GanjooRazor.Utils; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; +using Microsoft.Extensions.Caching.Memory; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using RMuseum.Models.Ganjoor; +using RMuseum.Models.Ganjoor.ViewModels; + +namespace GanjooRazor.Areas.Admin.Pages +{ + [IgnoreAntiforgeryToken(Order = 1001)] + public class CatTransModel : PageModel + { + /// + /// last message + /// + public string LastMessage { get; set; } + + /// + /// poems + /// + public GanjoorDuplicateViewModel[] Poems { get; set; } + + private async Task _GetCatDuplicatesAsync() + { + if (string.IsNullOrEmpty(Request.Query["id"])) + { + LastMessage = "شناسهٔ بخش مشخص نیست."; + return false; + } + var id = Request.Query["id"]; + using (HttpClient secureClient = new HttpClient()) + { + if(await GanjoorSessionChecker.PrepareClient(secureClient, Request, Response)) + { + HttpResponseMessage response = await secureClient.GetAsync($"{APIRoot.Url}/api/ganjoor/duplicates/{id}"); + if (!response.IsSuccessStatusCode) + { + LastMessage = JsonConvert.DeserializeObject(await response.Content.ReadAsStringAsync()); + return false; + } + else + { + Poems = JsonConvert.DeserializeObject(await response.Content.ReadAsStringAsync()); + } + } + else + { + LastMessage = "لطفا از گنجور خارج و مجددا به آن وارد شوید."; + return false; + } + } + return true; + } + public async Task OnGetAsync() + { + if (string.IsNullOrEmpty(Request.Cookies["Token"])) + return Redirect("/"); + + await _GetCatDuplicatesAsync(); + + return Page(); + } + } +} diff --git a/GanjooRazor/Areas/Admin/Pages/CatUtils.cshtml b/GanjooRazor/Areas/Admin/Pages/CatUtils.cshtml index 155c7878..11fb79db 100644 --- a/GanjooRazor/Areas/Admin/Pages/CatUtils.cshtml +++ b/GanjooRazor/Areas/Admin/Pages/CatUtils.cshtml @@ -505,6 +505,8 @@ +

انتقال بخش

+