Viewer to Server

This commit is contained in:
2023-02-16 15:17:31 -07:00
parent 5c50078c04
commit a25dc93610
968 changed files with 16395 additions and 2385 deletions

View File

@ -0,0 +1,15 @@
namespace OI.Metrology.Shared.Models.Stateless;
public interface IAppSettingsController<T>
{
enum Action : int
{
App = 0,
DevOps = 1
}
static string GetRouteName() => nameof(IAppSettingsController<T>)[1..^10];
T GetAppSettings();
}

View File

@ -0,0 +1,9 @@
namespace OI.Metrology.Shared.Models.Stateless;
public interface IAppSettingsRepository<T>
{
T GetAppSettings();
string GetBuildNumberAndGitCommitSeven();
}

View File

@ -0,0 +1,18 @@
namespace OI.Metrology.Shared.Models.Stateless;
public interface IAwaitingDispoController<T>
{
enum Action : int
{
Index = 0,
MarkAsReviewed = 1,
MarkAsAwaiting = 2
}
static string GetRouteName() => nameof(IAwaitingDispoController<T>)[1..^10];
T Index();
T MarkAsReviewed(long headerid, int tooltypeid);
T MarkAsAwaiting(long headerid, int tooltypeid);
}

View File

@ -0,0 +1,16 @@
namespace OI.Metrology.Shared.Models.Stateless;
public interface IClientSettingsController<T>
{
enum Action : int
{
Client = 0,
IP = 1
}
static string GetRouteName() => nameof(IClientSettingsController<T>)[1..^10];
T GetClientSettings();
T GetIpAddress();
}

View File

@ -0,0 +1,11 @@
using System.Net;
namespace OI.Metrology.Shared.Models.Stateless;
public interface IClientSettingsRepository
{
List<string> GetClientSettings(IPAddress? remoteIpAddress);
string GetIpAddress(IPAddress? remoteIpAddress);
}

View File

@ -0,0 +1,17 @@
using Newtonsoft.Json.Linq;
namespace OI.Metrology.Shared.Models.Stateless;
public interface IInboundController<T>
{
enum Action : int
{
Index = 0
}
static string GetRouteName() => nameof(IInboundController<T>)[1..^10];
T Data(string tooltype, JToken jsonbody);
T AttachFile(string tooltype, long headerid, string datauniqueid = "");
}

View File

@ -0,0 +1,14 @@
using Newtonsoft.Json.Linq;
using OI.Metrology.Shared.Services;
using System.Net;
namespace OI.Metrology.Shared.Models.Stateless;
public interface IInboundRepository
{
bool IsIPAddressAllowed(string inboundApiAllowedIPList, IPAddress? remoteIP);
DataResponse Data(IMetrologyRepository metrologyRepository, IInboundDataService inboundDataService, string tooltype, JToken jsonbody);
string? AttachFile(IMetrologyRepository metrologyRepository, IAttachmentsService _AttachmentsService, string tooltype, long headerid, string datauniqueid, string fileName, object uploadedFile);
}

View File

@ -0,0 +1,10 @@
using System.Runtime.CompilerServices;
namespace OI.Metrology.Shared.Models.Stateless;
public interface IMethodName
{
static string? GetActualAsyncMethodName([CallerMemberName] string? name = null) => name;
}

View File

@ -0,0 +1,49 @@
using Newtonsoft.Json.Linq;
using OI.Metrology.Shared.DataModels;
using System.Data;
using System.Transactions;
namespace OI.Metrology.Shared.Models.Stateless;
public interface IMetrologyRepository
{
IEnumerable<ToolType> GetToolTypes();
ToolType GetToolTypeByName(string name);
ToolType GetToolTypeByID(int id);
IEnumerable<ToolTypeMetadata> GetToolTypeMetadataByToolTypeID(int id);
TransactionScope StartTransaction();
void PurgeExistingData(int toolTypeId, string title);
long InsertToolDataJSON(JToken jsonbody, long headerId, List<ToolTypeMetadata> metaData, string tableName);
DataTable ExportData(string spName, DateTime startTime, DateTime endTime);
DataTable GetHeaders(int toolTypeId, DateTime? startTime, DateTime? endTime, int? pageNo, int? pageSize, long? headerid, out long totalRecords);
DataTable GetData(int toolTypeId, long headerId);
DataTable GetDataSharePoint(int toolTypeId, string headerId);
HeaderCommon[] GetHeaderTitles(int? toolTypeId, int? pageNo, int? pageSize, out long totalRecords);
Guid GetHeaderAttachmentIDByTitle(int toolTypeId, string title);
Guid GetDataAttachmentIDByTitle(int toolTypeId, string title);
Guid GetHeaderAttachmentID(int toolTypeId, long headerId);
string GetHeaderInsertDate(int toolTypeId, long headerId);
string GetAttachmentInsertDateByGUID(string tableName, Guid attachmentId);
void SetHeaderDirName(string tableName, long headerId, string dateDir);
Guid GetDataAttachmentID(int toolTypeId, long headerId, string title);
string GetDataInsertDate(int toolTypeId, long headerId, string title);
void SetDataDirName(string tableName, long headerId, string title, string dateDir);
DataSet GetOIExportData(int toolTypeId, long headerid);
IEnumerable<KeyValuePair<string, string>> GetHeaderFields(int toolTypeId, long headerid);
IEnumerable<AwaitingDisposition> GetAwaitingDisposition();
int UpdateReviewDate(int toolTypeId, long headerId, bool clearDate);
}

