From 9dadb05137bea37799236d7cc9e508ab5f06baae Mon Sep 17 00:00:00 2001 From: Hamid Reza Mohammadi Date: Sun, 6 Jun 2021 13:09:50 +0430 Subject: [PATCH] #129 UI for list of donations --- .../Areas/Admin/Pages/Donations.cshtml | 42 +++++++++++++++ .../Areas/Admin/Pages/Donations.cshtml.cs | 53 +++++++++++++++++++ GanjooRazor/Pages/Shared/_AdminLayout.cshtml | 10 +++- 3 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 GanjooRazor/Areas/Admin/Pages/Donations.cshtml create mode 100644 GanjooRazor/Areas/Admin/Pages/Donations.cshtml.cs diff --git a/GanjooRazor/Areas/Admin/Pages/Donations.cshtml b/GanjooRazor/Areas/Admin/Pages/Donations.cshtml new file mode 100644 index 00000000..ab74b415 --- /dev/null +++ b/GanjooRazor/Areas/Admin/Pages/Donations.cshtml @@ -0,0 +1,42 @@ +@page +@model GanjooRazor.Areas.Admin.Pages.DonationsModel +@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers +@{ + Layout = "_AdminLayout"; + ViewData["Title"] = "کمک‌های مالی"; +} + +

@ViewData["Title"]

+ + +

@Model.LastMessage

+ +@if (Model.Donations != null) +{ + + + + + + + + + @foreach (var donation in Model.Donations) + { + + + + + + + + } +
#تاریخمبلغاهدا کننده + # +
@donation.Id @donation.DateString@donation.AmountString@donation.DonorName + ✎ + 🗑 +
+ + +} diff --git a/GanjooRazor/Areas/Admin/Pages/Donations.cshtml.cs b/GanjooRazor/Areas/Admin/Pages/Donations.cshtml.cs new file mode 100644 index 00000000..f7003351 --- /dev/null +++ b/GanjooRazor/Areas/Admin/Pages/Donations.cshtml.cs @@ -0,0 +1,53 @@ +using System.Net.Http; +using System.Threading.Tasks; +using GanjooRazor.Utils; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; +using Newtonsoft.Json; +using RMuseum.Models.Accounting.ViewModels; + +namespace GanjooRazor.Areas.Admin.Pages +{ + [IgnoreAntiforgeryToken(Order = 1001)] + public class DonationsModel : PageModel + { + /// + /// last message + /// + public string LastMessage { get; set; } + + /// + /// donations + /// + public GanjoorDonationViewModel[] Donations { get; set; } + + public async Task OnGetAsync() + { + LastMessage = ""; + + using (HttpClient secureClient = new HttpClient()) + { + if (await GanjoorSessionChecker.PrepareClient(secureClient, Request, Response)) + { + var response = await secureClient.GetAsync($"{APIRoot.Url}/api/donations"); + if (!response.IsSuccessStatusCode) + { + LastMessage = await response.Content.ReadAsStringAsync(); + } + + response.EnsureSuccessStatusCode(); + + Donations = JsonConvert.DeserializeObject(await response.Content.ReadAsStringAsync()); + + } + else + { + LastMessage = "لطفا از گنجور خارج و مجددا به آن وارد شوید."; + } + + } + + return Page(); + } + } +} diff --git a/GanjooRazor/Pages/Shared/_AdminLayout.cshtml b/GanjooRazor/Pages/Shared/_AdminLayout.cshtml index 5200913a..bab55bc6 100644 --- a/GanjooRazor/Pages/Shared/_AdminLayout.cshtml +++ b/GanjooRazor/Pages/Shared/_AdminLayout.cshtml @@ -73,7 +73,15 @@ - + + + +