TargetFramework update,
reference updates and added tests for Viewer
This commit is contained in:
7
Shared/Models/AdditionalData.cs
Normal file
7
Shared/Models/AdditionalData.cs
Normal file
@ -0,0 +1,7 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace OI.Metrology.Shared.Models;
|
||||
|
||||
public record AdditionalData(
|
||||
[property: JsonPropertyName("ServiceId")] string ServiceId
|
||||
);
|
9
Shared/Models/AllowedActions.cs
Normal file
9
Shared/Models/AllowedActions.cs
Normal file
@ -0,0 +1,9 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace OI.Metrology.Shared.Models;
|
||||
|
||||
public record AllowedActions(
|
||||
[property: JsonPropertyName("Incident")] bool Incident,
|
||||
[property: JsonPropertyName("Accept")] bool Accept,
|
||||
[property: JsonPropertyName("Reorder")] bool Reorder
|
||||
);
|
18
Shared/Models/Booking.cs
Normal file
18
Shared/Models/Booking.cs
Normal file
@ -0,0 +1,18 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace OI.Metrology.Shared.Models;
|
||||
|
||||
public record Booking(
|
||||
[property: JsonPropertyName("Catalog")] Catalog Catalog,
|
||||
[property: JsonPropertyName("Name")] string Name,
|
||||
[property: JsonPropertyName("Description")] string Description,
|
||||
[property: JsonPropertyName("PaymentMethod")] int PaymentMethod,
|
||||
[property: JsonPropertyName("Service")] Service Service,
|
||||
[property: JsonPropertyName("Order")] Order Order,
|
||||
[property: JsonPropertyName("ApprovalStatus")] int ApprovalStatus,
|
||||
[property: JsonPropertyName("AllowedActions")] AllowedActions AllowedActions,
|
||||
[property: JsonPropertyName("ObjectId")] string ObjectId,
|
||||
[property: JsonPropertyName("Id")] string Id,
|
||||
[property: JsonPropertyName("Quantity")] int Quantity,
|
||||
[property: JsonPropertyName("AdditionalData")] AdditionalData AdditionalData
|
||||
);
|
9
Shared/Models/Catalog.cs
Normal file
9
Shared/Models/Catalog.cs
Normal file
@ -0,0 +1,9 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace OI.Metrology.Shared.Models;
|
||||
|
||||
public record Catalog(
|
||||
[property: JsonPropertyName("Id")] string Id,
|
||||
[property: JsonPropertyName("Name")] string Name,
|
||||
[property: JsonPropertyName("CurrencyCode")] string CurrencyCode
|
||||
);
|
19
Shared/Models/DataResponse.cs
Normal file
19
Shared/Models/DataResponse.cs
Normal file
@ -0,0 +1,19 @@
|
||||
namespace OI.Metrology.Shared.Models;
|
||||
|
||||
public class DataResponse
|
||||
{
|
||||
|
||||
public bool Success { get; set; }
|
||||
public long HeaderID { get; set; }
|
||||
public List<string> Errors { get; set; }
|
||||
public List<string> Warnings { get; set; }
|
||||
|
||||
public DataResponse()
|
||||
{
|
||||
HeaderID = -1;
|
||||
Success = false;
|
||||
Errors = new List<string>();
|
||||
Warnings = new List<string>();
|
||||
}
|
||||
|
||||
}
|
26
Shared/Models/Order.cs
Normal file
26
Shared/Models/Order.cs
Normal file
@ -0,0 +1,26 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace OI.Metrology.Shared.Models;
|
||||
|
||||
public record Order(
|
||||
[property: JsonPropertyName("Bookings")] IReadOnlyList<Booking> Bookings,
|
||||
[property: JsonPropertyName("AllowedActions")] AllowedActions AllowedActions,
|
||||
[property: JsonPropertyName("Id")] string Id,
|
||||
[property: JsonPropertyName("ObjectId")] string ObjectId,
|
||||
[property: JsonPropertyName("Name")] string Name,
|
||||
[property: JsonPropertyName("Type")] string Type,
|
||||
[property: JsonPropertyName("TypeId")] int TypeId,
|
||||
[property: JsonPropertyName("State")] string State,
|
||||
[property: JsonPropertyName("StateId")] int StateId,
|
||||
[property: JsonPropertyName("StateIcon")] string StateIcon,
|
||||
[property: JsonPropertyName("StateColor")] string StateColor,
|
||||
[property: JsonPropertyName("ItemNumber")] string ItemNumber,
|
||||
[property: JsonPropertyName("CreatedDate")] DateTime CreatedDate,
|
||||
[property: JsonPropertyName("DecidedDate")] DateTime DecidedDate,
|
||||
[property: JsonPropertyName("CostCenterId")] string CostCenterId,
|
||||
[property: JsonPropertyName("CostCenterName")] string CostCenterName,
|
||||
[property: JsonPropertyName("Recipient")] string Recipient,
|
||||
[property: JsonPropertyName("RecipientId")] string RecipientId,
|
||||
[property: JsonPropertyName("Requestor")] string Requestor,
|
||||
[property: JsonPropertyName("RequestorId")] string RequestorId
|
||||
);
|
7
Shared/Models/Price.cs
Normal file
7
Shared/Models/Price.cs
Normal file
@ -0,0 +1,7 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace OI.Metrology.Shared.Models;
|
||||
|
||||
public record Price(
|
||||
[property: JsonPropertyName("CC")] string CC
|
||||
);
|
20
Shared/Models/Service.cs
Normal file
20
Shared/Models/Service.cs
Normal file
@ -0,0 +1,20 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace OI.Metrology.Shared.Models;
|
||||
|
||||
public record Service(
|
||||
[property: JsonPropertyName("Id")] string Id,
|
||||
[property: JsonPropertyName("Quantity")] int Quantity,
|
||||
[property: JsonPropertyName("PaymentMethod")] int PaymentMethod,
|
||||
[property: JsonPropertyName("Price")] Price Price,
|
||||
[property: JsonPropertyName("ObjectId")] string ObjectId,
|
||||
[property: JsonPropertyName("ConfigurationItemType")] int ConfigurationItemType,
|
||||
[property: JsonPropertyName("ConfigurationItemTypeName")] string ConfigurationItemTypeName,
|
||||
[property: JsonPropertyName("ServiceType")] int ServiceType,
|
||||
[property: JsonPropertyName("CustomFormEntityId")] string CustomFormEntityId,
|
||||
[property: JsonPropertyName("CustomFormEntityName")] string CustomFormEntityName,
|
||||
[property: JsonPropertyName("CreateMultipleBookings")] bool CreateMultipleBookings,
|
||||
[property: JsonPropertyName("AllowIdenticalInstances")] bool AllowIdenticalInstances,
|
||||
[property: JsonPropertyName("Catalog")] Catalog Catalog,
|
||||
[property: JsonPropertyName("UninstallationMode")] int? UninstallationMode
|
||||
);
|
8
Shared/Models/ServiceShop.cs
Normal file
8
Shared/Models/ServiceShop.cs
Normal file
@ -0,0 +1,8 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace OI.Metrology.Shared.Models;
|
||||
|
||||
public record ServiceShop(
|
||||
[property: JsonPropertyName("Orders")] IReadOnlyList<Order> Orders,
|
||||
[property: JsonPropertyName("Total")] int Total
|
||||
);
|
15
Shared/Models/Stateless/IAppSettingsController.cs
Normal file
15
Shared/Models/Stateless/IAppSettingsController.cs
Normal 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();
|
||||
|
||||
}
|
9
Shared/Models/Stateless/IAppSettingsRepository.cs
Normal file
9
Shared/Models/Stateless/IAppSettingsRepository.cs
Normal file
@ -0,0 +1,9 @@
|
||||
namespace OI.Metrology.Shared.Models.Stateless;
|
||||
|
||||
public interface IAppSettingsRepository
|
||||
{
|
||||
|
||||
List<string> GetAppSettings();
|
||||
string GetBuildNumberAndGitCommitSeven();
|
||||
|
||||
}
|
16
Shared/Models/Stateless/IClientSettingsController.cs
Normal file
16
Shared/Models/Stateless/IClientSettingsController.cs
Normal 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();
|
||||
|
||||
}
|
11
Shared/Models/Stateless/IClientSettingsRepository.cs
Normal file
11
Shared/Models/Stateless/IClientSettingsRepository.cs
Normal 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);
|
||||
|
||||
}
|
17
Shared/Models/Stateless/IInboundController.cs
Normal file
17
Shared/Models/Stateless/IInboundController.cs
Normal 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 = "");
|
||||
|
||||
}
|
14
Shared/Models/Stateless/IInboundRepository.cs
Normal file
14
Shared/Models/Stateless/IInboundRepository.cs
Normal 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);
|
||||
|
||||
}
|
10
Shared/Models/Stateless/IMethodName.cs
Normal file
10
Shared/Models/Stateless/IMethodName.cs
Normal 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;
|
||||
|
||||
}
|
51
Shared/Models/Stateless/IMetrologyRepository.cs
Normal file
51
Shared/Models/Stateless/IMetrologyRepository.cs
Normal file
@ -0,0 +1,51 @@
|
||||
using Newtonsoft.Json.Linq;
|
||||
using OI.Metrology.Shared.DataModels;
|
||||
using System.Data;
|
||||
using System.Transactions;
|
||||
|
||||
namespace OI.Metrology.Shared.Models.Stateless;
|
||||
|
||||
public interface IMetrologyRepository
|
||||
{
|
||||
|
||||
bool IsTestDatabase();
|
||||
|
||||
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);
|
||||
|
||||
IEnumerable<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<AwaitingDispo> GetAwaitingDispo();
|
||||
|
||||
int UpdateReviewDate(int toolTypeId, long headerId, bool clearDate);
|
||||
|
||||
}
|
11
Shared/Models/Stateless/IServiceShopOrder.cs
Normal file
11
Shared/Models/Stateless/IServiceShopOrder.cs
Normal 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);
|
||||
|
||||
}
|
15
Shared/Models/Stateless/IServiceShopOrderController.cs
Normal file
15
Shared/Models/Stateless/IServiceShopOrderController.cs
Normal 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);
|
||||
|
||||
}
|
9
Shared/Models/Stateless/IServiceShopOrderRepository.cs
Normal file
9
Shared/Models/Stateless/IServiceShopOrderRepository.cs
Normal file
@ -0,0 +1,9 @@
|
||||
namespace OI.Metrology.Shared.Models.Stateless;
|
||||
|
||||
public interface IServiceShopOrderRepository
|
||||
{
|
||||
|
||||
Task<ViewModels.ServiceShopOrder[]> GetAllServiceShopOrders();
|
||||
Task<ViewModels.ServiceShopOrder[]> GetServiceShopOrders(string id);
|
||||
|
||||
}
|
21
Shared/Models/Stateless/IToolTypesController.cs
Normal file
21
Shared/Models/Stateless/IToolTypesController.cs
Normal 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);
|
||||
|
||||
}
|
17
Shared/Models/Stateless/IToolTypesRepository.cs
Normal file
17
Shared/Models/Stateless/IToolTypesRepository.cs
Normal file
@ -0,0 +1,17 @@
|
||||
using OI.Metrology.Shared.Services;
|
||||
|
||||
namespace OI.Metrology.Shared.Models.Stateless;
|
||||
|
||||
public interface IToolTypesRepository
|
||||
{
|
||||
|
||||
object Index(IMetrologyRepository metrologyRepository);
|
||||
object GetToolTypeMetadata(IMetrologyRepository metrologyRepository, int id, string sortby = "");
|
||||
string GetHeaders(IMetrologyRepository metrologyRepository, int id, DateTime? datebegin, DateTime? dateend, int? page, int? pagesize, long? headerid);
|
||||
string GetHeaderTitles(IMetrologyRepository metrologyRepository, int id, int? page, int? pagesize);
|
||||
string GetHeaderFields(IMetrologyRepository metrologyRepository, int id, long headerid);
|
||||
string 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);
|
||||
|
||||
}
|
16
Shared/Models/Stateless/ServiceShopOrder.cs
Normal file
16
Shared/Models/Stateless/ServiceShopOrder.cs
Normal 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;
|
||||
}
|
||||
|
||||
}
|
@ -1,5 +0,0 @@
|
||||
namespace OI.Metrology.Shared.Models;
|
||||
|
||||
public class TencorRunHeaders
|
||||
{
|
||||
}
|
Reference in New Issue
Block a user