View File

@ -0,0 +1,16 @@
namespace OI.Metrology.Shared.Models.Stateless;
public interface IPinController<T>
{
enum Action : int
{
Index = 0,
MarkAsPinned = 1
}
static string GetRouteName() => nameof(IPinController<T>)[1..^10];
T MarkAsPinned(DataModels.HeaderCommon headerCommon);
T GetPinnedTable(int toolTypeId, string? biorad_id = null, string? cde_id = null, string? rds = null);
}

View File

@ -0,0 +1,11 @@
using OI.Metrology.Shared.DataModels;
namespace OI.Metrology.Shared.Models.Stateless;
public interface IPinRepository
{
Result<Pinned[]> GetPinnedTable(IMetrologyRepository metrologyRepository, int id, string? biorad_id, string? cde_id, string? rds);
void SetPinnedTable(HeaderCommon headerCommon);
}

View File

@ -0,0 +1,11 @@
namespace OI.Metrology.Shared.Models.Stateless;
public interface IServiceShopOrder
{
ViewModels.ServiceShopOrder[] TestStatic_GetServiceShopOrders(ServiceShop? serviceShop) =>
GetServiceShopOrders(serviceShop);
static ViewModels.ServiceShopOrder[] GetServiceShopOrders(ServiceShop? serviceShop) =>
ServiceShopOrder.GetServiceShopOrders(serviceShop);
}

View File

@ -0,0 +1,15 @@
namespace OI.Metrology.Shared.Models.Stateless;
public interface IServiceShopOrderController<T>
{
enum Action : int
{
All = 0
}
static string GetRouteName() => nameof(IServiceShopOrderController<T>)[1..^10];
Task<T> GetAllServiceShopOrders();
Task<T> GetServiceShopOrders(string id);
}

View File

@ -0,0 +1,9 @@
namespace OI.Metrology.Shared.Models.Stateless;
public interface IServiceShopOrderRepository
{
Task<ViewModels.ServiceShopOrder[]> GetAllServiceShopOrders();
Task<ViewModels.ServiceShopOrder[]> GetServiceShopOrders(string id);
}

View File

@ -0,0 +1,21 @@
namespace OI.Metrology.Shared.Models.Stateless;
public interface IToolTypesController<T>
{
enum Action : int
{
Index = 0
}
static string GetRouteName() => nameof(IToolTypesController<T>)[1..^10];
T Index();
T GetToolTypeMetadata(int id, string sortby = "");
T GetHeaders(int id, DateTime? datebegin, DateTime? dateend, int? page, int? pagesize, long? headerid);
T GetHeaderTitles(int id, int? page, int? pagesize);
T GetHeaderFields(int id, long headerid);
T GetData(int id, long headerid);
T GetAttachment(int toolTypeId, string tabletype, string attachmentId, string filename);
T OIExport(int toolTypeId, long headerid);
}

View File

@ -0,0 +1,20 @@
using OI.Metrology.Shared.DataModels;
using OI.Metrology.Shared.Services;
using System.Data;
namespace OI.Metrology.Shared.Models.Stateless;
public interface IToolTypesRepository
{
Result<ToolTypeNameId[]> Index(IMetrologyRepository metrologyRepository);
Result<ToolTypeMetadataResult> GetToolTypeMetadata(IMetrologyRepository metrologyRepository, int id, string sortby = "");
Result<DataTable> GetHeaders(IMetrologyRepository metrologyRepository, int id, DateTime? datebegin, DateTime? dateend, int? page, int? pagesize, long? headerid);
Result<HeaderCommon[]> GetHeaderTitles(IMetrologyRepository metrologyRepository, int id, int? page, int? pagesize);
Result<ColumnValue[]> GetHeaderFields(IMetrologyRepository metrologyRepository, int id, long headerid);
Result<DataTable> GetData(IMetrologyRepository metrologyRepository, int id, long headerid);
(string?, string?, Stream?) GetAttachment(IMetrologyRepository metrologyRepository, IAttachmentsService attachmentsService, int toolTypeId, string tabletype, string attachmentId, string filename);
Exception? OIExport(IMetrologyRepository metrologyRepository, string oiExportPath, int toolTypeId, long headerid);
Result<DataTable> GetExportData(IMetrologyRepository metrologyRepository, int toolTypeId, DateTime? datebegin, DateTime? dateend);
byte[] GetCSVExport(IMetrologyRepository metrologyRepository, int toolTypeId, DateTime? datebegin, DateTime? dateend);
}

View File

@ -0,0 +1,16 @@
namespace OI.Metrology.Shared.Models.Stateless;
internal abstract class ServiceShopOrder
{
internal static ViewModels.ServiceShopOrder[] GetServiceShopOrders(ServiceShop? serviceShop)
{
ViewModels.ServiceShopOrder[] results;
if (serviceShop is null || !serviceShop.Orders.Any())
results = Array.Empty<ViewModels.ServiceShopOrder>();
else
results = serviceShop.Orders.Select(l => new ViewModels.ServiceShopOrder(l)).ToArray();
return results;
}
}