Jó kis javítás, fejlesztés TESZT-hez
This commit is contained in:
@@ -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<int, SemaphoreSlim> _templateLocks = new();
|
||||
|
||||
public NumberGeneratorService(AppDbContext dbContext)
|
||||
@@ -71,7 +73,6 @@ namespace WorkFlowCheck.BL.Services
|
||||
semaphore.Release();
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<string> GetSampleAsync(int templateId, DateTime? baseDate = null)
|
||||
{
|
||||
var template = await _dbContext.Set<NumberGeneratorTemplate>()
|
||||
@@ -87,6 +88,28 @@ namespace WorkFlowCheck.BL.Services
|
||||
|
||||
return BuildFormattedNumber(template, formatted, dynamicSuffix);
|
||||
}
|
||||
public async Task<List<NumberGeneratorTemplateDTO>> GetAllNumbergeneratorsAsync()
|
||||
{
|
||||
var retVal = new List<NumberGeneratorTemplateDTO>();
|
||||
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();
|
||||
|
||||
Reference in New Issue
Block a user