56 lines
2.0 KiB
C#
56 lines
2.0 KiB
C#
using OI.Metrology.Shared.Models.Stateless;
|
|
using OI.Metrology.Shared.ViewModels;
|
|
using Serilog.Context;
|
|
using System.Text.Json;
|
|
|
|
namespace OI.Metrology.Server.Repository;
|
|
|
|
public class ServiceShopOrderRepository : IServiceShopOrderRepository
|
|
{
|
|
|
|
private readonly Serilog.ILogger _Log;
|
|
|
|
public ServiceShopOrderRepository() => _Log = Serilog.Log.ForContext<ServiceShopOrderRepository>();
|
|
|
|
private static ServiceShopOrder[] GetServiceShopOrders(Shared.Models.ServiceShop? serviceShop)
|
|
{
|
|
ServiceShopOrder[] result = IServiceShopOrder.GetServiceShopOrders(serviceShop);
|
|
return result;
|
|
}
|
|
|
|
private static Shared.Models.ServiceShop? GetServiceShopOrders()
|
|
{
|
|
Shared.Models.ServiceShop? result;
|
|
string jsonFile;
|
|
string checkDirectory = Path.Combine(AppContext.BaseDirectory, "Data/Mike");
|
|
if (Directory.Exists(checkDirectory))
|
|
jsonFile = Path.Combine(checkDirectory, "service-shop.json");
|
|
else
|
|
jsonFile = Path.Combine(AppContext.BaseDirectory, "service-shop.json");
|
|
string json = File.ReadAllText(jsonFile);
|
|
result = JsonSerializer.Deserialize<Shared.Models.ServiceShop>(json);
|
|
return result;
|
|
}
|
|
|
|
async Task<ServiceShopOrder[]> IServiceShopOrderRepository.GetAllServiceShopOrders()
|
|
{
|
|
ServiceShopOrder[] results;
|
|
string? methodName = IMethodName.GetActualAsyncMethodName();
|
|
using (LogContext.PushProperty("MethodName", methodName))
|
|
{
|
|
_Log.Debug("() => ...");
|
|
Shared.Models.ServiceShop? serviceShop = await Task.Run(GetServiceShopOrders);
|
|
results = GetServiceShopOrders(serviceShop);
|
|
}
|
|
return results.ToArray();
|
|
}
|
|
|
|
async Task<ServiceShopOrder[]> IServiceShopOrderRepository.GetServiceShopOrders(string id)
|
|
{
|
|
ServiceShopOrder[] results;
|
|
Shared.Models.ServiceShop? serviceShop = await Task.Run(GetServiceShopOrders);
|
|
results = GetServiceShopOrders(serviceShop).Where(l => l.Id == id).ToArray();
|
|
return results;
|
|
}
|
|
|
|
} |