| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- using Application.Abstractions.Messaging;
- using Microsoft.AspNetCore.Mvc;
- using Microsoft.AspNetCore.Mvc.RazorPages;
- using SharedKernel.Extensions;
- namespace Admin.Pages.Forum.Comments.List;
- public class EditModel(IMediator mediator) : PageModel
- {
- public string? QueryString { get; set; }
- public int CommentID { get; set; }
- public int BoardID { get; set; }
- public string BoardName { get; set; } = "";
- public int PostID { get; set; }
- public string PostSubject { get; set; } = "";
- public string CommentContent { get; set; } = "";
- public string? Name { get; set; }
- public string? SID { get; set; }
- public bool IsReply { get; set; }
- public bool IsSecret { get; set; }
- public bool IsDeleted { get; set; }
- public int Likes { get; set; }
- public int Dislikes { get; set; }
- public int Reports { get; set; }
- public int Replies { get; set; }
- public string? UpdatedAt { get; set; }
- public string CreatedAt { get; set; } = "";
- public async Task OnGetAsync(int id, CancellationToken ct)
- {
- var result = await mediator.Send(new GetComment.Query(id), ct);
- if (result.IsFailure)
- {
- TempData["ErrorMessages"] = result.Error.Description;
- QueryString = Request.QueryString.ToString();
- return;
- }
- var data = result.Value;
- CommentID = data.ID;
- BoardID = data.BoardID;
- BoardName = data.BoardName;
- PostID = data.PostID;
- PostSubject = data.PostSubject;
- CommentContent = data.Content;
- Name = data.Name;
- SID = data.SID;
- IsReply = data.IsReply;
- IsSecret = data.IsSecret;
- IsDeleted = data.IsDeleted;
- Likes = data.Likes;
- Dislikes = data.Dislikes;
- Reports = data.Reports;
- Replies = data.Replies;
- UpdatedAt = data.UpdatedAt.GetDateAt() ?? "-";
- CreatedAt = data.CreatedAt.GetDateAt();
- QueryString = Request.QueryString.ToString();
- }
- public async Task<IActionResult> OnPostDeleteAsync(int id, CancellationToken ct)
- {
- try
- {
- await mediator.Send(new DeleteComment.Command([id]), ct);
- TempData["SuccessMessage"] = "댓글이 삭제되었습니다.";
- return RedirectToPage("/Forum/Comments/List/Index");
- }
- catch (Exception e)
- {
- TempData["ErrorMessages"] = e.Message;
- return Redirect($"/Forum/Comments/List/Edit/{id}{Request.QueryString}");
- }
- }
- }
|