diff --git a/Server/OI.Metrology.Server.csproj b/Server/OI.Metrology.Server.csproj
index 1bbd9b6..b3642ec 100644
--- a/Server/OI.Metrology.Server.csproj
+++ b/Server/OI.Metrology.Server.csproj
@@ -28,19 +28,19 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
+
-
+
diff --git a/Server/Repositories/ExportRepository.cs b/Server/Repositories/ExportRepository.cs
index ad6eb62..86ef7bc 100644
--- a/Server/Repositories/ExportRepository.cs
+++ b/Server/Repositories/ExportRepository.cs
@@ -2,6 +2,7 @@ using OI.Metrology.Server.Models;
using OI.Metrology.Shared.DataModels;
using OI.Metrology.Shared.Models;
using OI.Metrology.Shared.Models.Stateless;
+using System.Collections.ObjectModel;
using System.Data;
using System.Globalization;
using System.Text;
@@ -44,15 +45,15 @@ public class ExportRepository : IExportRepository
List results = new();
Uri uri;
string[] weeks = Get();
- List nginxFileSystemSortableCollection;
+ ReadOnlyCollection collection;
foreach (string weekYear in weeks)
{
if (headerCommon.ID < 1)
uri = _FileShareRepository.Append(new Uri(_AppSettings.EcMesaFileShareMetrologySi), "Archive", "API", weekYear, $"-{headerCommon.PSN}", $"-{headerCommon.Reactor}", $"-{headerCommon.RDS}");
else
uri = _FileShareRepository.Append(new Uri(_AppSettings.EcMesaFileShareMetrologySi), "Archive", "API", weekYear, $"-{headerCommon.PSN}", $"-{headerCommon.Reactor}", $"-{headerCommon.RDS}", $"-{headerCommon.ID}");
- nginxFileSystemSortableCollection = _FileShareRepository.GetNginxFileSystemSortableCollection(httpClient, uri, endsWith);
- results.AddRange(nginxFileSystemSortableCollection);
+ collection = _FileShareRepository.GetNginxFileSystemSortableCollection(httpClient, uri, endsWith);
+ results.AddRange(collection);
}
return results.OrderByDescending(l => l.DateTime).ToArray();
}
diff --git a/Server/Repositories/FileShareRepository.cs b/Server/Repositories/FileShareRepository.cs
index cd3bcf5..ec48542 100644
--- a/Server/Repositories/FileShareRepository.cs
+++ b/Server/Repositories/FileShareRepository.cs
@@ -1,5 +1,7 @@
+using OI.Metrology.Shared.DataModels;
using OI.Metrology.Shared.Models;
using OI.Metrology.Shared.Models.Stateless;
+using System.Collections.ObjectModel;
using System.Text.Json;
using System.Web;
@@ -78,7 +80,7 @@ public class FileShareRepository : IFileShareRepository
return result;
}
- List IFileShareRepository.GetNginxFileSystemSortableCollection(HttpClient httpClient, Uri uri, string? endsWith)
+ ReadOnlyCollection IFileShareRepository.GetNginxFileSystemSortableCollection(HttpClient httpClient, Uri uri, string? endsWith)
{
List results = new();
Task httpResponseMessage = httpClient.GetAsync(uri);
@@ -97,10 +99,13 @@ public class FileShareRepository : IFileShareRepository
results.Add(nginxFileSystemSortable);
}
}
- return results;
+ return new(results);
}
- List IFileShareRepository.GetArchiveData(CharacterizationParameters archiveParameters) =>
+ ReadOnlyCollection IFileShareRepository.GetArchiveData(CharacterizationParameters archiveParameters) =>
+ throw new NotImplementedException();
+
+ ReadOnlyCollection IFileShareRepository.GetEquipmentIds() =>
throw new NotImplementedException();
}
\ No newline at end of file
diff --git a/Shared/DataModels/WaferCounterArchive.cs b/Shared/DataModels/WaferCounterArchive.cs
new file mode 100644
index 0000000..5b2ae24
--- /dev/null
+++ b/Shared/DataModels/WaferCounterArchive.cs
@@ -0,0 +1,36 @@
+using System.Text.Json.Serialization;
+
+namespace OI.Metrology.Shared.DataModels;
+
+public class WaferCounterArchive
+{
+
+ public long ID { get; set; }
+ public DateTime InsertDate { get; set; }
+ public Guid AttachmentID { get; set; }
+ public string? Title { get; set; }
+ public DateTime Date { get; set; }
+ public long ToolTypeID { get; set; }
+ public string? ToolTypeName { get; set; }
+
+ public string? MesEntity { get; set; }
+
+ public string? Employee { get; set; }
+ public string? Layer { get; set; }
+ public string? PSN { get; set; }
+ public string? RDS { get; set; }
+ public string? Reactor { get; set; }
+ public string? Recipe { get; set; }
+ public string? Zone { get; set; }
+
+ public string? SlotMap { get; set; }
+ public string? Text { get; set; }
+ public int? Total { get; set; }
+
+}
+
+[JsonSourceGenerationOptions(WriteIndented = true, NumberHandling = JsonNumberHandling.AllowReadingFromString)]
+[JsonSerializable(typeof(WaferCounterArchive))]
+public partial class WaferCounterArchiveSourceGenerationContext : JsonSerializerContext
+{
+}
\ No newline at end of file
diff --git a/Shared/Models/CharacterizationParameters.cs b/Shared/Models/CharacterizationParameters.cs
index fa96fda..18275a0 100644
--- a/Shared/Models/CharacterizationParameters.cs
+++ b/Shared/Models/CharacterizationParameters.cs
@@ -13,4 +13,4 @@ public record CharacterizationParameters([property: JsonPropertyName("area")] st
[JsonSerializable(typeof(CharacterizationParameters))]
public partial class CharacterizationParametersSourceGenerationContext : JsonSerializerContext
{
-}
+}
\ No newline at end of file
diff --git a/Shared/Models/PollValue.cs b/Shared/Models/PollValue.cs
new file mode 100644
index 0000000..277b542
--- /dev/null
+++ b/Shared/Models/PollValue.cs
@@ -0,0 +1,17 @@
+using System.Text.Json.Serialization;
+
+namespace OI.Metrology.Shared.Models;
+
+public record PollValue(string? Json,
+ [property: JsonPropertyName("id")] int? Id,
+ [property: JsonPropertyName("page")] string? Page,
+ string? QueryString,
+ string? RemoteIpAddress,
+ [property: JsonPropertyName("time")] long? Time,
+ [property: JsonPropertyName("value")] int? Value);
+
+[JsonSourceGenerationOptions(WriteIndented = true, NumberHandling = JsonNumberHandling.AllowReadingFromString)]
+[JsonSerializable(typeof(PollValue))]
+public partial class PollValueSourceGenerationContext : JsonSerializerContext
+{
+}
\ No newline at end of file
diff --git a/Shared/Models/Stateless/IAzureDevOpsController.cs b/Shared/Models/Stateless/IAzureDevOpsController.cs
new file mode 100644
index 0000000..31998d2
--- /dev/null
+++ b/Shared/Models/Stateless/IAzureDevOpsController.cs
@@ -0,0 +1,16 @@
+namespace OI.Metrology.Shared.Models.Stateless;
+
+public interface IAzureDevOpsController
+{
+
+ enum Action : int
+ {
+ Index = 0,
+ Save = 1
+ }
+
+ static string GetRouteName() => nameof(IAzureDevOpsController)[1..^10];
+
+ T Save();
+
+}
\ No newline at end of file
diff --git a/Shared/Models/Stateless/IAzureDevOpsRepository.cs b/Shared/Models/Stateless/IAzureDevOpsRepository.cs
new file mode 100644
index 0000000..c84e08c
--- /dev/null
+++ b/Shared/Models/Stateless/IAzureDevOpsRepository.cs
@@ -0,0 +1,8 @@
+namespace OI.Metrology.Shared.Models.Stateless;
+
+public interface IAzureDevOpsRepository
+{
+
+ void Save(PollValue pollValue);
+
+}
\ No newline at end of file
diff --git a/Shared/Models/Stateless/IFileShareRepository.cs b/Shared/Models/Stateless/IFileShareRepository.cs
index b92546c..1e4e731 100644
--- a/Shared/Models/Stateless/IFileShareRepository.cs
+++ b/Shared/Models/Stateless/IFileShareRepository.cs
@@ -1,3 +1,6 @@
+using OI.Metrology.Shared.DataModels;
+using System.Collections.ObjectModel;
+
namespace OI.Metrology.Shared.Models.Stateless;
public interface IFileShareRepository
@@ -7,9 +10,10 @@ public interface IFileShareRepository
void MoveFile(string from, string to);
Uri Append(Uri uri, params string[] paths);
void FileWrite(string path, string contents);
+ ReadOnlyCollection GetEquipmentIds();
HttpResponseMessage ReadFile(HttpClient httpClient, Uri uri);
void CopyFile(HttpClient httpClient, string from, string to);
void MoveFile(HttpClient httpClient, string from, string to);
- List GetArchiveData(CharacterizationParameters characterizationParameters);
- List GetNginxFileSystemSortableCollection(HttpClient httpClient, Uri uri, string? endsWith);
+ ReadOnlyCollection GetArchiveData(CharacterizationParameters characterizationParameters);
+ ReadOnlyCollection GetNginxFileSystemSortableCollection(HttpClient httpClient, Uri uri, string? endsWith);
}
\ No newline at end of file
diff --git a/Static/favicon.ico b/Static/favicon.ico
new file mode 100644
index 0000000..e9b409d
Binary files /dev/null and b/Static/favicon.ico differ
diff --git a/Static/files.html b/Static/files.html
index 68bfeb1..f9f3734 100644
--- a/Static/files.html
+++ b/Static/files.html
@@ -6,25 +6,25 @@
File(s)
-
+
-
-
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
@@ -64,7 +64,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -153,9 +121,9 @@
-
-
-
+
+
+