umfangreiches refactoring

This commit is contained in:
2026-04-17 13:56:41 +02:00
parent eb187cdc15
commit 2a56ba53ba
21 changed files with 2401 additions and 1905 deletions
@@ -0,0 +1,56 @@
using TrafagSalesExporter.Models;
namespace TrafagSalesExporter.Services;
public interface IManagementCockpitPageService
{
Task<ManagementCockpitPageState> InitializeAsync(string? selectedFilePath, int selectedCentralYear);
Task<List<ManagementCockpitFileOption>> LoadFilesAsync();
Task<List<int>> LoadCentralYearsAsync();
Task<ManagementCockpitResult> AnalyzeAsync(string filePath);
Task<ManagementCockpitCentralResult> AnalyzeCentralAsync(int year, int? month);
}
public sealed class ManagementCockpitPageService : IManagementCockpitPageService
{
private readonly IManagementCockpitService _cockpitService;
public ManagementCockpitPageService(IManagementCockpitService cockpitService)
{
_cockpitService = cockpitService;
}
public async Task<ManagementCockpitPageState> InitializeAsync(string? selectedFilePath, int selectedCentralYear)
{
var files = await _cockpitService.GetAvailableFilesAsync();
var years = await _cockpitService.GetAvailableCentralYearsAsync();
return new ManagementCockpitPageState
{
Files = files,
CentralYears = years,
SelectedFilePath = selectedFilePath ?? files.FirstOrDefault()?.Path,
SelectedCentralYear = selectedCentralYear == 0 ? years.LastOrDefault() : selectedCentralYear
};
}
public Task<List<ManagementCockpitFileOption>> LoadFilesAsync()
=> _cockpitService.GetAvailableFilesAsync();
public Task<List<int>> LoadCentralYearsAsync()
=> _cockpitService.GetAvailableCentralYearsAsync();
public Task<ManagementCockpitResult> AnalyzeAsync(string filePath)
=> _cockpitService.AnalyzeAsync(filePath);
public Task<ManagementCockpitCentralResult> AnalyzeCentralAsync(int year, int? month)
=> _cockpitService.AnalyzeCentralAsync(year, month);
}
public sealed class ManagementCockpitPageState
{
public List<ManagementCockpitFileOption> Files { get; set; } = [];
public List<int> CentralYears { get; set; } = [];
public string? SelectedFilePath { get; set; }
public int SelectedCentralYear { get; set; }
}