51 lines
1.6 KiB
C#
51 lines
1.6 KiB
C#
using Expose.MyIT.Shared.Models.Methods;
|
|
using Expose.MyIT.Shared.ViewModels;
|
|
using Serilog.Context;
|
|
using System.Text.Json;
|
|
|
|
namespace Expose.MyIT.Server.Models;
|
|
|
|
public class SsaOrderRepository : ISsaOrderRepository
|
|
{
|
|
|
|
private readonly Serilog.ILogger _Log;
|
|
|
|
public SsaOrderRepository() => _Log = Serilog.Log.ForContext<SsaOrderRepository>();
|
|
|
|
private static SsaOrder[] GetSsaOrders(Shared.Models.SSA? ssa)
|
|
{
|
|
SsaOrder[] result = Shared.Models.Stateless.Methods.ISsaOrder.GetSsaOrders(ssa);
|
|
return result;
|
|
}
|
|
|
|
private static Shared.Models.SSA? GetSsaOrders()
|
|
{
|
|
Shared.Models.SSA? result;
|
|
string jsonFile = Path.Combine(AppContext.BaseDirectory, "ssa.json");
|
|
string json = File.ReadAllText(jsonFile);
|
|
result = JsonSerializer.Deserialize<Shared.Models.SSA>(json);
|
|
return result;
|
|
}
|
|
|
|
async Task<SsaOrder[]> ISsaOrderRepository.GetAllSsaOrders()
|
|
{
|
|
SsaOrder[] results;
|
|
string? methodName = Shared.Models.Stateless.Methods.IMethodName.GetActualAsyncMethodName();
|
|
using (LogContext.PushProperty("MethodName", methodName))
|
|
{
|
|
_Log.Debug("() => ...");
|
|
Shared.Models.SSA? ssa = await Task.Run(GetSsaOrders);
|
|
results = GetSsaOrders(ssa);
|
|
}
|
|
return results.ToArray();
|
|
}
|
|
|
|
async Task<SsaOrder[]> ISsaOrderRepository.GetSsaOrders(string id)
|
|
{
|
|
SsaOrder[] results;
|
|
Shared.Models.SSA? ssa = await Task.Run(GetSsaOrders);
|
|
results = GetSsaOrders(ssa).Where(l => l.Id == id).ToArray();
|
|
return results;
|
|
}
|
|
|
|
} |