51 lines
1.8 KiB
C#
51 lines
1.8 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 ServiceShopOrderRepository : IServiceShopOrderRepository
|
|
{
|
|
|
|
private readonly Serilog.ILogger _Log;
|
|
|
|
public ServiceShopOrderRepository() => _Log = Serilog.Log.ForContext<ServiceShopOrderRepository>();
|
|
|
|
private static ServiceShopOrder[] GetServiceShopOrders(Shared.Models.ServiceShop? ServiceShop)
|
|
{
|
|
ServiceShopOrder[] result = Shared.Models.Stateless.Methods.IServiceShopOrder.GetServiceShopOrders(ServiceShop);
|
|
return result;
|
|
}
|
|
|
|
private static Shared.Models.ServiceShop? GetServiceShopOrders()
|
|
{
|
|
Shared.Models.ServiceShop? result;
|
|
string 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 = Shared.Models.Stateless.Methods.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;
|
|
}
|
|
|
|
} |