From c11ff65a3eab22b967656642aa1395d12159e8ff Mon Sep 17 00:00:00 2001 From: ivanszabo Date: Wed, 28 Jan 2026 12:47:43 +0100 Subject: [PATCH] =?UTF-8?q?Ellen=C5=91rz=C3=A9sek=20sz=C3=A9tv=C3=A1laszt?= =?UTF-8?q?=C3=A1sa=20+=20sorrend?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/CheckListController.cs | 6 +-- .../Services/CheckListService.cs | 39 ++++++++++++++----- .../Services/Interfaces/ICheckListService.cs | 8 ++-- .../CheckListHeaderPage.cshtml | 21 ++++++++-- .../CheckListHeaderPage.cshtml.cs | 13 ++++--- .../Pages/Shared/_Layout.cshtml | 23 ++++++++++- .../Services/CheckListService.cs | 4 +- .../Services/Interfaces/ICheckListService.cs | 2 +- 8 files changed, 84 insertions(+), 32 deletions(-) diff --git a/src/WorkFlowCheck.API/Controllers/CheckListController.cs b/src/WorkFlowCheck.API/Controllers/CheckListController.cs index df1e001..27f5cb4 100644 --- a/src/WorkFlowCheck.API/Controllers/CheckListController.cs +++ b/src/WorkFlowCheck.API/Controllers/CheckListController.cs @@ -63,14 +63,14 @@ namespace WorkFlowCheck.API.Controllers return retVal; } - [HttpGet("GetAllCheckListHeaders")] - public async Task>> GetAllCheckListHeadersAsync() + [HttpGet("GetAllCheckListHeaders/{mode}")] + public async Task>> GetAllCheckListHeadersAsync(int mode = 0) { var retVal = new ApiResponseDTO>() { IsSuccess = true, }; - var checkPointListDTO = await _checkListService.GetAllCheckListHeaderAsync(); + var checkPointListDTO = await _checkListService.GetAllCheckListHeaderAsync(mode); if (checkPointListDTO != null) { diff --git a/src/WorkFlowCheck.BL/Services/CheckListService.cs b/src/WorkFlowCheck.BL/Services/CheckListService.cs index 9da9a40..41e0ed5 100644 --- a/src/WorkFlowCheck.BL/Services/CheckListService.cs +++ b/src/WorkFlowCheck.BL/Services/CheckListService.cs @@ -81,21 +81,40 @@ namespace WorkFlowCheck.BL.Services return retVal; } - public async Task> GetAllCheckListHeaderAsync() + public async Task> GetAllCheckListHeaderAsync(int mode = 0) { var retVal = new List(); try { - var checkListHeaders = await _dbContext.CheckListHeaders - .Include(i => i.CheckListRows) - .Include(i => i.User) - .Include(i => i.AcceptUser) - .AsNoTracking() - .ToListAsync(); - if (checkListHeaders != null) + IQueryable query = _dbContext.CheckListHeaders + .Include(i => i.CheckListRows) + .Include(i => i.User) + .Include(i => i.AcceptUser) + .AsNoTracking(); + switch (mode) { - retVal = _mapper.Map>(checkListHeaders); + case 0: + query = query.Where(w => w.CheckStatus == CheckStatus.InProgress || w.CheckStatus == CheckStatus.Open).OrderByDescending(o => o.CreatedAt); + break; + + case 1: + query = query.Where(w => w.CheckStatus == CheckStatus.Sent).OrderByDescending(o => o.CreatedAt); + break; + + case 2: + query = query.Where(w => w.CheckStatus == CheckStatus.Closed).OrderByDescending(o => o.CreatedAt); + break; + case 3: + query = query.Where(w => w.CheckStatus == CheckStatus.Signed).OrderByDescending(o => o.CreatedAt); + break; + + default: + query = query.OrderByDescending(o => o.CreatedAt); + break; } + + var list = await query.ToListAsync(); + retVal = _mapper.Map>(list); } catch (Exception ex) { @@ -320,7 +339,7 @@ namespace WorkFlowCheck.BL.Services gen.SimpleReplace("#WorkUser#", $"{checkListHeader.UserDTO?.LastName} {checkListHeader.UserDTO?.FirstName}"); gen.SimpleReplace("#AcceptUser#", $"{checkListHeader.AcceptUserDTO?.LastName} {checkListHeader.AcceptUserDTO?.FirstName}"); gen.SimpleReplace("#Guid#", checkListHeader.GuidNumber.ToString()); - + if (checkListHeader.CheckListRowDTO != null && checkListHeader.CheckListRowDTO.Count > 0) { var elements = new List>(); diff --git a/src/WorkFlowCheck.BL/Services/Interfaces/ICheckListService.cs b/src/WorkFlowCheck.BL/Services/Interfaces/ICheckListService.cs index b33f7cc..e1d5701 100644 --- a/src/WorkFlowCheck.BL/Services/Interfaces/ICheckListService.cs +++ b/src/WorkFlowCheck.BL/Services/Interfaces/ICheckListService.cs @@ -6,12 +6,12 @@ namespace WorkFlowCheck.BL.Services.Interfaces public interface ICheckListService { Task GetCheckListHeaderAsync(int Id); - Task> GetAllCheckListHeaderAsync(); + Task> GetAllCheckListHeaderAsync(int mode = 0); Task UpdateCheckListHeaderAsync(CheckListHeaderDTO checkListHeaderDTO); Task AcceptCheckListHeaderAsync(int id, int userid); Task BlockCheckListHeaderAsync(int id, int userid); Task UnBlockCheckListHeaderAsync(int id, int userid); - Task CloseCheckListHeader(CheckListHeaderCloseDTO closeCheckListHeaderCloseDTO); + Task CloseCheckListHeader(CheckListHeaderCloseDTO closeCheckListHeaderCloseDTO); Task CreateCheckListHeaderPDFAsync(int checkListHeaderId); Task StartNewCheckListAsync(CheckListHeaderNewDTO checkListHeaderNewDTO); @@ -22,13 +22,13 @@ namespace WorkFlowCheck.BL.Services.Interfaces Task DeleteCheckListTemplateHeaderAsync(int id); Task CloneCheckListTemplateHeaderAsync(int id); Task GetCheckListTemplateRowAsync(int id); - Task DeleteCheckListTemplateRowAsync(int id); + Task DeleteCheckListTemplateRowAsync(int id); Task UpdateCheckListTemplateRowAsync(CheckListTemplateRowDTO checkListTemplateRowDTO); Task GetCheckListRowAsync(int id); Task UpdateCheckListRowAsync(CheckListRowDTO checkListRowDTO); - + } diff --git a/src/WorkFlowCheck.Web/Pages/CheckList/CheckListHeader/CheckListHeaderPage.cshtml b/src/WorkFlowCheck.Web/Pages/CheckList/CheckListHeader/CheckListHeaderPage.cshtml index 76a99a1..afd1a83 100644 --- a/src/WorkFlowCheck.Web/Pages/CheckList/CheckListHeader/CheckListHeaderPage.cshtml +++ b/src/WorkFlowCheck.Web/Pages/CheckList/CheckListHeader/CheckListHeaderPage.cshtml @@ -5,7 +5,14 @@ @using Microsoft.AspNetCore.Antiforgery @inject IAntiforgery Antiforgery @{ - ViewData["Title"] = "Ellenőrzések"; + ViewData["Title"] = Model.Mode switch + { + 0 => "Ellenőrzések (folyamatban)", + 1 => "Ellenőrzések (beküldött)", + 2 => "Ellenőrzések (lezárt)", + 3 => "Ellenőrzések (jóváhagyott)", + _ => "Ellenőrzések (összes)" + }; }

@ViewData["Title"]

@@ -49,10 +56,16 @@ @section Scripts { } diff --git a/src/WorkFlowCheck.Web/Pages/CheckList/CheckListHeader/CheckListHeaderPage.cshtml.cs b/src/WorkFlowCheck.Web/Pages/CheckList/CheckListHeader/CheckListHeaderPage.cshtml.cs index 85152bc..71704c0 100644 --- a/src/WorkFlowCheck.Web/Pages/CheckList/CheckListHeader/CheckListHeaderPage.cshtml.cs +++ b/src/WorkFlowCheck.Web/Pages/CheckList/CheckListHeader/CheckListHeaderPage.cshtml.cs @@ -13,7 +13,7 @@ namespace WorkFlowCheck.Web.Pages.CheckList.CheckListHeader { private readonly ILogger _logger; private readonly ICheckListService _checkListService; - + public int Mode { get; private set; } public List CheckStatus { get; set; } public CheckListHeaderPageModel(ILogger logger, ICheckListService checkListService) @@ -21,15 +21,16 @@ namespace WorkFlowCheck.Web.Pages.CheckList.CheckListHeader _logger = logger; _checkListService = checkListService; } - public async Task OnGet() + public async Task OnGet(int mode = 0) { + Mode = mode; CheckStatus = _checkListService.GetCheckStatus(); } - public async Task OnGetLoadCheckListHeaders() + public async Task OnGetLoadCheckListHeaders(int mode = 0) { - var results = await _checkListService.GetAllCheckListHeaderAsync(); + var results = await _checkListService.GetAllCheckListHeaderAsync(mode); return new JsonResult(new { data = results }); } @@ -100,8 +101,8 @@ namespace WorkFlowCheck.Web.Pages.CheckList.CheckListHeader public async Task OnPostClose([FromBody] CheckListHeaderCloseDTO checkListHeaderCloseDTO) { var userid = User.FindFirstValue(ClaimTypes.NameIdentifier); - checkListHeaderCloseDTO.UserId=int.Parse(userid); ; - + checkListHeaderCloseDTO.UserId = int.Parse(userid); ; + var response = await _checkListService.CloseCheckListHeader(checkListHeaderCloseDTO); if (response.IsSuccess) diff --git a/src/WorkFlowCheck.Web/Pages/Shared/_Layout.cshtml b/src/WorkFlowCheck.Web/Pages/Shared/_Layout.cshtml index 2fd0af3..5be61f4 100644 --- a/src/WorkFlowCheck.Web/Pages/Shared/_Layout.cshtml +++ b/src/WorkFlowCheck.Web/Pages/Shared/_Layout.cshtml @@ -49,7 +49,26 @@ Ellenőrzési adatok @@ -67,7 +86,7 @@
  • Szabályok - Ellenőrzési pontok
  • - +