From 61dd5bc9a1b2c110628a8a8b13b513e2352a815b Mon Sep 17 00:00:00 2001 From: ivanszabo Date: Mon, 31 Mar 2025 19:31:22 +0200 Subject: [PATCH] =?UTF-8?q?J=C3=B3=20kis=20jav=C3=ADt=C3=A1s,=20fejleszt?= =?UTF-8?q?=C3=A9s=20TESZT-hez?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/SyncController.cs | 27 +++++- .../Services/CheckListService.cs | 2 + .../Interfaces/INumberGeneratorService.cs | 2 + .../Services/NumberGeneratorServices.cs | 30 +++++- .../DTO/CheckListTemplateHeaderDTO.cs | 7 +- .../DTO/NumberGeneratorTemplateDTO.cs | 3 + src/WorkFlowCheck.DL/AppDbContext.cs | 2 +- .../CheckPoints/CheckPointEditPage.cshtml | 96 +++++++------------ .../CheckPoints/CheckPointEditPage.cshtml.cs | 8 +- .../CheckPoints/CheckPointsPage.cshtml | 10 +- .../CheckListTemplateHeaderEditPage.cshtml | 53 ++++++++-- .../CheckListTemplateHeaderEditPage.cshtml.cs | 45 ++++++++- .../UserAndRole/RoleCheckPointEditPage.cshtml | 2 +- .../Services/BaseStockService.cs | 25 ++++- .../Services/CheckListService.cs | 29 +++++- .../Services/Interfaces/IBaseStockService.cs | 5 +- src/WorkFlowCheck.Web/wwwroot/css/site.css | 20 ++++ src/WorkFlowCheck.Web/wwwroot/js/site.js | 21 ++++ 18 files changed, 299 insertions(+), 88 deletions(-) diff --git a/src/WorkFlowCheck.API/Controllers/SyncController.cs b/src/WorkFlowCheck.API/Controllers/SyncController.cs index c23e5bb..9112e91 100644 --- a/src/WorkFlowCheck.API/Controllers/SyncController.cs +++ b/src/WorkFlowCheck.API/Controllers/SyncController.cs @@ -12,13 +12,14 @@ namespace WorkFlowCheck.API.Controllers public class SyncController : ControllerBase { private ISyncService _syncService; - public SyncController(ISyncService syncService) + private INumberGeneratorService _numberGeneratorService; + public SyncController(ISyncService syncService,INumberGeneratorService numberGeneratorService) { _syncService = syncService; + _numberGeneratorService = numberGeneratorService; } - [HttpGet("GetCheckPoint/{id}")] public async Task> GetCheckpointAsync(int id) { @@ -315,7 +316,29 @@ namespace WorkFlowCheck.API.Controllers return retVal; } + [HttpGet("GetAllNumbergenerators")] + public async Task>> GetAllNumbergeneratorsAsync() + { + var retVal = new ApiResponseDTO>() + { + IsSuccess = true, + }; + var locationListDTO = await _numberGeneratorService.GetAllNumbergeneratorsAsync(); + if (locationListDTO != null) + { + + retVal.IsSuccess = true; + retVal.Data = locationListDTO; + } + else + { + retVal.IsSuccess = false; + retVal.Errors.Add("No data!"); + } + + return retVal; + } } diff --git a/src/WorkFlowCheck.BL/Services/CheckListService.cs b/src/WorkFlowCheck.BL/Services/CheckListService.cs index ef5b03b..0f8bd1e 100644 --- a/src/WorkFlowCheck.BL/Services/CheckListService.cs +++ b/src/WorkFlowCheck.BL/Services/CheckListService.cs @@ -265,6 +265,8 @@ namespace WorkFlowCheck.BL.Services Description = checkListTemplateHeaderDTO.Description, ShortName = checkListTemplateHeaderDTO.ShortName, IsDeleted = false, + NumberGenerator1Id = checkListTemplateHeaderDTO.NumberGenerator1Id, + NumberGenerator2Id = checkListTemplateHeaderDTO.NumberGenerator2Id, }; _dbContext.CheckListTemplateHeaders.Add(checkListTemplateHeader); diff --git a/src/WorkFlowCheck.BL/Services/Interfaces/INumberGeneratorService.cs b/src/WorkFlowCheck.BL/Services/Interfaces/INumberGeneratorService.cs index f59f707..3a7ffae 100644 --- a/src/WorkFlowCheck.BL/Services/Interfaces/INumberGeneratorService.cs +++ b/src/WorkFlowCheck.BL/Services/Interfaces/INumberGeneratorService.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using WorkFlowCheck.Common.DTO; namespace WorkFlowCheck.BL.Services.Interfaces { @@ -11,5 +12,6 @@ namespace WorkFlowCheck.BL.Services.Interfaces { Task GenerateNextNumberAsync(int templateId, IDbContextTransaction transaction, DateTime? baseDate = null); Task GetSampleAsync(int templateId, DateTime? baseDate = null); + Task> GetAllNumbergeneratorsAsync(); } } diff --git a/src/WorkFlowCheck.BL/Services/NumberGeneratorServices.cs b/src/WorkFlowCheck.BL/Services/NumberGeneratorServices.cs index e8703e1..86bfa0d 100644 --- a/src/WorkFlowCheck.BL/Services/NumberGeneratorServices.cs +++ b/src/WorkFlowCheck.BL/Services/NumberGeneratorServices.cs @@ -1,11 +1,13 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Storage; +using Serilog; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WorkFlowCheck.BL.Services.Interfaces; +using WorkFlowCheck.Common.DTO; using WorkFlowCheck.DL; using WorkFlowCheck.DL.Entities; @@ -13,7 +15,7 @@ namespace WorkFlowCheck.BL.Services { public class NumberGeneratorService : INumberGeneratorService { - private readonly DbContext _dbContext; + private readonly AppDbContext _dbContext; private static readonly Dictionary _templateLocks = new(); public NumberGeneratorService(AppDbContext dbContext) @@ -71,7 +73,6 @@ namespace WorkFlowCheck.BL.Services semaphore.Release(); } } - public async Task GetSampleAsync(int templateId, DateTime? baseDate = null) { var template = await _dbContext.Set() @@ -87,6 +88,28 @@ namespace WorkFlowCheck.BL.Services return BuildFormattedNumber(template, formatted, dynamicSuffix); } + public async Task> GetAllNumbergeneratorsAsync() + { + var retVal = new List(); + try + { + var numbergenerators = await _dbContext.NumberGeneratorTemplates.ToListAsync(); + foreach (var numbergenerator in numbergenerators) + { + var numbergeneratortemplateDTO = new NumberGeneratorTemplateDTO(); + numbergeneratortemplateDTO.Id = numbergenerator.Id; + numbergeneratortemplateDTO.ShortName = numbergenerator.ShortName; + numbergeneratortemplateDTO.Sample = await this.GetSampleAsync(numbergenerator.Id, DateTime.Now); + retVal.Add(numbergeneratortemplateDTO); + } + } + catch (Exception ex) + { + Log.Error(ex.Message); + } + return retVal; + } + private SemaphoreSlim GetOrCreateSemaphore(int templateId) { @@ -98,14 +121,12 @@ namespace WorkFlowCheck.BL.Services return _templateLocks[templateId]; } } - private static (int year, int? month) GetKeyDateParts(NumberGeneratorTemplate template, DateTime date) { int year = date.Year; int? month = template.GenerateType == GenerateType.YearAndMonth ? date.Month : null; return (year, month); } - private static string BuildDynamicSuffix(NumberGeneratorTemplate template, DateTime date) { return template.GenerateType switch @@ -115,7 +136,6 @@ namespace WorkFlowCheck.BL.Services _ => template.Suffix }; } - private static string BuildFormattedNumber(NumberGeneratorTemplate template, string formattedNumber, string dynamicSuffix) { var sb = new StringBuilder(); diff --git a/src/WorkFlowCheck.Common/DTO/CheckListTemplateHeaderDTO.cs b/src/WorkFlowCheck.Common/DTO/CheckListTemplateHeaderDTO.cs index 722048a..6e6f388 100644 --- a/src/WorkFlowCheck.Common/DTO/CheckListTemplateHeaderDTO.cs +++ b/src/WorkFlowCheck.Common/DTO/CheckListTemplateHeaderDTO.cs @@ -7,7 +7,10 @@ namespace WorkFlowCheck.Common.DTO public int Id { get; set; } public string ShortName { get; set; } = null!; public string Description { get; set; } = null!; - - public required ICollection? CheckListTemplateRowDTO { get; set; } = new List(); + public int? NumberGenerator1Id { get; set; } + public int? NumberGenerator2Id { get; set; } + public NumberGeneratorTemplateDTO? NumberGenerator1 { get; set; } + public NumberGeneratorTemplateDTO? NumberGenerator2 { get; set; } + public ICollection? CheckListTemplateRowDTO { get; set; } = new List(); } } diff --git a/src/WorkFlowCheck.Common/DTO/NumberGeneratorTemplateDTO.cs b/src/WorkFlowCheck.Common/DTO/NumberGeneratorTemplateDTO.cs index 5efea83..79ff005 100644 --- a/src/WorkFlowCheck.Common/DTO/NumberGeneratorTemplateDTO.cs +++ b/src/WorkFlowCheck.Common/DTO/NumberGeneratorTemplateDTO.cs @@ -8,5 +8,8 @@ namespace WorkFlowCheck.Common.DTO { public class NumberGeneratorTemplateDTO { + public int Id { get; set; } + public string ShortName { get; set; } + public string Sample { get; set; } } } diff --git a/src/WorkFlowCheck.DL/AppDbContext.cs b/src/WorkFlowCheck.DL/AppDbContext.cs index e9b0d14..730a309 100644 --- a/src/WorkFlowCheck.DL/AppDbContext.cs +++ b/src/WorkFlowCheck.DL/AppDbContext.cs @@ -40,7 +40,7 @@ namespace WorkFlowCheck.DL public DbSet Equipments { get; set; } = null!; public DbSet Locations { get; set; } = null!; public DbSet NumberGeneratorTemplates { get; set; } = null!; - public DbSet NumberGeneratorTemplateDatess { get; set; } = null!; + public DbSet NumberGeneratorTemplateDates { get; set; } = null!; public DbSet Roles { get; set; } = null!; public DbSet Users { get; set; } = null!; public DbSet UserRoles { get; set; } = null!; diff --git a/src/WorkFlowCheck.Web/Pages/BaseStock/CheckPoints/CheckPointEditPage.cshtml b/src/WorkFlowCheck.Web/Pages/BaseStock/CheckPoints/CheckPointEditPage.cshtml index c82f42b..5ff9c8b 100644 --- a/src/WorkFlowCheck.Web/Pages/BaseStock/CheckPoints/CheckPointEditPage.cshtml +++ b/src/WorkFlowCheck.Web/Pages/BaseStock/CheckPoints/CheckPointEditPage.cshtml @@ -4,7 +4,7 @@ @inject IAntiforgery Antiforgery @{ ViewData["Title"] = "Ellenőrzési pont"; - var checkpointId = Model.CheckPoint.Id; + var checkpointId = Model.CheckPointDTO.Id; var url = Url.Page("./CheckPointEditPage", "LoadCheckListTemplateRows", new { id = checkpointId }); var urlPost = Url.Page("./CheckPointEditPage", "Save"); } @@ -16,21 +16,21 @@
- +
- - - + + +
- - - + + +
- - - + + +
@@ -66,27 +66,7 @@
- @section Scripts {