diff --git a/Archive/Repositories/MetrologyRepo.cs b/Archive/Repositories/MetrologyRepo.cs index c4ebc16..6f59bb6 100644 --- a/Archive/Repositories/MetrologyRepo.cs +++ b/Archive/Repositories/MetrologyRepo.cs @@ -29,20 +29,6 @@ public class MetrologyRepository : IMetrologyRepository protected DbProviderFactory GetDbProviderFactory(IDbConnection conn) => DbProviderFactories.GetFactory(conn.GetType().Namespace); - public bool IsTestDatabase() - { - int c = 0; - using (DbConnection conn = GetDbConnection()) - { - c = conn.Query( - "SELECT COUNT(*) " + - "FROM Configuration " + - "WHERE KeyName = 'TestDatabase' " + - "AND ValueString = '1'").FirstOrDefault(); - } - return c > 0; - } - public TransactionScope StartTransaction() => new(); protected void CacheItem(string key, object v) diff --git a/Server/Data/Tests/GetAllServiceShopOrdersApi.json b/Server/Data/Tests/GetAllServiceShopOrdersApi.json new file mode 100644 index 0000000..e68a134 --- /dev/null +++ b/Server/Data/Tests/GetAllServiceShopOrdersApi.json @@ -0,0 +1 @@ +[{"id":"23188d3d-9b75-ed11-ab8b-0050568f2fc3","name":"ORD2491814-Install","bookingNames":["Hybrid Infineon Cloud Platform Consulting [Mesa]"],"type":"Install","state":"Provisioned","itemNumber":"ORD2491814","createdDate":"2022-12-06T19:21:55.767Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"0d21afd1-ea74-ed11-ab8b-0050568f2fc3","name":"ORD2490311-Install","bookingNames":["LAN Port [Mesa]"],"type":"Install","state":"Provisioned","itemNumber":"ORD2490311","createdDate":"2022-12-05T22:19:06.703Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"cd2051f5-0c72-ed11-ab8b-0050568f2fc3","name":"ORD2487507-Install","bookingNames":["ICP Project - New [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD2487507","createdDate":"2022-12-02T06:45:55.123Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"e81a8625-dc70-ed11-ab8b-0050568f2fc3","name":"ORD2485441-Install","bookingNames":["Unix Account Deletion (Urania) pharesl [Mesa]"],"type":"Install","state":"Approved","itemNumber":"ORD2485441","createdDate":"2022-11-30T18:24:03.653Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"5735c925-dc70-ed11-ab8b-0050568f2fc3","name":"ORD2485440-Install","bookingNames":["Unix Personal Account Deletion (R&D and Business Unix) [Mesa]"],"type":"Install","state":"Approved","itemNumber":"ORD2485440","createdDate":"2022-11-30T18:24:00.41Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"d5c0bbe7-1070-ed11-ab8b-0050568f2fc3","name":"ORD2483773-Install","bookingNames":["Unix Personal Account pharesl [Mesa]","Add Location to Unix Personal Account in Mesa (BUX) [Mesa]"],"type":"Install","state":"Canceled","itemNumber":"ORD2483773","createdDate":"2022-11-29T18:09:10.93Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"5dc33de3-1070-ed11-ab8b-0050568f2fc3","name":"ORD2483772-Install","bookingNames":["Unix Personal Account [Mesa]"],"type":"Install","state":"Canceled","itemNumber":"ORD2483772","createdDate":"2022-11-29T18:09:04.08Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"e7b5d4a9-0670-ed11-ab8b-0050568f2fc3","name":"ORD2483739-Install","bookingNames":["Add Location to Unix Personal Account in El Segundo [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD2483739","createdDate":"2022-11-29T16:55:52.247Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"4d73eda6-0670-ed11-ab8b-0050568f2fc3","name":"ORD2483738-Install","bookingNames":["Add Location to Unix Personal Account [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD2483738","createdDate":"2022-11-29T16:55:47.6Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"ff5a8f70-1b6a-ed11-ab8b-0050568f2fc3","name":"ORD2475200-Install","bookingNames":["Special Account - Modification [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD2475200","createdDate":"2022-11-22T04:09:22.097Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"06fe1087-b224-ed11-aa8b-0050568f2fc3","name":"ORD2377575-Install","bookingNames":["Add Location to Unix Personal Account in Mesa (BUX) [Mesa]","Unix Personal Account phares [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD2377575","createdDate":"2022-08-25T20:14:41.11Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"98d04385-b224-ed11-aa8b-0050568f2fc3","name":"ORD2377574-Install","bookingNames":["Unix Personal Account [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD2377574","createdDate":"2022-08-25T20:14:33.35Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"04801f7b-6f1e-ed11-aa8b-0050568f2fc3","name":"ORD2369036-Install","bookingNames":["Fixed IP Address [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD2369036","createdDate":"2022-08-17T20:59:29.737Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"b5a8fd36-d219-ed11-aa8b-0050568f2fc3","name":"ORD2363429-Install","bookingNames":["EC File Share Access [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD2363429","createdDate":"2022-08-12T00:03:41.62Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"5e057130-d219-ed11-aa8b-0050568f2fc3","name":"ORD2363428-Install","bookingNames":["EC File Share Access [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD2363428","createdDate":"2022-08-12T00:03:36.77Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"08befe50-b819-ed11-aa8b-0050568f2fc3","name":"ORD2363373-Install","bookingNames":["File Share Access [Mesa]"],"type":"Install","state":"Declined","itemNumber":"ORD2363373","createdDate":"2022-08-11T20:58:23.757Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"570dd46e-e70c-ed11-a98b-0050568f2fc3","name":"ORD2344051-Install","bookingNames":["Terminal Server Software Rollout [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD2344051","createdDate":"2022-07-26T13:32:46.613Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"c6b50145-0109-ed11-a98b-0050568f2fc3","name":"ORD2339561-Install","bookingNames":["LAN Port [Mesa]","LAN Port [Mesa]","Fixed IP Address [Mesa]","Fixed IP Address [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD2339561","createdDate":"2022-07-21T14:27:43.987Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"e49d8c25-5afd-ec11-a98b-0050568f2fc3","name":"ORD2322650-Install","bookingNames":["LAN Port [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD2322650","createdDate":"2022-07-06T18:33:38.41Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"8de5db48-85fc-ec11-a98b-0050568f2fc3","name":"ORD2320980-Install","bookingNames":["LAN Port [Mesa]","Fixed IP Address [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD2320980","createdDate":"2022-07-05T17:09:56.557Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"51ed1363-41f6-ec11-a98b-0050568f2fc3","name":"ORD2311296-Install","bookingNames":["Fixed IP Address [Mesa]","Network Integration of Custom Endpoint [Mesa]","LAN Port [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD2311296","createdDate":"2022-06-27T17:48:48.4Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"af167202-2bdd-ec11-a98b-0050568f2fc3","name":"ORD2279358-Install","bookingNames":["FAB Client - Windows 10 [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD2279358","createdDate":"2022-05-26T19:35:40.003Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"cc433463-bbcf-ec11-a98b-0050568f2fc3","name":"ORD2261245-Install","bookingNames":["Special Account - Modification [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD2261245","createdDate":"2022-05-09T17:13:48.483Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"97e87cd2-8eb6-ec11-a88b-0050568f2fc3","name":"ORD2231674-Install","bookingNames":["Special Account for Clients & Applications [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD2231674","createdDate":"2022-04-07T16:21:56.127Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"f667356f-38a6-ec11-a88b-0050568f2fc3","name":"ORD2210129-Install","bookingNames":["Company iOS Smartphone [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD2210129","createdDate":"2022-03-17T21:23:07.677Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"e5802345-0e99-ec11-a88b-0050568f2fc3","name":"ORD2191816-Install","bookingNames":["LAN Port [Mesa]","Fixed IP Address [Mesa]","Network Integration of Custom Endpoint [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD2191816","createdDate":"2022-03-01T03:18:35.263Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"7b28de97-b679-ec11-a68b-0050568f2fc3","name":"ORD2153849-Install","bookingNames":[" Software Installation Permission [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD2153849","createdDate":"2022-01-20T06:02:54.303Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"66911360-2574-ec11-a68b-0050568f2fc3","name":"ORD2146469-Install","bookingNames":["Notebook/Desktop Refresh [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD2146469","createdDate":"2022-01-13T04:00:50.16Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"70686107-be1f-ec11-a58b-0050568f2fc3","name":"ORD2054518-Install","bookingNames":["Network Integration of Custom Endpoint [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD2054518","createdDate":"2021-09-27T18:09:26.67Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"b19f781a-bd1f-ec11-a58b-0050568f2fc3","name":"ORD2054514-Install","bookingNames":["Fixed IP Address [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD2054514","createdDate":"2021-09-27T18:02:41.113Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"617418af-e604-ec11-a58b-0050568f2fc3","name":"ORD2024785-Install","bookingNames":["Network Integration of Custom Endpoint [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD2024785","createdDate":"2021-08-24T14:22:21.323Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"2db141b1-e504-ec11-a58b-0050568f2fc3","name":"ORD2024775-Install","bookingNames":["Fixed IP Address [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD2024775","createdDate":"2021-08-24T14:15:17.09Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Carrier Todd (IFEPI NPI SQ)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"bdf16315-78ff-eb11-a58b-0050568f2fc3","name":"ORD2019789-Install","bookingNames":["LAN Port [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD2019789","createdDate":"2021-08-17T16:28:09.08Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"d95ab8d0-77ff-eb11-a58b-0050568f2fc3","name":"ORD2019788-Install","bookingNames":["Network Integration of Custom Endpoint [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD2019788","createdDate":"2021-08-17T16:26:13.04Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"0b2b876a-76ff-eb11-a58b-0050568f2fc3","name":"ORD2019782-Install","bookingNames":["Fixed IP Address [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD2019782","createdDate":"2021-08-17T16:16:03.98Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"4e9e4915-79fc-eb11-a58b-0050568f2fc3","name":"ORD2017280-Install","bookingNames":["EC Windows File Share - Modification [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD2017280","createdDate":"2021-08-13T20:57:38.22Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"0a5e45ab-e0f3-eb11-a58b-0050568f2fc3","name":"ORD2007190-Install","bookingNames":["Access to IDMS-Admin Application [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD2007190","createdDate":"2021-08-02T22:26:27.567Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"480a6c78-4aea-eb11-a38b-0050568f2fc3","name":"ORD1997545-Install","bookingNames":["Fixed IP Address [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1997545","createdDate":"2021-07-21T17:38:43.797Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"4e7617ec-49ea-eb11-a38b-0050568f2fc3","name":"ORD1997544-Install","bookingNames":["Network Integration of Custom Endpoint [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1997544","createdDate":"2021-07-21T17:34:45.517Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"e2364a1b-e5e8-eb11-a38b-0050568f2fc3","name":"ORD1995549-Install","bookingNames":["Network Integration of Custom Endpoint [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1995549","createdDate":"2021-07-19T23:00:31.723Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"c1ef96f6-ebd2-eb11-a38b-0050568f2fc3","name":"ORD1971080-Install","bookingNames":["Special Account - Modification [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1971080","createdDate":"2021-06-21T23:54:11.04Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"f4d2c4a3-9cc8-eb11-a38b-0050568f2fc3","name":"ORD1960613-Install","bookingNames":["FAB Client - Windows 10 [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1960613","createdDate":"2021-06-08T21:01:06.327Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"840fa35b-aeb2-eb11-a38b-0050568f2fc3","name":"ORD1940441-Install","bookingNames":["Special Account - Modification [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1940441","createdDate":"2021-05-11T23:12:34.803Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"e9d8b8cf-d0a2-eb11-a38b-0050568f2fc3","name":"ORD1924069-Install","bookingNames":["Fixed IP Address [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1924069","createdDate":"2021-04-21T18:38:49.7Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"9195f81c-3092-eb11-a28b-0050568f2fc3","name":"ORD1907380-Install","bookingNames":[" Software Installation Permission [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1907380","createdDate":"2021-03-31T14:48:14.21Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"a870de41-e090-eb11-a28b-0050568f2fc3","name":"ORD1905467-Install","bookingNames":["MailRelay - Internal Registration [Mesa]"," Software Installation Permission [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1905467","createdDate":"2021-03-29T22:44:02.82Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"a9917a8c-2681-eb11-a28b-0050568f2fc3","name":"ORD1890453-Install","bookingNames":["Functional Mailbox - Modification [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1890453","createdDate":"2021-03-09T22:27:01.43Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"ff7a50b0-506d-eb11-a28b-0050568f2fc3","name":"ORD1870543-Install","bookingNames":["LAN Port [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1870543","createdDate":"2021-02-12T16:38:17.58Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"1b1eff04-8961-eb11-a28b-0050568f2fc3","name":"ORD1858252-Install","bookingNames":["Fixed IP Address [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1858252","createdDate":"2021-01-28T16:51:17.703Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"6345b2a5-333b-eb11-a18b-0050568f2fc3","name":"ORD1827432-Install","bookingNames":["LAN Port [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1827432","createdDate":"2020-12-10T22:04:24.003Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"5793b421-663a-eb11-a18b-0050568f2fc3","name":"ORD1826546-Install","bookingNames":["Fixed IP Address [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1826546","createdDate":"2020-12-09T21:33:15.243Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"eafc2cbf-6133-eb11-a18b-0050568f2fc3","name":"ORD1819354-Install","bookingNames":["LAN Port [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1819354","createdDate":"2020-11-30T23:14:08.87Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"b0201b60-8f2a-eb11-a18b-0050568f2fc3","name":"ORD1812452-Install","bookingNames":["Network Integration of Custom Endpoint [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1812452","createdDate":"2020-11-19T17:48:11.447Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"606120c4-cf1a-eb11-a18b-0050568f2fc3","name":"ORD1797948-Install","bookingNames":["Fixed IP Address [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1797948","createdDate":"2020-10-30T16:48:44.377Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"6a39e246-189f-ea11-9d8b-0050568f2fc3","name":"ORD1692639-Install","bookingNames":["Account Validation - Change Owner for meseaf [Klagenfurt]","Account Validation - Change Owner for ifxeafadmin [Klagenfurt]","Account Validation - Change Owner for ifxedaadmin [Klagenfurt]","Account Validation - Change Owner for ECMESCEPEAFSVC [Klagenfurt]","Account Validation - Change Owner for ECMESEAF [Klagenfurt]"],"type":"Install","state":"Declined","itemNumber":"ORD1692639","createdDate":"2020-05-26T06:15:23.167Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Francois Rivard (IFAM IT FI MES)"},{"id":"f638c336-8c7a-ea11-998b-aa59a9db3b67","name":"ORD1671916-Install","bookingNames":["File Share Modification - Create/Delete Permission Group [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1671916","createdDate":"2020-04-09T18:02:09.323Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"bd2de2f7-016a-ea11-998b-aa59a9db3b67","name":"ORD1661220-Install","bookingNames":["Documentum (User Permission) [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1661220","createdDate":"2020-03-19T16:52:09.27Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"McIntyre Juanita (IFEPI QM)"},{"id":"db2390fe-5668-ea11-998b-aa59a9db3b67","name":"ORD1659112-Install","bookingNames":["Fixed IP Address [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1659112","createdDate":"2020-03-17T13:55:49.147Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"ba5b74be-1f3e-ea11-998b-aa59a9db3b67","name":"ORD1627366-Install","bookingNames":["CCL Windows File Share - Access/Modification [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1627366","createdDate":"2020-01-23T20:34:31.33Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"29cb357a-1f3e-ea11-998b-aa59a9db3b67","name":"ORD1627365-Install","bookingNames":["CCL Windows File Share - Access/Modification [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1627365","createdDate":"2020-01-23T20:32:31.427Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Becker Chad (IFEPI QM)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"08ff0d43-931e-ea11-988b-0050568f2fc3","name":"ORD1609447-Install","bookingNames":["SPaCe Account (Villach) [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1609447","createdDate":"2019-12-14T17:00:52.803Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Hector Gutierrez (IFEPI GaN OP)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"4b26a917-931e-ea11-988b-0050568f2fc3","name":"ORD1609446-Install","bookingNames":["SPaCe Account (Villach) [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1609446","createdDate":"2019-12-14T16:59:35.527Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Tungare Mihir (IFAM PSS TIE GTD DFR)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"9d20f9ef-921e-ea11-988b-0050568f2fc3","name":"ORD1609445-Install","bookingNames":["SPaCe Account (Villach) [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1609445","createdDate":"2019-12-14T16:58:23.867Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Kannan Srinivasan (IRHIR R&D GaN)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"38d76b8a-921e-ea11-988b-0050568f2fc3","name":"ORD1609444-Install","bookingNames":["SPaCe Account (Villach) [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1609444","createdDate":"2019-12-14T16:55:42.96Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Brian Gruver (IFEPI GaN OP)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"537f2962-921e-ea11-988b-0050568f2fc3","name":"ORD1609443-Install","bookingNames":["SPaCe Account (Villach) [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1609443","createdDate":"2019-12-14T16:54:33.647Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Priscila Spagnol (IFEPI GaN OP)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"5d456958-e11d-ea11-988b-0050568f2fc3","name":"ORD1609404-Install","bookingNames":["SPaCe Account (Villach) [Temecula]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1609404","createdDate":"2019-12-13T19:47:13.427Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Smith Brad (IFAM FE IR TEM P UPS)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"afa42128-e11d-ea11-988b-0050568f2fc3","name":"ORD1609403-Install","bookingNames":["SPaCe Account (Villach) [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1609403","createdDate":"2019-12-13T19:45:55.557Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Becker Chad (IFEPI QM)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"92b47764-690c-ea11-988b-0050568f2fc3","name":"ORD1596798-Install","bookingNames":["Fixed IP Address [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1596798","createdDate":"2019-11-21T14:15:47.75Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"83c8b4ec-bbfc-e911-988b-0050568f2fc3","name":"ORD1584798-Install","bookingNames":["Fixed IP Address [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1584798","createdDate":"2019-11-01T15:26:17.39Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"74273a1b-02f1-e911-978b-0050568f2fc3","name":"ORD1575853-Install","bookingNames":["CCL Windows File Share - Access/Modification [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1575853","createdDate":"2019-10-17T17:18:22.427Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"a679cecf-01f1-e911-978b-0050568f2fc3","name":"ORD1575852-Install","bookingNames":["CCL Windows File Share - Access/Modification [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1575852","createdDate":"2019-10-17T17:16:20.513Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"862593e9-19e6-e911-978b-0050568f2fc3","name":"ORD1564852-Install","bookingNames":["Active Directory Group - modify [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1564852","createdDate":"2019-10-03T20:11:06.563Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"089eb0d6-aee0-e911-978b-0050568f2fc3","name":"ORD1559459-Install","bookingNames":[" Software Installation Permission [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1559459","createdDate":"2019-09-26T22:41:56.327Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"41d8b6f3-0bdb-e911-978b-0050568f2fc3","name":"ORD1554599-Install","bookingNames":["Fixed IP Address [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1554599","createdDate":"2019-09-19T18:33:26.35Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"f1cf7485-03db-e911-978b-0050568f2fc3","name":"ORD1554593-Install","bookingNames":["Fixed IP Address [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1554593","createdDate":"2019-09-19T17:33:00.97Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"c937c7c3-feda-e911-978b-0050568f2fc3","name":"ORD1554581-Install","bookingNames":["Fixed IP Address [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1554581","createdDate":"2019-09-19T16:59:01.803Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"fd04875f-73ce-e911-978b-0050568f2fc3","name":"ORD1541808-Install","bookingNames":["MailRelay - Internal Registration [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1541808","createdDate":"2019-09-03T17:50:55.427Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"f6035489-37c8-e911-958b-0050568f2fc3","name":"ORD1536037-Install","bookingNames":["Fixed IP Address [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1536037","createdDate":"2019-08-26T19:27:29.5Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"733d3551-e9c4-e911-958b-0050568f2fc3","name":"ORD1534246-Install","bookingNames":["Functional Mailbox - New [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1534246","createdDate":"2019-08-22T14:30:08.507Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"6e22d51b-e9c4-e911-958b-0050568f2fc3","name":"ORD1534244-Install","bookingNames":["Functional Mailbox - New [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1534244","createdDate":"2019-08-22T14:28:37.577Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"427d674f-b8be-e911-958b-0050568f2fc3","name":"ORD1528792-Install","bookingNames":["Functional Mailbox - New [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1528792","createdDate":"2019-08-14T17:24:10.833Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"8cdaccf9-b7be-e911-958b-0050568f2fc3","name":"ORD1528790-Install","bookingNames":["Functional Mailbox - New [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1528790","createdDate":"2019-08-14T17:21:42.447Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"12a3d948-b7be-e911-958b-0050568f2fc3","name":"ORD1528789-Install","bookingNames":["File Share - New [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1528789","createdDate":"2019-08-14T17:16:52.2Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"796e0367-b6be-e911-958b-0050568f2fc3","name":"ORD1528787-Install","bookingNames":["CCL Windows File Share - New [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1528787","createdDate":"2019-08-14T17:10:26.67Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"412e013d-a7b7-e911-958b-0050568f2fc3","name":"ORD1522953-Install","bookingNames":["Fixed IP Address [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1522953","createdDate":"2019-08-05T17:34:22.73Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"1056d1f7-5daa-e911-938b-0050568f2fc3","name":"ORD1512426-Install","bookingNames":["Administration Account for Custom Endpoint (CEP) Environment [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1512426","createdDate":"2019-07-19T19:47:00.903Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"eb92652e-fea3-e911-938b-0050568f2fc3","name":"ORD1507355-Install","bookingNames":["CCL Windows File Share - New [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1507355","createdDate":"2019-07-11T17:06:13.68Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"25dc8e63-229c-e911-938b-0050568f2fc3","name":"ORD1499496-Install","bookingNames":["Special Account for Clients & Applications [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1499496","createdDate":"2019-07-01T17:05:15.61Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"d6ae0d1f-8292-e911-938b-0050568f2fc3","name":"ORD1492221-Install","bookingNames":["Special Account for Clients & Applications [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1492221","createdDate":"2019-06-19T11:05:24.197Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"1b44cc5c-8192-e911-938b-0050568f2fc3","name":"ORD1492214-Install","bookingNames":["Special Account for Clients & Applications [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1492214","createdDate":"2019-06-19T11:00:00.29Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"71ee5bb6-5489-e911-938b-0050568f2fc3","name":"ORD1485405-Install","bookingNames":["Active Directory Group - new [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1485405","createdDate":"2019-06-07T18:47:36.613Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"056a57ee-3e89-e911-938b-0050568f2fc3","name":"ORD1485381-Install","bookingNames":["Special Account for Clients & Applications [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1485381","createdDate":"2019-06-07T16:11:43.687Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"1a315a2e-387e-e911-938b-0050568f2fc3","name":"ORD1477029-Install","bookingNames":["Special Account for Clients & Applications [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1477029","createdDate":"2019-05-24T15:25:39.64Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"39197f4c-d86f-e911-938b-0050568f2fc3","name":"ORD1462927-Install","bookingNames":["iSpot - Internet access for mobile devices [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1462927","createdDate":"2019-05-06T08:24:05.037Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"0a553995-536a-e911-938b-0050568f2fc3","name":"ORD1458830-Install","bookingNames":["Port Replicator [Regensburg]","AC Adapter/Power Supply for Notebooks [Regensburg]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1458830","createdDate":"2019-04-29T07:51:24.443Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Grimmer Andrea (IFAG CSC FI FE PCS FDC)"},{"id":"42937a1d-4452-e911-928b-0050568f2fc3","name":"ORD1438897-Install","bookingNames":["Teamcenter (Account) [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1438897","createdDate":"2019-03-29T17:00:21.117Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"480724f3-564f-e911-928b-0050568f2fc3","name":"ORD1435311-Install","bookingNames":["Enterprise Architect - Project and User Management [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1435311","createdDate":"2019-03-25T23:37:30.203Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"e228221f-754a-e911-928b-0050568f2fc3","name":"ORD1430675-Install","bookingNames":["Enterprise Architect - Others [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1430675","createdDate":"2019-03-19T18:30:55.35Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"45354e30-a749-e911-928b-0050568f2fc3","name":"ORD1429632-Install","bookingNames":["Monitor [Mesa]"],"type":"Install","state":"Canceled","itemNumber":"ORD1429632","createdDate":"2019-03-18T17:56:45.213Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"b84f2aec-6d47-e911-928b-0050568f2fc3","name":"ORD1428279-Install","bookingNames":[" Software Installation Permission [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1428279","createdDate":"2019-03-15T22:01:47.48Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"},{"id":"89c5a9e7-4147-e911-928b-0050568f2fc3","name":"ORD1428228-Install","bookingNames":["Documentum (User Permission) [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1428228","createdDate":"2019-03-15T16:46:42.26Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"McIntyre Juanita (IFEPI QM)"},{"id":"bfa1a3db-9e46-e911-928b-0050568f2fc3","name":"ORD1427384-Install","bookingNames":["Access to IFAM Application: OpenInsight (Mesa) [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1427384","createdDate":"2019-03-14T21:19:38.487Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Francois Rivard (IFAM IT FI MES)"},{"id":"e608ada1-9e46-e911-928b-0050568f2fc3","name":"ORD1427383-Install","bookingNames":["Access to GaN-MESA US originated [3E001] File Share [Mesa]"],"type":"Install","state":"Canceled","itemNumber":"ORD1427383","createdDate":"2019-03-14T21:18:04.82Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Francois Rivard (IFAM IT FI MES)"},{"id":"234fcd55-7a46-e911-928b-0050568f2fc3","name":"ORD1427337-Install","bookingNames":["Request to Access EC Domain – EC ISC Configuration [Mesa]"],"type":"Install","state":"Fulfilled","itemNumber":"ORD1427337","createdDate":"2019-03-14T16:58:07.337Z","decidedDate":"1970-01-01T00:00:00Z","recipient":"Phares Mike (IFAM IT FI MES)","requestor":"Phares Mike (IFAM IT FI MES)"}] \ No newline at end of file diff --git a/Server/Data/Tests/GetAppSettingsApi.json b/Server/Data/Tests/GetAppSettingsApi.json new file mode 100644 index 0000000..d7b0280 --- /dev/null +++ b/Server/Data/Tests/GetAppSettingsApi.json @@ -0,0 +1 @@ +["application/json","/api/inbound","D:\\Metrology\\MetrologyAPILogs","\\\\messv02ecc1.ec.local\\EC_Metrology_Si\\MetrologyAttachments","1","Infineon Technologies Americas Corp.","Data Source=MESSAD1001\\TEST1,59583;Integrated Security=True;Initial Catalog=Metrology;","1234567","","True","False","OI_Metrology_Viewer_IFX","auc","Data Source=MESSAD1001\\TEST1,59583;Initial Catalog=LSL2SQL;Persist Security Info=True;User ID=srpadmin;Password=0okm9ijn;","\\\\openinsight-db-srv.na.infineon.com\\apps\\Metrology\\Data","https://localhost:7130;http://localhost:5126","IFXApps"] \ No newline at end of file diff --git a/Server/Data/Tests/GetBuildNumberAndGitCommitSevenApi.json b/Server/Data/Tests/GetBuildNumberAndGitCommitSevenApi.json new file mode 100644 index 0000000..100d6fb --- /dev/null +++ b/Server/Data/Tests/GetBuildNumberAndGitCommitSevenApi.json @@ -0,0 +1 @@ +1-1234567 \ No newline at end of file diff --git a/Server/Data/Tests/GetClientSettingsApi.json b/Server/Data/Tests/GetClientSettingsApi.json new file mode 100644 index 0000000..1bc592b --- /dev/null +++ b/Server/Data/Tests/GetClientSettingsApi.json @@ -0,0 +1 @@ +["remoteIpAddress"] \ No newline at end of file diff --git a/Server/Data/Tests/GetDataApi.json b/Server/Data/Tests/GetDataApi.json new file mode 100644 index 0000000..73d505c --- /dev/null +++ b/Server/Data/Tests/GetDataApi.json @@ -0,0 +1 @@ +{"Results":[{"InsertDate":"2019-09-12T16:02:17.297","Run Header":"http://10.95.128.128/Lists/bioRad%20Run%20Header/DispForm.aspx?Title=Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648","Title":"Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648_Point-10","AttachmentID":null,"Position":null,"Thickness":null,"ID":10},{"InsertDate":"2019-09-12T16:02:17.297","Run Header":"http://10.95.128.128/Lists/bioRad%20Run%20Header/DispForm.aspx?Title=Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648","Title":"Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648_Point-11","AttachmentID":null,"Position":null,"Thickness":null,"ID":11},{"InsertDate":"2019-09-12T16:02:17.3","Run Header":"http://10.95.128.128/Lists/bioRad%20Run%20Header/DispForm.aspx?Title=Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648","Title":"Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648_Point-12","AttachmentID":null,"Position":null,"Thickness":null,"ID":12},{"InsertDate":"2019-09-12T16:02:17.3","Run Header":"http://10.95.128.128/Lists/bioRad%20Run%20Header/DispForm.aspx?Title=Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648","Title":"Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648_Point-13","AttachmentID":null,"Position":null,"Thickness":null,"ID":13},{"InsertDate":"2019-09-12T16:02:17.3","Run Header":"http://10.95.128.128/Lists/bioRad%20Run%20Header/DispForm.aspx?Title=Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648","Title":"Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648_Point-14","AttachmentID":null,"Position":null,"Thickness":null,"ID":14},{"InsertDate":"2019-09-12T16:02:17.3","Run Header":"http://10.95.128.128/Lists/bioRad%20Run%20Header/DispForm.aspx?Title=Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648","Title":"Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648_Point-15","AttachmentID":null,"Position":null,"Thickness":null,"ID":15},{"InsertDate":"2019-09-12T16:02:17.3","Run Header":"http://10.95.128.128/Lists/bioRad%20Run%20Header/DispForm.aspx?Title=Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648","Title":"Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648_Point-16","AttachmentID":null,"Position":null,"Thickness":null,"ID":16},{"InsertDate":"2019-09-12T16:02:17.3","Run Header":"http://10.95.128.128/Lists/bioRad%20Run%20Header/DispForm.aspx?Title=Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648","Title":"Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648_Point-17","AttachmentID":null,"Position":null,"Thickness":null,"ID":17},{"InsertDate":"2019-09-12T16:02:17.3","Run Header":"http://10.95.128.128/Lists/bioRad%20Run%20Header/DispForm.aspx?Title=Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648","Title":"Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648_Point-18","AttachmentID":null,"Position":null,"Thickness":null,"ID":18},{"InsertDate":"2019-09-12T16:02:17.3","Run Header":"http://10.95.128.128/Lists/bioRad%20Run%20Header/DispForm.aspx?Title=Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648","Title":"Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648_Point-19","AttachmentID":null,"Position":null,"Thickness":null,"ID":19},{"InsertDate":"2019-09-12T16:02:17.303","Run Header":"http://10.95.128.128/Lists/bioRad%20Run%20Header/DispForm.aspx?Title=Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648","Title":"Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648_Point-20","AttachmentID":null,"Position":null,"Thickness":null,"ID":20},{"InsertDate":"2019-09-12T16:02:17.303","Run Header":"http://10.95.128.128/Lists/bioRad%20Run%20Header/DispForm.aspx?Title=Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648","Title":"Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648_Point-21","AttachmentID":null,"Position":null,"Thickness":null,"ID":21},{"InsertDate":"2019-09-12T16:02:17.303","Run Header":"http://10.95.128.128/Lists/bioRad%20Run%20Header/DispForm.aspx?Title=Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648","Title":"Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648_Point-22","AttachmentID":null,"Position":null,"Thickness":null,"ID":22},{"InsertDate":"2019-09-12T16:02:17.303","Run Header":"http://10.95.128.128/Lists/bioRad%20Run%20Header/DispForm.aspx?Title=Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648","Title":"Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648_Point-23","AttachmentID":null,"Position":null,"Thickness":null,"ID":23},{"InsertDate":"2019-09-12T16:02:17.303","Run Header":"http://10.95.128.128/Lists/bioRad%20Run%20Header/DispForm.aspx?Title=Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648","Title":"Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648_Point-24","AttachmentID":null,"Position":null,"Thickness":null,"ID":24},{"InsertDate":"2019-09-12T16:02:17.303","Run Header":"http://10.95.128.128/Lists/bioRad%20Run%20Header/DispForm.aspx?Title=Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648","Title":"Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648_Point-25","AttachmentID":null,"Position":null,"Thickness":null,"ID":25},{"InsertDate":"2019-09-12T16:02:17.303","Run Header":"http://10.95.128.128/Lists/bioRad%20Run%20Header/DispForm.aspx?Title=Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648","Title":"Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648_Point-26","AttachmentID":null,"Position":null,"Thickness":null,"ID":26},{"InsertDate":"2019-09-12T16:02:17.29","Run Header":"http://10.95.128.128/Lists/bioRad%20Run%20Header/DispForm.aspx?Title=Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648","Title":"Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648_Point-1","AttachmentID":null,"Position":"1","Thickness":"113.634","ID":1},{"InsertDate":"2019-09-12T16:02:17.29","Run Header":"http://10.95.128.128/Lists/bioRad%20Run%20Header/DispForm.aspx?Title=Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648","Title":"Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648_Point-2","AttachmentID":null,"Position":"2","Thickness":"113.849","ID":2},{"InsertDate":"2019-09-12T16:02:17.293","Run Header":"http://10.95.128.128/Lists/bioRad%20Run%20Header/DispForm.aspx?Title=Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648","Title":"Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648_Point-3","AttachmentID":null,"Position":"3","Thickness":"113.249","ID":3},{"InsertDate":"2019-09-12T16:02:17.293","Run Header":"http://10.95.128.128/Lists/bioRad%20Run%20Header/DispForm.aspx?Title=Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648","Title":"Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648_Point-4","AttachmentID":null,"Position":"4","Thickness":"114.618","ID":4},{"InsertDate":"2019-09-12T16:02:17.293","Run Header":"http://10.95.128.128/Lists/bioRad%20Run%20Header/DispForm.aspx?Title=Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648","Title":"Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648_Point-5","AttachmentID":null,"Position":"5","Thickness":"114.623","ID":5},{"InsertDate":"2019-09-12T16:02:17.293","Run Header":"http://10.95.128.128/Lists/bioRad%20Run%20Header/DispForm.aspx?Title=Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648","Title":"Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648_Point-6","AttachmentID":null,"Position":"6","Thickness":"116.469","ID":6},{"InsertDate":"2019-09-12T16:02:17.293","Run Header":"http://10.95.128.128/Lists/bioRad%20Run%20Header/DispForm.aspx?Title=Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648","Title":"Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648_Point-7","AttachmentID":null,"Position":"7","Thickness":"115.847","ID":7},{"InsertDate":"2019-09-12T16:02:17.297","Run Header":"http://10.95.128.128/Lists/bioRad%20Run%20Header/DispForm.aspx?Title=Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648","Title":"Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648_Point-8","AttachmentID":null,"Position":"8","Thickness":"114.904","ID":8},{"InsertDate":"2019-09-12T16:02:17.297","Run Header":"http://10.95.128.128/Lists/bioRad%20Run%20Header/DispForm.aspx?Title=Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648","Title":"Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648_Point-9","AttachmentID":null,"Position":"9","Thickness":"115.868","ID":9},{"InsertDate":null,"Run Header":null,"Title":null,"AttachmentID":null,"Position":"Average","Thickness":"39.7331","ID":-1},{"InsertDate":null,"Run Header":null,"Title":null,"AttachmentID":null,"Position":"Std Dev","Thickness":"55.6929","ID":-2}],"TotalRows":28} \ No newline at end of file diff --git a/Server/Data/Tests/GetHeaderFieldsApi.json b/Server/Data/Tests/GetHeaderFieldsApi.json new file mode 100644 index 0000000..bb8d5be --- /dev/null +++ b/Server/Data/Tests/GetHeaderFieldsApi.json @@ -0,0 +1,89 @@ +{ + "Results": [ + { + "Column": "ID", + "Value": "1" + }, + { + "Column": "InsertDate", + "Value": "9/12/2019 4:02:17 PM" + }, + { + "Column": "Title", + "Value": "Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648" + }, + { + "Column": "Recipe", + "Value": "6in_thick" + }, + { + "Column": "Date", + "Value": "9/12/2019 3:59:05 PM" + }, + { + "Column": "Operator", + "Value": "" + }, + { + "Column": "Batch", + "Value": "BIORAD #4" + }, + { + "Column": "Cassette", + "Value": "" + }, + { + "Column": "Wafer", + "Value": "99-999999-9999.1" + }, + { + "Column": "Mean Thickness", + "Value": "114.785" + }, + { + "Column": "RV Thickness", + "Value": "0.0000" + }, + { + "Column": "Status", + "Value": "PASS" + }, + { + "Column": "Std Dev", + "Value": "1.1047" + }, + { + "Column": "SentToMetrology", + "Value": "True" + }, + { + "Column": "SentToSPC", + "Value": "False" + }, + { + "Column": "Reactor", + "Value": "99" + }, + { + "Column": "RDS", + "Value": "999999" + }, + { + "Column": "PSN", + "Value": "9999" + }, + { + "Column": "Path", + "Value": "" + }, + { + "Column": "Layer", + "Value": "1" + }, + { + "Column": "Zone", + "Value": "" + } + ], + "TotalRows": 21 +} \ No newline at end of file diff --git a/Server/Data/Tests/GetHeaderTitlesApi.json b/Server/Data/Tests/GetHeaderTitlesApi.json new file mode 100644 index 0000000..af68671 --- /dev/null +++ b/Server/Data/Tests/GetHeaderTitlesApi.json @@ -0,0 +1,21 @@ +{ + "Results": [ + { + "ID": 2, + "InsertDate": "2019-09-12T16:24:18.617", + "AttachmentID": "00000000-0000-0000-0000-000000000000", + "Title": "Bio-RadQS400MEPI_99-999999-9999.1_201909121623333616", + "Recipe": null, + "Date": "2019-09-12T16:23:43" + }, + { + "ID": 1, + "InsertDate": "2019-09-12T16:02:17.253", + "AttachmentID": "00000000-0000-0000-0000-000000000000", + "Title": "Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648", + "Recipe": null, + "Date": "2019-09-12T15:59:05" + } + ], + "TotalRows": 2 +} \ No newline at end of file diff --git a/Server/Data/Tests/GetHeadersApi.json b/Server/Data/Tests/GetHeadersApi.json new file mode 100644 index 0000000..08b9090 --- /dev/null +++ b/Server/Data/Tests/GetHeadersApi.json @@ -0,0 +1 @@ +{"Results":[{"Batch":"BIORAD #4","Cassette":"","Date":"2019-09-12T16:23:43","ID":2,"InsertDate":"2019-09-12T16:24:18.617","Layer":"1","Mean Thickness":"114.785","Operator":"","Path":null,"PSN":"9999","RDS":"999999","Reactor":"99","Recipe":"6in_thick","RV Thickness":"0.0000","SentToMetrology":false,"SentToSPC":false,"Status":"PASS","Std Dev":"1.1047","Title":"Bio-RadQS400MEPI_99-999999-9999.1_201909121623333616","Wafer":"99-999999-9999.1","Zone":null,"AttachmentID":null},{"Batch":"BIORAD #4","Cassette":"","Date":"2019-09-12T15:59:05","ID":1,"InsertDate":"2019-09-12T16:02:17.253","Layer":"1","Mean Thickness":"114.785","Operator":"","Path":null,"PSN":"9999","RDS":"999999","Reactor":"99","Recipe":"6in_thick","RV Thickness":"0.0000","SentToMetrology":true,"SentToSPC":false,"Status":"PASS","Std Dev":"1.1047","Title":"Bio-RadQS400MEPI_99-999999-9999.1_201909121559040648","Wafer":"99-999999-9999.1","Zone":null,"AttachmentID":null}],"TotalRows":2} \ No newline at end of file diff --git a/Server/Data/Tests/GetIpAddressApi.json b/Server/Data/Tests/GetIpAddressApi.json new file mode 100644 index 0000000..e69de29 diff --git a/Server/Data/Tests/GetToolTypeMetadataApi.json b/Server/Data/Tests/GetToolTypeMetadataApi.json new file mode 100644 index 0000000..72d6b0b --- /dev/null +++ b/Server/Data/Tests/GetToolTypeMetadataApi.json @@ -0,0 +1,334 @@ +{ + "Results": { + "ToolType": { + "ID": 1, + "ToolTypeName": "BioRad", + "HasHeaderAttachments": false, + "HasDataAttachments": false, + "HeaderTableName": "BioRadRunHeader", + "DataTableName": "BioRadRunData", + "ExportSPName": "Export_BioRad", + "HeaderGridAttributes": null, + "DataGridAttributes": null, + "DataGridSortBy": "LEN(Position), Position", + "DataGridStatsColumn": "Thickness", + "DataGridStatsStdDevType": " ", + "DisplayHeaderAttachment": null, + "DisplayDataAttachment": null, + "OIExportSPName": "OIExport_BioRad" + }, + "Metadata": [ + { + "ToolTypeID": 1, + "Header": false, + "ApiName": null, + "ColumnName": "ID", + "DisplayTitle": "ID", + "GridDisplayOrder": 3, + "GridAttributes": "{ \u0022dataType\u0022: \u0022number\u0022, \u0022hidden\u0022: \u0022true\u0022 }", + "TableDisplayOrder": 1 + }, + { + "ToolTypeID": 1, + "Header": false, + "ApiName": null, + "ColumnName": "InsertDate", + "DisplayTitle": "InsertDate", + "GridDisplayOrder": 0, + "GridAttributes": null, + "TableDisplayOrder": 2 + }, + { + "ToolTypeID": 1, + "Header": false, + "ApiName": "Position", + "ColumnName": "Position", + "DisplayTitle": "Position", + "GridDisplayOrder": 1, + "GridAttributes": null, + "TableDisplayOrder": 4 + }, + { + "ToolTypeID": 1, + "Header": false, + "ApiName": "HeaderUniqueId", + "ColumnName": "Run Header", + "DisplayTitle": "Run Header", + "GridDisplayOrder": 0, + "GridAttributes": null, + "TableDisplayOrder": 6 + }, + { + "ToolTypeID": 1, + "Header": false, + "ApiName": "Thickness", + "ColumnName": "Thickness", + "DisplayTitle": "Thickness", + "GridDisplayOrder": 2, + "GridAttributes": null, + "TableDisplayOrder": 5 + }, + { + "ToolTypeID": 1, + "Header": false, + "ApiName": "UniqueId", + "ColumnName": "Title", + "DisplayTitle": "Title", + "GridDisplayOrder": 0, + "GridAttributes": null, + "TableDisplayOrder": 3 + }, + { + "ToolTypeID": 1, + "Header": true, + "ApiName": "Batch", + "ColumnName": "Batch", + "DisplayTitle": "Batch", + "GridDisplayOrder": 0, + "GridAttributes": null, + "TableDisplayOrder": 7 + }, + { + "ToolTypeID": 1, + "Header": true, + "ApiName": "Cassette", + "ColumnName": "Cassette", + "DisplayTitle": "Cassette", + "GridDisplayOrder": 0, + "GridAttributes": null, + "TableDisplayOrder": 8 + }, + { + "ToolTypeID": 1, + "Header": true, + "ApiName": "Date", + "ColumnName": "Date", + "DisplayTitle": "Date", + "GridDisplayOrder": 1, + "GridAttributes": "{ \u0022dataType\u0022: \u0022date\u0022, \u0022format\u0022: \u0022dateTime\u0022 }", + "TableDisplayOrder": 5 + }, + { + "ToolTypeID": 1, + "Header": true, + "ApiName": null, + "ColumnName": "ID", + "DisplayTitle": "ID", + "GridDisplayOrder": 0, + "GridAttributes": null, + "TableDisplayOrder": 1 + }, + { + "ToolTypeID": 1, + "Header": true, + "ApiName": null, + "ColumnName": "InsertDate", + "DisplayTitle": "InsertDate", + "GridDisplayOrder": 0, + "GridAttributes": null, + "TableDisplayOrder": 2 + }, + { + "ToolTypeID": 1, + "Header": true, + "ApiName": "Layer", + "ColumnName": "Layer", + "DisplayTitle": "Layer", + "GridDisplayOrder": 5, + "GridAttributes": null, + "TableDisplayOrder": 20 + }, + { + "ToolTypeID": 1, + "Header": true, + "ApiName": "MeanThickness", + "ColumnName": "Mean Thickness", + "DisplayTitle": "Mean Thickness", + "GridDisplayOrder": 0, + "GridAttributes": null, + "TableDisplayOrder": 10 + }, + { + "ToolTypeID": 1, + "Header": true, + "ApiName": "Op", + "ColumnName": "Operator", + "DisplayTitle": "Operator", + "GridDisplayOrder": 8, + "GridAttributes": null, + "TableDisplayOrder": 6 + }, + { + "ToolTypeID": 1, + "Header": true, + "ApiName": "FilePath", + "ColumnName": "Path", + "DisplayTitle": "Path", + "GridDisplayOrder": 0, + "GridAttributes": null, + "TableDisplayOrder": 19 + }, + { + "ToolTypeID": 1, + "Header": true, + "ApiName": "PSN", + "ColumnName": "PSN", + "DisplayTitle": "PSN", + "GridDisplayOrder": 4, + "GridAttributes": null, + "TableDisplayOrder": 18 + }, + { + "ToolTypeID": 1, + "Header": true, + "ApiName": "RDS", + "ColumnName": "RDS", + "DisplayTitle": "RDS", + "GridDisplayOrder": 3, + "GridAttributes": null, + "TableDisplayOrder": 17 + }, + { + "ToolTypeID": 1, + "Header": true, + "ApiName": "Reactor", + "ColumnName": "Reactor", + "DisplayTitle": "Reactor", + "GridDisplayOrder": 2, + "GridAttributes": null, + "TableDisplayOrder": 16 + }, + { + "ToolTypeID": 1, + "Header": true, + "ApiName": "Recipe", + "ColumnName": "Recipe", + "DisplayTitle": "Recipe", + "GridDisplayOrder": 7, + "GridAttributes": null, + "TableDisplayOrder": 4 + }, + { + "ToolTypeID": 1, + "Header": true, + "ApiName": "RVThickness", + "ColumnName": "RV Thickness", + "DisplayTitle": "RV Thickness", + "GridDisplayOrder": 0, + "GridAttributes": null, + "TableDisplayOrder": 11 + }, + { + "ToolTypeID": 1, + "Header": true, + "ApiName": "SentToMetrology", + "ColumnName": "SentToMetrology", + "DisplayTitle": "SentToMetrology", + "GridDisplayOrder": 9, + "GridAttributes": "{ \u0022dataType:\u0022: \u0022bool\u0022, \u0022formatter\u0022: \u0022boolToYesNo\u0022 }", + "TableDisplayOrder": 14 + }, + { + "ToolTypeID": 1, + "Header": true, + "ApiName": "SentToSPC", + "ColumnName": "SentToSPC", + "DisplayTitle": "SentToSPC", + "GridDisplayOrder": 10, + "GridAttributes": "{ \u0022dataType:\u0022: \u0022bool\u0022, \u0022formatter\u0022: \u0022boolToYesNo\u0022 }", + "TableDisplayOrder": 15 + }, + { + "ToolTypeID": 1, + "Header": true, + "ApiName": "PassFail", + "ColumnName": "Status", + "DisplayTitle": "Status", + "GridDisplayOrder": 0, + "GridAttributes": null, + "TableDisplayOrder": 12 + }, + { + "ToolTypeID": 1, + "Header": true, + "ApiName": "StdDev", + "ColumnName": "Std Dev", + "DisplayTitle": "Std Dev", + "GridDisplayOrder": 0, + "GridAttributes": null, + "TableDisplayOrder": 13 + }, + { + "ToolTypeID": 1, + "Header": true, + "ApiName": "UniqueId", + "ColumnName": "Title", + "DisplayTitle": "Title", + "GridDisplayOrder": 0, + "GridAttributes": null, + "TableDisplayOrder": 3 + }, + { + "ToolTypeID": 1, + "Header": true, + "ApiName": "Wafer", + "ColumnName": "Wafer", + "DisplayTitle": "Wafer", + "GridDisplayOrder": 0, + "GridAttributes": null, + "TableDisplayOrder": 9 + }, + { + "ToolTypeID": 1, + "Header": true, + "ApiName": "Zone", + "ColumnName": "Zone", + "DisplayTitle": "Zone", + "GridDisplayOrder": 0, + "GridAttributes": null, + "TableDisplayOrder": 21 + }, + { + "ToolTypeID": 1, + "Header": false, + "ApiName": null, + "ColumnName": "AttachmentID", + "DisplayTitle": "AttachmentID", + "GridDisplayOrder": 0, + "GridAttributes": null, + "TableDisplayOrder": 0 + }, + { + "ToolTypeID": 1, + "Header": true, + "ApiName": null, + "ColumnName": "AttachmentID", + "DisplayTitle": "AttachmentID", + "GridDisplayOrder": 0, + "GridAttributes": null, + "TableDisplayOrder": 0 + }, + { + "ToolTypeID": 1, + "Header": true, + "ApiName": "Id", + "ColumnName": null, + "DisplayTitle": "Ignore", + "GridDisplayOrder": -1, + "GridAttributes": null, + "TableDisplayOrder": -1 + }, + { + "ToolTypeID": 1, + "Header": true, + "ApiName": "Title", + "ColumnName": null, + "DisplayTitle": "Ignore", + "GridDisplayOrder": -1, + "GridAttributes": null, + "TableDisplayOrder": -1 + } + ] + }, + "TotalRows": 31 +} \ No newline at end of file diff --git a/Server/Data/Tests/IndexApi.json b/Server/Data/Tests/IndexApi.json new file mode 100644 index 0000000..cb1368c --- /dev/null +++ b/Server/Data/Tests/IndexApi.json @@ -0,0 +1,29 @@ +{ + "Results": [ + { + "ToolTypeName": "BioRad", + "ID": 1 + }, + { + "ToolTypeName": "CDE", + "ID": 2 + }, + { + "ToolTypeName": "Tencor", + "ID": 3 + }, + { + "ToolTypeName": "MercuryProbe", + "ID": 4 + }, + { + "ToolTypeName": "StratusBioRad", + "ID": 5 + }, + { + "ToolTypeName": "TencorSP1", + "ID": 6 + } + ], + "TotalRows": 6 +} \ No newline at end of file diff --git a/Server/Models/AppSettings.cs b/Server/Models/AppSettings.cs index 5ab3155..cdd0d92 100644 --- a/Server/Models/AppSettings.cs +++ b/Server/Models/AppSettings.cs @@ -13,6 +13,7 @@ public record AppSettings(string ApiLoggingContentTypes, string InboundApiAllowedIPList, bool IsDevelopment, bool IsStaging, + string MockRoot, string MonAResource, string MonASite, string OI2SqlConnectionString, diff --git a/Server/Models/Binder/AppSettings.cs b/Server/Models/Binder/AppSettings.cs index 0b40cec..e51b5f1 100644 --- a/Server/Models/Binder/AppSettings.cs +++ b/Server/Models/Binder/AppSettings.cs @@ -19,6 +19,7 @@ public class AppSettings [Display(Name = "Inbound Api Allowed IP List"), Required] public string InboundApiAllowedIPList { get; set; } [Display(Name = "Is Development"), Required] public bool? IsDevelopment { get; set; } [Display(Name = "Is Staging"), Required] public bool? IsStaging { get; set; } + [Display(Name = "Mock Root"), Required] public string MockRoot { get; set; } [Display(Name = "MonA Resource"), Required] public string MonAResource { get; set; } [Display(Name = "MonA Site"), Required] public string MonASite { get; set; } [Display(Name = "Oi 2 Sql Connection String"), Required] public string Oi2SqlConnectionString { get; set; } @@ -61,6 +62,8 @@ public class AppSettings throw new NullReferenceException(nameof(IsDevelopment)); if (appSettings.IsStaging is null) throw new NullReferenceException(nameof(IsStaging)); + if (appSettings.MockRoot is null) + throw new NullReferenceException(nameof(MockRoot)); if (appSettings.MonAResource is null) throw new NullReferenceException(nameof(MonAResource)); if (appSettings.MonASite is null) @@ -85,6 +88,7 @@ public class AppSettings appSettings.InboundApiAllowedIPList, appSettings.IsDevelopment.Value, appSettings.IsStaging.Value, + appSettings.MockRoot, appSettings.MonAResource, appSettings.MonASite, appSettings.Oi2SqlConnectionString, diff --git a/Server/OI.Metrology.Server.csproj b/Server/OI.Metrology.Server.csproj index d5cebf6..4e7ab25 100644 --- a/Server/OI.Metrology.Server.csproj +++ b/Server/OI.Metrology.Server.csproj @@ -64,5 +64,38 @@ Always + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + \ No newline at end of file diff --git a/Server/Program.cs b/Server/Program.cs index 7341395..31659c0 100644 --- a/Server/Program.cs +++ b/Server/Program.cs @@ -69,11 +69,11 @@ public class Program _ = webApplicationBuilder.Services.AddSingleton(_ => appSettings); _ = webApplicationBuilder.Services.AddSingleton(); - _ = webApplicationBuilder.Services.AddSingleton(); _ = webApplicationBuilder.Services.AddSingleton(); _ = webApplicationBuilder.Services.AddSingleton(_ => appSettingsRepository); _ = webApplicationBuilder.Services.AddSingleton(_ => clientSettingsRepository); _ = webApplicationBuilder.Services.AddSingleton(); + _ = webApplicationBuilder.Services.AddSingleton(_ => new(appSettings.MockRoot)); _ = webApplicationBuilder.Services.AddScoped(); _ = webApplicationBuilder.Services.AddScoped(); diff --git a/Server/Repositories/MetrologyRepository.cs b/Server/Repositories/MetrologyRepository.cs index 901a3d0..a573674 100644 --- a/Server/Repositories/MetrologyRepository.cs +++ b/Server/Repositories/MetrologyRepository.cs @@ -28,20 +28,6 @@ public class MetrologyRepository : IMetrologyRepository protected DbProviderFactory GetDbProviderFactory(IDbConnection conn) => DbProviderFactories.GetFactory(conn.GetType().Namespace); - public bool IsTestDatabase() - { - int c = 0; - using (DbConnection conn = GetDbConnection()) - { - c = conn.Query( - "SELECT COUNT(*) " + - "FROM Configuration " + - "WHERE KeyName = 'TestDatabase' " + - "AND ValueString = '1'").FirstOrDefault(); - } - return c > 0; - } - public TransactionScope StartTransaction() => new(); protected void CacheItem(string key, object v) diff --git a/Server/Repositories/ToolTypesRepository.cs b/Server/Repositories/ToolTypesRepository.cs index b49d72a..f371a64 100644 --- a/Server/Repositories/ToolTypesRepository.cs +++ b/Server/Repositories/ToolTypesRepository.cs @@ -2,25 +2,42 @@ using OI.Metrology.Shared.DataModels; using OI.Metrology.Shared.Models.Stateless; using OI.Metrology.Shared.Services; using System.Data; +using System.Text.Json; namespace OI.Metrology.Server.Repository; public class ToolTypesRepository : IToolTypesRepository { + private readonly string _MockRoot; private readonly Serilog.ILogger _Log; - public ToolTypesRepository() => _Log = Serilog.Log.ForContext(); + public ToolTypesRepository(string mockRoot) + { + _MockRoot = mockRoot; + _Log = Serilog.Log.ForContext(); + } // Get a list of tooltypes, returns just Name and ID Result IToolTypesRepository.Index(IMetrologyRepository metrologyRepository) { - ToolTypeNameId[] toolTypeNameIdCollection = metrologyRepository.GetToolTypes().Select(tt => new ToolTypeNameId() { ToolTypeName = tt.ToolTypeName, ID = tt.ID }).ToArray(); - Result r = new() + Result? r; + if (!string.IsNullOrEmpty(_MockRoot)) { - Results = toolTypeNameIdCollection, - TotalRows = toolTypeNameIdCollection.Length, - }; + string json = File.ReadAllText(Path.Combine(string.Concat(AppContext.BaseDirectory, _MockRoot), "IndexApi.json")); + r = JsonSerializer.Deserialize>(json); + if (r is null) + throw new NullReferenceException(nameof(r)); + } + else + { + ToolTypeNameId[] toolTypeNameIdCollection = metrologyRepository.GetToolTypes().Select(tt => new ToolTypeNameId() { ToolTypeName = tt.ToolTypeName, ID = tt.ID }).ToArray(); + r = new() + { + Results = toolTypeNameIdCollection, + TotalRows = toolTypeNameIdCollection.Length, + }; + } return r; } @@ -28,21 +45,32 @@ public class ToolTypesRepository : IToolTypesRepository // This is used to setup the grid displays on the UI Result IToolTypesRepository.GetToolTypeMetadata(IMetrologyRepository metrologyRepository, int id, string sortby) { - ToolType tt = metrologyRepository.GetToolTypeByID(id); - IEnumerable md = metrologyRepository.GetToolTypeMetadataByToolTypeID(id); - - if (string.Equals(sortby, "grid", StringComparison.OrdinalIgnoreCase)) - md = md.OrderBy(f => f.GridDisplayOrder).ToList(); - if (string.Equals(sortby, "table", StringComparison.OrdinalIgnoreCase)) - md = md.OrderBy(f => f.GridDisplayOrder).ToList(); - - ToolTypeMetadataResult toolTypeMetadataResult = new(tt, md.ToArray()); - int totalRows = toolTypeMetadataResult.Metadata is not null ? toolTypeMetadataResult.Metadata.Length : 0; - Result r = new() + Result? r; + if (!string.IsNullOrEmpty(_MockRoot)) { - Results = toolTypeMetadataResult, - TotalRows = totalRows, - }; + string json = File.ReadAllText(Path.Combine(string.Concat(AppContext.BaseDirectory, _MockRoot), "GetToolTypeMetadataApi.json")); + r = JsonSerializer.Deserialize>(json); + if (r is null) + throw new NullReferenceException(nameof(r)); + } + else + { + ToolType tt = metrologyRepository.GetToolTypeByID(id); + IEnumerable md = metrologyRepository.GetToolTypeMetadataByToolTypeID(id); + + if (string.Equals(sortby, "grid", StringComparison.OrdinalIgnoreCase)) + md = md.OrderBy(f => f.GridDisplayOrder).ToList(); + if (string.Equals(sortby, "table", StringComparison.OrdinalIgnoreCase)) + md = md.OrderBy(f => f.GridDisplayOrder).ToList(); + + ToolTypeMetadataResult toolTypeMetadataResult = new(tt, md.ToArray()); + int totalRows = toolTypeMetadataResult.Metadata is not null ? toolTypeMetadataResult.Metadata.Length : 0; + r = new() + { + Results = toolTypeMetadataResult, + TotalRows = totalRows, + }; + } return r; } @@ -50,50 +78,94 @@ public class ToolTypesRepository : IToolTypesRepository // The headerid parameter is used for navigating directly to a header, when the button is clicked in Awaiting Dispo Result IToolTypesRepository.GetHeaders(IMetrologyRepository metrologyRepository, int id, DateTime? datebegin, DateTime? dateend, int? page, int? pagesize, long? headerid) { - long totalRecs; - DataTable dataTable = metrologyRepository.GetHeaders(id, datebegin, dateend, page, pagesize, headerid, out totalRecs); - Result r = new() + Result? r; + if (!string.IsNullOrEmpty(_MockRoot)) { - Results = dataTable, - TotalRows = totalRecs, - }; + string json = File.ReadAllText(Path.Combine(string.Concat(AppContext.BaseDirectory, _MockRoot), "GetHeadersApi.json")); + r = Newtonsoft.Json.JsonConvert.DeserializeObject>(json); + if (r is null) + throw new NullReferenceException(nameof(r)); + } + else + { + long totalRecs; + DataTable dataTable = metrologyRepository.GetHeaders(id, datebegin, dateend, page, pagesize, headerid, out totalRecs); + r = new() + { + Results = dataTable, + TotalRows = totalRecs, + }; + } return r; } // Gets header titles, used in the Run Headers UI Result IToolTypesRepository.GetHeaderTitles(IMetrologyRepository metrologyRepository, int id, int? page, int? pagesize) { - long totalRecs; - HeaderCommon[] headerCommonCollection = metrologyRepository.GetHeaderTitles(id, page, pagesize, out totalRecs).ToArray(); - Result r = new() + Result? r; + if (!string.IsNullOrEmpty(_MockRoot)) { - Results = headerCommonCollection, - TotalRows = totalRecs, - }; + string json = File.ReadAllText(Path.Combine(string.Concat(AppContext.BaseDirectory, _MockRoot), "GetHeaderTitlesApi.json")); + r = JsonSerializer.Deserialize>(json); + if (r is null) + throw new NullReferenceException(nameof(r)); + } + else + { + long totalRecs; + HeaderCommon[] headerCommonCollection = metrologyRepository.GetHeaderTitles(id, page, pagesize, out totalRecs).ToArray(); + r = new() + { + Results = headerCommonCollection, + TotalRows = totalRecs, + }; + } return r; } // Get all of the fields for a header, used with the Run Header UI Result IToolTypesRepository.GetHeaderFields(IMetrologyRepository metrologyRepository, int id, long headerid) { - ColumnValue[] columnValueCollection = metrologyRepository.GetHeaderFields(id, headerid).Select(x => new ColumnValue() { Column = x.Key, Value = x.Value }).ToArray(); - Result r = new() + Result? r; + if (!string.IsNullOrEmpty(_MockRoot)) { - Results = columnValueCollection, - TotalRows = columnValueCollection.Length, - }; + string json = File.ReadAllText(Path.Combine(string.Concat(AppContext.BaseDirectory, _MockRoot), "GetHeaderFieldsApi.json")); + r = JsonSerializer.Deserialize>(json); + if (r is null) + throw new NullReferenceException(nameof(r)); + } + else + { + ColumnValue[] columnValueCollection = metrologyRepository.GetHeaderFields(id, headerid).Select(x => new ColumnValue() { Column = x.Key, Value = x.Value }).ToArray(); + r = new() + { + Results = columnValueCollection, + TotalRows = columnValueCollection.Length, + }; + } return r; } // Get the data for a header, used with the Run Info UI Result IToolTypesRepository.GetData(IMetrologyRepository metrologyRepository, int id, long headerid) { - DataTable dataTable = metrologyRepository.GetData(id, headerid); - Result r = new() + Result? r; + if (!string.IsNullOrEmpty(_MockRoot)) { - Results = dataTable, - TotalRows = dataTable.Rows.Count, - }; + string json = File.ReadAllText(Path.Combine(string.Concat(AppContext.BaseDirectory, _MockRoot), "GetDataApi.json")); + r = Newtonsoft.Json.JsonConvert.DeserializeObject>(json); + if (r is null) + throw new NullReferenceException(nameof(r)); + } + else + { + DataTable dataTable = metrologyRepository.GetData(id, headerid); + r = new() + { + Results = dataTable, + TotalRows = dataTable.Rows.Count, + }; + } return r; } diff --git a/Server/appsettings.Development.json b/Server/appsettings.Development.json index 7630cfd..fde98bb 100644 --- a/Server/appsettings.Development.json +++ b/Server/appsettings.Development.json @@ -1,6 +1,7 @@ { "ConnectionString": "Data Source=MESSAD1001\\TEST1,59583;Integrated Security=True;Initial Catalog=Metrology;", "IsDevelopment": true, + "MockRoot": "/Data/Tests", "MonAResource": "OI_Metrology_Viewer_IFX", "Oi2SqlConnectionString": "Data Source=MESSAD1001\\TEST1,59583;Initial Catalog=LSL2SQL;Persist Security Info=True;User ID=srpadmin;Password=0okm9ijn;", "Serilog": { diff --git a/Server/appsettings.json b/Server/appsettings.json index 2670efd..097106e 100644 --- a/Server/appsettings.json +++ b/Server/appsettings.json @@ -19,6 +19,7 @@ "InboundApiAllowedIPList": "", "IsDevelopment": false, "IsStaging": false, + "MockRoot": "", "MonAResource": "OI_Metrology_Viewer_EC", "MonASite": "auc", "Oi2SqlConnectionString": "Data Source=messv01ec.ec.local\\PROD1,53959;Initial Catalog=LSL2SQL;Persist Security Info=True;User ID=srpadmin;Password=0okm9ijn;", diff --git a/Shared/Models/Stateless/IMetrologyRepository.cs b/Shared/Models/Stateless/IMetrologyRepository.cs index f557c26..cce512a 100644 --- a/Shared/Models/Stateless/IMetrologyRepository.cs +++ b/Shared/Models/Stateless/IMetrologyRepository.cs @@ -8,8 +8,6 @@ namespace OI.Metrology.Shared.Models.Stateless; public interface IMetrologyRepository { - bool IsTestDatabase(); - IEnumerable GetToolTypes(); ToolType GetToolTypeByName(string name); ToolType GetToolTypeByID(int id); diff --git a/Tests/UnitTestAppSettingsController.cs b/Tests/UnitTestAppSettingsController.cs index d20e9e6..86a1f5a 100644 --- a/Tests/UnitTestAppSettingsController.cs +++ b/Tests/UnitTestAppSettingsController.cs @@ -67,10 +67,9 @@ public class UnitTestAppSettingsController Assert.AreEqual(HttpStatusCode.OK, httpResponseMessage.StatusCode); Assert.AreEqual("application/json; charset=utf-8", httpResponseMessage.Content.Headers.ContentType?.ToString()); string json = await httpResponseMessage.Content.ReadAsStringAsync(); - httpClient.Dispose(); + File.WriteAllText(Path.Combine(AppContext.BaseDirectory, $"{nameof(GetAppSettingsApi)}.json"), json); Assert.IsNotNull(json); Assert.IsTrue(json != "[]"); - File.WriteAllText(Path.Combine(AppContext.BaseDirectory, $"{_TestContext.ManagedMethod}.json"), json); _Logger.Information($"{_TestContext?.TestName} completed"); } @@ -95,9 +94,8 @@ public class UnitTestAppSettingsController Assert.AreEqual(HttpStatusCode.OK, httpResponseMessage.StatusCode); Assert.AreEqual("text/plain; charset=utf-8", httpResponseMessage.Content.Headers.ContentType?.ToString()); string json = await httpResponseMessage.Content.ReadAsStringAsync(); - httpClient.Dispose(); + File.WriteAllText(Path.Combine(AppContext.BaseDirectory, $"{nameof(GetBuildNumberAndGitCommitSevenApi)}.json"), json); Assert.IsNotNull(json); - File.WriteAllText(Path.Combine(AppContext.BaseDirectory, $"{_TestContext.ManagedMethod}.json"), json); _Logger.Information($"{_TestContext?.TestName} completed"); } diff --git a/Tests/UnitTestClientSettingsController.cs b/Tests/UnitTestClientSettingsController.cs index 1087cd7..ac16e2d 100644 --- a/Tests/UnitTestClientSettingsController.cs +++ b/Tests/UnitTestClientSettingsController.cs @@ -57,10 +57,9 @@ public class UnitTestClientSettingsController Assert.AreEqual(HttpStatusCode.OK, httpResponseMessage.StatusCode); Assert.AreEqual("application/json; charset=utf-8", httpResponseMessage.Content.Headers.ContentType?.ToString()); string json = await httpResponseMessage.Content.ReadAsStringAsync(); - httpClient.Dispose(); + File.WriteAllText(Path.Combine(AppContext.BaseDirectory, $"{nameof(GetClientSettingsApi)}.json"), json); Assert.IsNotNull(json); Assert.IsTrue(json != "[]"); - File.WriteAllText(Path.Combine(AppContext.BaseDirectory, $"{_TestContext.ManagedMethod}.json"), json); _Logger.Information($"{_TestContext?.TestName} completed"); } @@ -85,9 +84,8 @@ public class UnitTestClientSettingsController Assert.AreEqual(HttpStatusCode.OK, httpResponseMessage.StatusCode); Assert.AreEqual("text/plain; charset=utf-8", httpResponseMessage.Content.Headers.ContentType?.ToString()); string json = await httpResponseMessage.Content.ReadAsStringAsync(); - httpClient.Dispose(); + File.WriteAllText(Path.Combine(AppContext.BaseDirectory, $"{nameof(GetIpAddressApi)}.json"), json); Assert.IsNotNull(json); - File.WriteAllText(Path.Combine(AppContext.BaseDirectory, $"{_TestContext.ManagedMethod}.json"), json); _Logger.Information($"{_TestContext?.TestName} completed"); } diff --git a/Tests/UnitTestServiceShopOrderController.cs b/Tests/UnitTestServiceShopOrderController.cs index 2f1c8a8..594bc6f 100644 --- a/Tests/UnitTestServiceShopOrderController.cs +++ b/Tests/UnitTestServiceShopOrderController.cs @@ -68,10 +68,10 @@ public class UnitTestServiceShopOrderController _Logger.Information("Starting Web Application"); string actionName = nameof(IServiceShopOrderController.Action.All); string? json = await httpClient.GetStringAsync($"api/{_ControllerName}/{actionName}"); + File.WriteAllText(Path.Combine(AppContext.BaseDirectory, $"{nameof(GetAllServiceShopOrdersApi)}.json"), json); ServiceShopOrder[]? serviceShopOrders = System.Text.Json.JsonSerializer.Deserialize(json); Assert.IsNotNull(serviceShopOrders); Assert.IsTrue(serviceShopOrders.Any()); - File.WriteAllText(Path.Combine(AppContext.BaseDirectory, $"{_TestContext.ManagedMethod}.json"), json); _Logger.Information($"{_TestContext?.TestName} completed"); } diff --git a/Tests/UnitTestToolTypesController.cs b/Tests/UnitTestToolTypesController.cs index 3448454..f81709e 100644 --- a/Tests/UnitTestToolTypesController.cs +++ b/Tests/UnitTestToolTypesController.cs @@ -59,11 +59,11 @@ public class UnitTestToolTypesController HttpClient httpClient = _WebApplicationFactory.CreateClient(); _Logger.Information("Starting Web Application"); string? json = await httpClient.GetStringAsync($"api/{_ControllerName}"); + File.WriteAllText(Path.Combine(AppContext.BaseDirectory, $"{nameof(IndexApi)}.json"), json); Result? result = System.Text.Json.JsonSerializer.Deserialize>(json); Assert.IsNotNull(result?.Results); Assert.IsTrue(result.Results.Any()); Assert.IsFalse(result.Results.All(l => l.ID == 0)); - File.WriteAllText(Path.Combine(AppContext.BaseDirectory, $"{_TestContext.ManagedMethod}.json"), json); _Logger.Information($"{_TestContext?.TestName} completed"); } @@ -88,12 +88,12 @@ public class UnitTestToolTypesController HttpClient httpClient = _WebApplicationFactory.CreateClient(); _Logger.Information("Starting Web Application"); string? json = await httpClient.GetStringAsync($"api/{_ControllerName}/1"); + File.WriteAllText(Path.Combine(AppContext.BaseDirectory, $"{nameof(GetToolTypeMetadataApi)}.json"), json); Result? result = System.Text.Json.JsonSerializer.Deserialize>(json); Assert.IsNotNull(result?.Results); Assert.IsNotNull(result.Results.Metadata); Assert.IsTrue(result.Results.Metadata.Any()); Assert.IsFalse(result.Results.Metadata.All(l => l.ToolTypeID == 0)); - File.WriteAllText(Path.Combine(AppContext.BaseDirectory, $"{_TestContext.ManagedMethod}.json"), json); _Logger.Information($"{_TestContext?.TestName} completed"); } @@ -116,10 +116,10 @@ public class UnitTestToolTypesController HttpClient httpClient = _WebApplicationFactory.CreateClient(); _Logger.Information("Starting Web Application"); string? json = await httpClient.GetStringAsync($"api/{_ControllerName}/1/headers"); - Result? result = System.Text.Json.JsonSerializer.Deserialize>(json); + File.WriteAllText(Path.Combine(AppContext.BaseDirectory, $"{nameof(GetHeadersApi)}.json"), json); + Result? result = Newtonsoft.Json.JsonConvert.DeserializeObject>(json); Assert.IsNotNull(result?.Results); Assert.IsNotNull(result.Results.Rows.Count > 0); - File.WriteAllText(Path.Combine(AppContext.BaseDirectory, $"{_TestContext.ManagedMethod}.json"), json); _Logger.Information($"{_TestContext?.TestName} completed"); } @@ -142,10 +142,10 @@ public class UnitTestToolTypesController HttpClient httpClient = _WebApplicationFactory.CreateClient(); _Logger.Information("Starting Web Application"); string? json = await httpClient.GetStringAsync($"api/{_ControllerName}/1/headertitles"); + File.WriteAllText(Path.Combine(AppContext.BaseDirectory, $"{nameof(GetHeaderTitlesApi)}.json"), json); Result? result = System.Text.Json.JsonSerializer.Deserialize>(json); Assert.IsNotNull(result?.Results); Assert.IsTrue(result.Results.Any()); - File.WriteAllText(Path.Combine(AppContext.BaseDirectory, $"{_TestContext.ManagedMethod}.json"), json); _Logger.Information($"{_TestContext?.TestName} completed"); } @@ -168,10 +168,10 @@ public class UnitTestToolTypesController HttpClient httpClient = _WebApplicationFactory.CreateClient(); _Logger.Information("Starting Web Application"); string? json = await httpClient.GetStringAsync($"api/{_ControllerName}/1/headers/1/fields"); + File.WriteAllText(Path.Combine(AppContext.BaseDirectory, $"{nameof(GetHeaderFieldsApi)}.json"), json); Result? result = System.Text.Json.JsonSerializer.Deserialize>(json); Assert.IsNotNull(result?.Results); Assert.IsTrue(result.Results.Any()); - File.WriteAllText(Path.Combine(AppContext.BaseDirectory, $"{_TestContext.ManagedMethod}.json"), json); _Logger.Information($"{_TestContext?.TestName} completed"); } @@ -194,10 +194,10 @@ public class UnitTestToolTypesController HttpClient httpClient = _WebApplicationFactory.CreateClient(); _Logger.Information("Starting Web Application"); string? json = await httpClient.GetStringAsync($"api/{_ControllerName}/1/headers/1/data"); - Result? result = System.Text.Json.JsonSerializer.Deserialize>(json); + File.WriteAllText(Path.Combine(AppContext.BaseDirectory, $"{nameof(GetDataApi)}.json"), json); + Result? result = Newtonsoft.Json.JsonConvert.DeserializeObject>(json); Assert.IsNotNull(result?.Results); Assert.IsNotNull(result.Results.Rows.Count > 0); - File.WriteAllText(Path.Combine(AppContext.BaseDirectory, $"{_TestContext.ManagedMethod}.json"), json); _Logger.Information($"{_TestContext?.TestName} completed"); } diff --git a/Viewer/Repositories/MetrologyRepository.cs b/Viewer/Repositories/MetrologyRepository.cs index 47b3880..160bea9 100644 --- a/Viewer/Repositories/MetrologyRepository.cs +++ b/Viewer/Repositories/MetrologyRepository.cs @@ -28,20 +28,6 @@ public class MetrologyRepository : IMetrologyRepository protected DbProviderFactory GetDbProviderFactory(IDbConnection conn) => DbProviderFactories.GetFactory(conn.GetType().Namespace); - public bool IsTestDatabase() - { - int c = 0; - using (DbConnection conn = GetDbConnection()) - { - c = conn.Query( - "SELECT COUNT(*) " + - "FROM Configuration " + - "WHERE KeyName = 'TestDatabase' " + - "AND ValueString = '1'").FirstOrDefault(); - } - return c > 0; - } - public TransactionScope StartTransaction() => new(); protected void CacheItem(string key, object v)