Added Viewer and

change to App Setting File from Constants
This commit is contained in:
2022-07-27 10:47:57 -07:00
parent 2afec95704
commit b155863645
1012 changed files with 53014 additions and 110896 deletions

View File

@ -0,0 +1,60 @@
using System.Text.Json;
using System.Text.Json.Serialization;
namespace OI.Metrology.Archive.Models;
public class AppSettings
{
protected string _ApiLoggingContentTypes;
protected string _ApiLoggingPathPrefixes;
protected string _ApiLogPath;
protected string _AttachmentPath;
protected string _BuildNumber;
protected string _Company;
protected string _ConnectionString;
protected string _GitCommitSeven;
protected string _InboundApiAllowedIPList;
protected string _MonARessource;
protected string _OIExportPath;
protected string _URLs;
protected string _WorkingDirectoryName;
public string ApiLoggingContentTypes => _ApiLoggingContentTypes;
public string ApiLoggingPathPrefixes => _ApiLoggingPathPrefixes;
public string ApiLogPath => _ApiLogPath;
public string AttachmentPath => _AttachmentPath;
public string BuildNumber => _BuildNumber;
public string Company => _Company;
public string ConnectionString => _ConnectionString;
public string GitCommitSeven => _GitCommitSeven;
public string InboundApiAllowedIPList => _InboundApiAllowedIPList;
public string MonARessource => _MonARessource;
public string OIExportPath => _OIExportPath;
public string URLs => _URLs;
public string WorkingDirectoryName => _WorkingDirectoryName;
[JsonConstructor]
public AppSettings(string apiLoggingContentTypes, string apiLoggingPathPrefixes, string apiLogPath, string attachmentPath, string buildNumber, string company, string connectionString, string gitCommitSeven, string inboundApiAllowedIPList, string monARessource, string oiExportPath, string urls, string workingDirectoryName)
{
_ApiLoggingContentTypes = apiLoggingContentTypes;
_ApiLoggingPathPrefixes = apiLoggingPathPrefixes;
_ApiLogPath = apiLogPath;
_AttachmentPath = attachmentPath;
_BuildNumber = buildNumber;
_Company = company;
_ConnectionString = connectionString;
_GitCommitSeven = gitCommitSeven;
_InboundApiAllowedIPList = inboundApiAllowedIPList;
_MonARessource = monARessource;
_OIExportPath = oiExportPath;
_URLs = urls;
_WorkingDirectoryName = workingDirectoryName;
}
public override string ToString()
{
string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true });
return result;
}
}

View File

@ -0,0 +1,46 @@
using System.ComponentModel.DataAnnotations;
using System.Text.Json;
namespace OI.Metrology.Archive.Models.Binder;
public class AppSettings
{
[Display(Name = "Api Logging Content Types"), Required] public string ApiLoggingContentTypes { get; set; }
[Display(Name = "Api Logging Path Prefixes"), Required] public string ApiLoggingPathPrefixes { get; set; }
[Display(Name = "Api Log Path"), Required] public string ApiLogPath { get; set; }
[Display(Name = "Attachment Path"), Required] public string AttachmentPath { get; set; }
[Display(Name = "Build Number"), Required] public string BuildNumber { get; set; }
[Display(Name = "Company"), Required] public string Company { get; set; }
[Display(Name = "Connection String"), Required] public string ConnectionString { get; set; }
[Display(Name = "Git Commit Seven"), Required] public string GitCommitSeven { get; set; }
[Display(Name = "Inbound Api Allowed IP List"), Required] public string InboundApiAllowedIPList { get; set; }
[Display(Name = "MonA Ressource"), Required] public string MonARessource { get; set; }
[Display(Name = "OI Export Path"), Required] public string OIExportPath { get; set; }
[Display(Name = "URLs"), Required] public string URLs { get; set; }
[Display(Name = "Working Directory Name"), Required] public string WorkingDirectoryName { get; set; }
public AppSettings()
{
ApiLoggingContentTypes = string.Empty;
ApiLoggingPathPrefixes = string.Empty;
ApiLogPath = string.Empty;
AttachmentPath = string.Empty;
BuildNumber = string.Empty;
Company = string.Empty;
ConnectionString = string.Empty;
GitCommitSeven = string.Empty;
InboundApiAllowedIPList = string.Empty;
MonARessource = string.Empty;
OIExportPath = string.Empty;
URLs = string.Empty;
WorkingDirectoryName = string.Empty;
}
public override string ToString()
{
string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true });
return result;
}
}

View File

@ -0,0 +1,44 @@
using Microsoft.Extensions.Configuration;
using System;
using System.Linq;
using System.Text.Json;
namespace OI.Metrology.Archive.Models.Stateless;
public abstract class AppSettings
{
#nullable enable
public static Models.AppSettings Get(IConfigurationRoot configurationRoot)
{
Models.AppSettings? result;
Binder.AppSettings appSettings = configurationRoot.Get<Binder.AppSettings>();
string json = JsonSerializer.Serialize(appSettings, new JsonSerializerOptions() { WriteIndented = true });
result = JsonSerializer.Deserialize<Models.AppSettings>(json);
if (result is null)
throw new Exception(json);
if (string.IsNullOrEmpty(result.Company))
throw new Exception(json);
string jsonThis = result.ToString();
if (jsonThis != json)
{
int? check = null;
int min = new int[] { json.Length, jsonThis.Length }.Min();
for (int i = 0; i < min; i++)
{
if (json[i] == jsonThis[i])
continue;
check = i;
break;
}
if (check is null)
throw new Exception();
string a = json[..check.Value].Split(',')[^1];
string b = json[check.Value..].Split(',')[0];
throw new Exception($"{a}{b}");
}
return result;
}
}