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
+{
+
+}
+
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 @@
+انتقال بخش
+