| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- using MediatR;
- using Microsoft.AspNetCore.Mvc;
- using Microsoft.AspNetCore.Mvc.RazorPages;
- namespace Admin.Pages.Mail;
- public class DetailModel(IMediator mediator) : PageModel
- {
- public GetEmailLog.Response? Data { get; set; }
- public async Task<IActionResult> OnGetAsync(long id, CancellationToken ct)
- {
- var result = await mediator.Send(new GetEmailLog.Query(id), ct);
- if (result is null)
- {
- TempData["ErrorMessages"] = "메일을 찾을 수 없습니다.";
- return Redirect("/Mail/List");
- }
- Data = result;
- return Page();
- }
- public async Task<IActionResult> OnPostResendAsync(long id, CancellationToken ct)
- {
- try
- {
- await mediator.Send(new ResendEmailLog.Command([id]), ct);
- TempData["SuccessMessage"] = "재전송 대기열에 추가되었습니다.";
- }
- catch (Exception e)
- {
- TempData["ErrorMessages"] = e.Message;
- }
- return Redirect($"/Mail/Detail?id={id}");
- }
- public async Task<IActionResult> OnPostDeleteAsync(long id, CancellationToken ct)
- {
- try
- {
- await mediator.Send(new DeleteEmailLog.Command([id]), ct);
- TempData["SuccessMessage"] = "메일이 삭제되었습니다.";
- }
- catch (Exception e)
- {
- TempData["ErrorMessages"] = e.Message;
- return Redirect($"/Mail/Detail?id={id}");
- }
- return Redirect("/Mail/List");
- }
- }
|