56 lines
1.7 KiB
C#
56 lines
1.7 KiB
C#
using Expose.MyIT.Shared.Models.Stateless;
|
|
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 = ISsaOrder.GetSsaOrders(ssa);
|
|
return result;
|
|
}
|
|
|
|
private static Shared.Models.Ssa? GetSsaOrders()
|
|
{
|
|
Shared.Models.Ssa? result;
|
|
string jsonFile;
|
|
string checkDirectory = Path.Combine(AppContext.BaseDirectory, "Data/Mike");
|
|
if (Directory.Exists(checkDirectory))
|
|
jsonFile = Path.Combine(checkDirectory, "ssa.json");
|
|
else
|
|
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 = 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;
|
|
}
|
|
|
|
} |