diff --git a/Installer/CSXicon.bmp b/Installer/CSXicon.bmp new file mode 100644 index 0000000..a65026b Binary files /dev/null and b/Installer/CSXicon.bmp differ diff --git a/Installer/License.txt b/Installer/License.txt new file mode 100644 index 0000000..4122b65 --- /dev/null +++ b/Installer/License.txt @@ -0,0 +1,11 @@ +All contents in this package are licensed under following Creative Common license: + +CC Attribution-NonCommercial-ShareAlike (CC BY-NC-SA) + +This license lets others remix, tweak, and build upon your work non-commercially, as long as they credit you and license their new creations under identical terms. + +The content is provided "as-is" and by using it you agree the author is NOT liable in any form for the use of this software. Usage is completely at your onw risk. + +You are NOT entitled any form of support, though feedback is welcome. + +You understand that Dovetail Games Ltd or any related company is NOT involved in this software package by any means and cannot be held responsible for the use of this software. diff --git a/Installer/Output/License.txt b/Installer/Output/License.txt new file mode 100644 index 0000000..4122b65 --- /dev/null +++ b/Installer/Output/License.txt @@ -0,0 +1,11 @@ +All contents in this package are licensed under following Creative Common license: + +CC Attribution-NonCommercial-ShareAlike (CC BY-NC-SA) + +This license lets others remix, tweak, and build upon your work non-commercially, as long as they credit you and license their new creations under identical terms. + +The content is provided "as-is" and by using it you agree the author is NOT liable in any form for the use of this software. Usage is completely at your onw risk. + +You are NOT entitled any form of support, though feedback is welcome. + +You understand that Dovetail Games Ltd or any related company is NOT involved in this software package by any means and cannot be held responsible for the use of this software. diff --git a/Installer/Output/Readme.txt b/Installer/Output/Readme.txt new file mode 100644 index 0000000..f51ce3f --- /dev/null +++ b/Installer/Output/Readme.txt @@ -0,0 +1,21 @@ +TimetableTool + +TimetableTool is a toolkit to help you to design timetables for transportation simulators. The tool is NOT suitable to design timetables for real world application and should not nbe used for this purpose. +This tool is NOT free, if you use it on a regular basis, you are supposed to donate to the author: + +Euro 5 for private non-commercial use +Euro 25 per user per year for professional use. + +Check out http:/www.hollandhiking.nl/trainsimulator for other tools and documentation for TSW and TrainSimulator. + +Installation instructions: +- Use the installer to install +- Read the manual, which you can find in your Documents folder in the folder TimetableTool. +The tool comes with two demo timetables. + +See the manual for details. + +Version history: + +Version 0.1 +First public alpha version. This version is intended for review and feedback purposes only. \ No newline at end of file diff --git a/Installer/Output/TimetableToolSetup v0.1.zip b/Installer/Output/TimetableToolSetup v0.1.zip new file mode 100644 index 0000000..19a34be Binary files /dev/null and b/Installer/Output/TimetableToolSetup v0.1.zip differ diff --git a/Installer/Output/TimetableToolSetup.exe b/Installer/Output/TimetableToolSetup.exe new file mode 100644 index 0000000..0167d3c Binary files /dev/null and b/Installer/Output/TimetableToolSetup.exe differ diff --git a/Installer/Readme.txt b/Installer/Readme.txt new file mode 100644 index 0000000..f51ce3f --- /dev/null +++ b/Installer/Readme.txt @@ -0,0 +1,21 @@ +TimetableTool + +TimetableTool is a toolkit to help you to design timetables for transportation simulators. The tool is NOT suitable to design timetables for real world application and should not nbe used for this purpose. +This tool is NOT free, if you use it on a regular basis, you are supposed to donate to the author: + +Euro 5 for private non-commercial use +Euro 25 per user per year for professional use. + +Check out http:/www.hollandhiking.nl/trainsimulator for other tools and documentation for TSW and TrainSimulator. + +Installation instructions: +- Use the installer to install +- Read the manual, which you can find in your Documents folder in the folder TimetableTool. +The tool comes with two demo timetables. + +See the manual for details. + +Version history: + +Version 0.1 +First public alpha version. This version is intended for review and feedback purposes only. \ No newline at end of file diff --git a/Installer/Setup.bmp b/Installer/Setup.bmp new file mode 100644 index 0000000..d727d80 Binary files /dev/null and b/Installer/Setup.bmp differ diff --git a/Installer/TSW_Cindy_1489778724_00.png b/Installer/TSW_Cindy_1489778724_00.png new file mode 100644 index 0000000..32a6390 Binary files /dev/null and b/Installer/TSW_Cindy_1489778724_00.png differ diff --git a/Installer/TimetableData.sql b/Installer/TimetableData.sql new file mode 100644 index 0000000..4dae03d --- /dev/null +++ b/Installer/TimetableData.sql @@ -0,0 +1,820 @@ +INSERT INTO "ServiceDirections" ("Id","ServiceDirectionName","ServiceDirectionAbbreviation","RouteId","IsDescending") VALUES (1,'Cumberland-Rockwood','West',1,0); +INSERT INTO "ServiceDirections" ("Id","ServiceDirectionName","ServiceDirectionAbbreviation","RouteId","IsDescending") VALUES (2,'Rockwood-Cumberland','East',1,1); +INSERT INTO "ServiceDirections" ("Id","ServiceDirectionName","ServiceDirectionAbbreviation","RouteId","IsDescending") VALUES (3,'Local duties ','Local',1,0); +INSERT INTO "ServiceDirections" ("Id","ServiceDirectionName","ServiceDirectionAbbreviation","RouteId","IsDescending") VALUES (9,'Norton-Fitzwarren to Minehead','East',2,0); +INSERT INTO "ServiceDirections" ("Id","ServiceDirectionName","ServiceDirectionAbbreviation","RouteId","IsDescending") VALUES (10,'Minehead to Norton Fitzwarren','West',2,1); +INSERT INTO "ServiceDirections" ("Id","ServiceDirectionName","ServiceDirectionAbbreviation","RouteId","IsDescending") VALUES (11,'Hagen-Finnentrop','South',3,0); +INSERT INTO "ServiceDirections" ("Id","ServiceDirectionName","ServiceDirectionAbbreviation","RouteId","IsDescending") VALUES (12,'Finnentrop-Hagen','North',3,1); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (5,2,1); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (6,2,2); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (7,2,3); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (8,2,4); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (9,2,5); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (10,2,6); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (11,2,7); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (12,2,8); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (14,2,9); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (15,2,10); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (16,2,11); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (17,2,12); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (18,2,13); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (19,2,14); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (22,2,15); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (23,2,16); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (24,2,17); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (25,2,18); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (27,2,28); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (28,1,19); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (29,1,20); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (30,1,21); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (31,1,22); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (32,1,23); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (33,1,24); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (34,1,25); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (35,1,26); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (36,1,27); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (37,1,29); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (38,1,30); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (39,1,31); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (40,1,32); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (41,3,33); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (42,3,34); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (43,3,35); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (44,3,36); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (45,3,37); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (46,3,38); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (47,4,39); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (48,4,40); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (49,4,41); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (50,4,42); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (51,4,43); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (52,4,44); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (53,5,33); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (54,5,34); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (55,5,35); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (56,5,36); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (57,5,37); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (58,5,38); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (59,5,39); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (60,5,40); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (61,5,41); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (62,5,42); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (63,5,43); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (64,5,44); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (65,6,35); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (66,7,1); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (67,7,2); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (68,7,3); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (69,7,4); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (70,7,5); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (71,7,6); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (72,7,7); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (73,7,8); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (74,7,9); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (75,7,10); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (76,7,11); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (77,7,12); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (78,7,13); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (79,7,14); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (80,7,15); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (81,7,16); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (82,7,17); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (83,7,18); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (84,7,19); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (85,7,20); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (86,7,21); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (87,7,22); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (88,7,23); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (89,7,24); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (90,7,25); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (91,7,26); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (92,7,27); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (93,7,28); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (94,7,29); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (95,7,30); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (96,7,31); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (97,7,32); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (130,8,45); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (131,8,46); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (132,8,47); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (133,8,48); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (134,8,49); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (135,8,50); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (136,8,51); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (137,8,52); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (138,8,53); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (139,8,54); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (140,8,55); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (141,8,56); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (142,8,57); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (143,8,58); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (144,8,59); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (145,8,60); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (146,8,61); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (147,8,62); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (148,8,63); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (149,8,64); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (150,8,65); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (151,8,66); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (152,8,67); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (153,8,68); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (154,8,69); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (155,8,70); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (156,8,71); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (157,8,72); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (158,8,73); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (159,8,74); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (160,8,75); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (161,8,76); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (162,8,77); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (163,8,78); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (164,8,79); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (166,9,81); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (167,9,82); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (168,9,83); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (169,9,84); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (170,9,85); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (171,9,86); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (172,9,87); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (173,9,88); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (174,9,89); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (175,9,90); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (176,9,91); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (177,9,92); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (178,9,93); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (179,9,94); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (180,9,95); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (181,9,96); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (182,9,97); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (183,9,98); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (184,9,99); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (185,9,100); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (186,9,101); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (187,9,102); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (188,9,103); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (189,9,104); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (190,9,105); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (191,9,106); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (192,9,107); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (193,9,108); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (194,9,109); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (195,9,110); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (196,9,111); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (197,9,112); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (198,9,113); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (199,9,114); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (200,9,115); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (201,9,116); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (202,9,117); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (203,9,118); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (204,9,119); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (205,9,120); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (206,10,45); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (207,10,46); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (208,10,47); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (209,10,48); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (210,10,49); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (211,10,50); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (212,10,51); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (213,10,52); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (214,10,53); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (215,10,54); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (216,10,55); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (217,10,56); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (218,10,57); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (219,10,58); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (220,10,59); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (221,10,60); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (222,10,61); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (223,10,62); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (224,10,63); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (225,10,64); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (226,10,65); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (227,10,66); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (228,10,67); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (229,10,68); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (230,10,69); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (231,10,70); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (232,10,71); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (233,10,72); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (234,10,73); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (235,10,74); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (236,10,75); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (237,10,76); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (238,10,77); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (239,10,78); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (240,10,79); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (241,10,80); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (242,10,81); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (243,10,82); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (244,10,83); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (245,10,84); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (246,10,85); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (247,10,86); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (248,10,87); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (249,10,88); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (250,10,89); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (251,10,90); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (252,10,91); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (253,10,92); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (254,10,93); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (255,10,94); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (256,10,95); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (257,10,96); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (258,10,97); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (259,10,98); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (260,10,99); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (261,10,100); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (262,10,101); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (263,10,102); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (264,10,103); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (265,10,104); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (266,10,105); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (267,10,106); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (268,10,107); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (269,10,108); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (270,10,109); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (271,10,110); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (272,10,111); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (273,10,112); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (274,10,113); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (275,10,114); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (276,10,115); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (277,10,116); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (278,10,117); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (279,10,118); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (280,10,119); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (281,10,120); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (282,8,80); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (1,'Q249 Autorack','Q249',25,110,1); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (2,'Q355 Manifest','Q355',56,148,2); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (3,'Q015 Intermodal','Q015',93,177,3); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (4,'Q130 Intermodal','Q130',476,560,4); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (5,'Q353 Manifest','Q353',513,604,5); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (6,'Q217 Autorack','Q217',524,620,6); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (7,'K145 Oil','K145',576,657,7); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (8,'Q640 Manifest','Q640',713,881,8); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (9,'Q261 Autorack','Q261',735,820,1); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (10,'Q115 Intermodal','Q115',767,851,9); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (11,'U876-A Empty coal','U876-A',872,956,10); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (12,'Q137 Intermodal','Q137',965,1052,11); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (13,'X790 Light engine','Z790',1017,1095,12); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (14,'Q359 Manifest','Q359',1050,1130,13); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (15,'K143 Oil','K143',1076,1157,14); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (16,'Q250 Autorack','Q250',1101,1186,1); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (17,'Q375 Manifest','Q375',1150,1232,5); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (18,'K557 Manifest','K557',1250,1335,15); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (19,'Q358 Manifest','Q358',51,129,16); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (20,'Q352 Manifest','Q352',417,495,17); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (21,'N536 Coal','N536',490,569,18); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (22,'Q276 Autorack','Q276',522,601,19); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (23,'Q008 Intermodal','Q008',573,652,20); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (24,'Q116 Intermodal','Q116',812,891,21); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (25,'Q226 Autorack','Q226',838,919,22); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (26,'I368 Manifest','I368',927,1016,23); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (27,'Q368 Manifest','Q368',1007,1088,23); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (28,'U876-C Coal','U876-C',1020,1037,24); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (29,'U876-D Coal','U876-D',1050,1123,25); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (30,'Q138 Intermodal','Q138',1058,1137,26); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (31,'Q394 Manifest','Q394',1141,1218,27); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (32,'Q016 Intermodal','Q016',1325,1404,21); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (33,'West 1 diesel','W1D',615,699,28); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (34,'West 2 shunter','W2S',645,748,29); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (35,'West 3 diesel','W3D',735,833,30); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (36,'West 5 shunter','W5S',910,984,31); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (37,'West 4 diesel','W4D',855,939,28); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (38,'West 6 diesel','W6D',975,1065,32); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (39,'East 1 diesel','E1D',615,702,33); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (40,'East 2 diesel','E2D',750,825,34); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (41,'East 3 shunter','E3S',800,879,35); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (42,'East 4 diesel','E4D',855,937,36); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (43,'East 5 diesel','E5D',984,1056,37); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (44,'East 6 shunter','E6S',1035,1128,38); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (45,'RB91S01','RB91S01',340,394,40); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (46,'RB91S2','RB91S2',400,454,40); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (47,'RB91S3','RB91S3',495,549,40); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (48,'RB91S4','RB91S4',520,574,40); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (49,'RB91S5','RB91S5',580,634,40); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (50,'RB91S6','RB91S6',640,694,40); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (51,'RB91S7','RB91S7',735,789,40); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (52,'RB91S8','RB91S8',760,814,40); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (53,'RB91S9','RB91S9',820,874,40); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (54,'RB91S10','RB91S10',880,936,40); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (55,'RB91S11','RB91S11',975,1029,40); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (56,'RB91S12','RB91S12',1000,1054,40); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (57,'RB91S13','RB91S13',1060,1114,40); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (58,'RB91SS14','RB91SS14',1120,1174,40); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (59,'RB91S15','RB91S15',1215,1269,40); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (60,'RB91S16','RB91S16',1245,1299,40); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (61,'RB56S1','RB56S1',546,563,39); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (62,'RB56S2','RB56S2',930,947,39); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (63,'RB56S3','RB56S3',1110,1127,39); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (64,'RE16S01','RE16S01',370,421,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (65,'RE16S02','RE16S02',435,486,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (66,'RE16S03','RE16S03',460,511,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (67,'RE16S04','RE16S04',555,606,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (68,'RE16S05','RE16S05',615,666,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (69,'RE16S06','RE16S06',675,726,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (70,'RE16S07','RE16S07',700,751,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (71,'RE16S08','RE16S08',795,846,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (72,'RE16S09','RE16S09',855,906,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (73,'RE16S10','RE16S10',915,969,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (74,'RE16S11','RE16S11',940,991,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (75,'RE16S12','RE16S12',1035,1086,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (76,'RE16S13','RE16S13',1095,1146,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (77,'RE16S14','RE16S14',1155,1206,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (78,'RE16S15','RE16S15',1185,1236,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (79,'RE16S16','RE16S16',1275,1326,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (80,'RE16S17','RE16S17',1335,1386,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (81,'RB56N1','RB56N1',675,691,42); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (82,'RB56N2','RB56N2',855,871,42); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (83,'RB56N3','RB56N3',1035,1051,42); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (84,'RB56N4','RB56N4',1215,1231,42); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (85,'RB56N5','RB56N5',1395,1411,42); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (86,'RB91N01','RB91N01',353,407,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (87,'RB91N02','RB91N02',413,467,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (88,'RB91N03','RB91N03',450,504,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (89,'RB91N04','RB91N04',515,569,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (90,'RB91N05','RB91N05',570,624,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (91,'RB91N06','RB91N06',653,707,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (92,'RB91N07','RB91N07',690,744,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (93,'RB91N08','RB91N08',750,804,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (94,'RB91N09','RB91N09',810,864,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (95,'RB91N10','RB91N10',893,947,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (96,'RB91N11','RB91N11',935,989,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (97,'RB91N12','RB91N12',990,1044,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (98,'RB91N13','RB91N13',1050,1104,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (99,'RB91N14','RB91N14',1135,1189,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (100,'RB91N15','RB91N15',1172,1226,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (101,'RB91N16','RB91N16',1235,1289,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (102,'RB91N17','RB91N17',1295,1349,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (103,'RB91N18','RB91N18',1378,1432,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (104,'RE16N01','RE16N01',293,347,44); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (105,'RE17N02','RE17N02',390,441,44); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (106,'RE16N03','RE16N03',474,528,44); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (107,'RE16N04','RE16N04',533,587,44); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (108,'RE16N05','RE16N05',593,647,44); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (109,'RE16N06','RE16N06',635,686,44); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (110,'RE16N07','RE16N07',713,767,44); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (111,'RE16N08','RE16N08',773,827,44); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (112,'RE16N09','RE16N09',833,887,44); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (113,'RE16N10','RE16N10',875,926,44); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (114,'RE16N11','RE16N11',953,1007,44); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (115,'RE16N12','RE16N12',1013,1067,44); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (116,'RE16N13','RE16N13',1073,1127,44); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (117,'RE16N14','RE16N14',1115,1166,44); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (118,'RE16N15','RE16N15',942,1249,44); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (119,'RE16N16','RE16N16',1258,1312,44); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (120,'RE17N17','RE17N17',1318,1372,44); +INSERT INTO "Timetables" ("Id","TimetableName","TimetableAbbreviation","TimetableDescription","IsMultiDirection","ServiceDirectionId","RouteId") VALUES (1,'TSW Servicemode Eastbound','SM-East','TSW Servicemode Eastbound',0,2,1); +INSERT INTO "Timetables" ("Id","TimetableName","TimetableAbbreviation","TimetableDescription","IsMultiDirection","ServiceDirectionId","RouteId") VALUES (2,'TSW Servicemode wesbound','SM-West','TSW Servicemode wesbound',0,1,1); +INSERT INTO "Timetables" ("Id","TimetableName","TimetableAbbreviation","TimetableDescription","IsMultiDirection","ServiceDirectionId","RouteId") VALUES (3,'Servicemode Westbound','SM-West','Servicemode westbound trains WSR',0,9,2); +INSERT INTO "Timetables" ("Id","TimetableName","TimetableAbbreviation","TimetableDescription","IsMultiDirection","ServiceDirectionId","RouteId") VALUES (4,'Servicemode Eastbound','SM-East','Servicemode eastbount WSR',0,10,2); +INSERT INTO "Timetables" ("Id","TimetableName","TimetableAbbreviation","TimetableDescription","IsMultiDirection","ServiceDirectionId","RouteId") VALUES (5,'All Services','SM-All','All services',1,-1,2); +INSERT INTO "Timetables" ("Id","TimetableName","TimetableAbbreviation","TimetableDescription","IsMultiDirection","ServiceDirectionId","RouteId") VALUES (6,'Test','test','Test',0,9,2); +INSERT INTO "Timetables" ("Id","TimetableName","TimetableAbbreviation","TimetableDescription","IsMultiDirection","ServiceDirectionId","RouteId") VALUES (7,'All services','SMAll','All services except locals',1,-1,1); +INSERT INTO "Timetables" ("Id","TimetableName","TimetableAbbreviation","TimetableDescription","IsMultiDirection","ServiceDirectionId","RouteId") VALUES (8,'SM Hagen-Finnentrop','SM-South','Servicemode + +Passengerservices + +Hagen-Finnnetrop + +All services',0,11,3); +INSERT INTO "Timetables" ("Id","TimetableName","TimetableAbbreviation","TimetableDescription","IsMultiDirection","ServiceDirectionId","RouteId") VALUES (9,'SM Finnentrop-Hagen','SM-North','Service mode + +Northbound + +Finnentrop-Hagen + +All passenger services',0,12,3); +INSERT INTO "Timetables" ("Id","TimetableName","TimetableAbbreviation","TimetableDescription","IsMultiDirection","ServiceDirectionId","RouteId") VALUES (10,'SM All passenger services','AM-All','RSN North + +All passenger services',1,-1,3); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (1,'S',0,0,2,1,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (2,'P',25,0,4,1,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (3,'P',30,0,5,1,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (4,'P',18,0,7,1,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (5,'E',12,0,9,1,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (6,'S',0,0,2,2,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (7,'P',28,0,4,2,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (8,'P',33,0,5,2,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (9,'P',19,0,7,2,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (10,'E',12,0,9,2,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (11,'S',0,0,2,3,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (12,'P',25,0,4,3,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (13,'P',30,0,5,3,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (14,'P',17,0,7,3,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (15,'E',13,0,9,3,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (16,'S',0,0,2,4,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (17,'P',25,0,4,4,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (18,'P',30,0,5,4,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (19,'P',19,0,7,4,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (20,'E',18,0,9,4,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (21,'S',0,0,2,5,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (22,'P',28,0,4,5,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (23,'P',33,0,5,5,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (24,'P',19,0,7,5,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (25,'E',11,0,9,5,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (26,'S',0,0,2,6,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (27,'P',25,0,4,6,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (28,'P',32,0,5,6,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (29,'P',17,0,7,6,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (30,'E',22,0,9,6,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (31,'S',0,0,2,7,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (32,'P',24,0,4,7,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (33,'P',28,0,5,7,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (34,'P',23,0,7,7,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (35,'E',12,0,9,7,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (36,'S',0,0,2,8,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (37,'P',28,0,4,8,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (38,'P',33,0,5,8,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (39,'P',19,0,7,8,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (40,'E',11,0,9,8,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (41,'S',0,0,2,9,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (42,'P',25,0,4,9,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (43,'P',30,0,5,9,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (44,'P',17,0,7,9,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (45,'E',12,0,9,9,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (46,'S',0,0,2,10,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (47,'P',26,0,4,10,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (48,'P',28,0,5,10,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (49,'E',30,0,8,10,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (50,'S',0,0,2,11,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (51,'P',25,0,4,11,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (52,'P',29,0,5,11,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (53,'P',21,0,7,11,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (54,'E',13,0,9,11,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (55,'S',0,0,2,12,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (56,'P',23,0,4,12,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (57,'P',27,0,5,12,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (58,'P',17,0,7,12,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (59,'E',11,0,9,12,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (60,'S',0,0,2,13,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (61,'P',23,0,4,13,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (62,'P',28,0,5,13,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (63,'P',17,0,7,13,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (64,'P',12,0,9,13,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (65,'S',0,0,2,14,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (66,'P',23,0,4,14,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (67,'P',28,0,5,14,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (68,'P',18,0,7,14,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (69,'E',12,0,9,14,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (70,'S',0,0,2,15,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (71,'P',29,0,4,15,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (72,'P',26,0,5,15,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (73,'P',18,0,7,15,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (74,'P',12,0,9,15,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (75,'S',0,0,9,16,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (76,'P',55,0,4,16,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (77,'E',25,0,2,16,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (78,'S',0,0,9,17,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (79,'P',55,0,4,17,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (80,'E',23,0,2,17,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (81,'S',0,0,9,18,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (82,'P',56,0,4,18,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (83,'E',23,0,2,18,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (84,'S',0,0,9,19,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (85,'P',56,0,4,19,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (86,'E',23,0,2,19,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (87,'S',0,0,9,20,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (88,'P',56,0,4,20,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (89,'E',23,0,2,20,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (90,'S',0,0,9,21,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (91,'P',56,0,4,21,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (92,'E',21,0,2,21,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (93,'S',0,0,9,22,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (94,'P',56,0,4,22,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (95,'E',25,0,2,22,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (96,'S',0,0,9,23,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (97,'P',55,0,4,23,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (98,'E',24,0,2,23,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (99,'S',0,0,8,24,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (100,'E',17,0,12,24,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (101,'S',0,0,12,25,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (102,'P',47,0,4,25,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (103,'E',26,0,2,25,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (104,'S',0,0,9,26,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (105,'P',56,0,4,26,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (106,'E',23,0,2,26,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (107,'S',0,0,9,27,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (108,'P',55,0,4,27,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (109,'E',22,0,2,27,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (139,'S',0,0,14,28,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (140,'H',12,0,15,28,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (141,'H',8,0,16,28,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (142,'H',9,0,17,28,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (143,'H',5,0,18,28,60); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (144,'H',4,0,19,28,70); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (145,'H',9,0,20,28,80); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (146,'H',7,0,21,28,90); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (147,'H',8,0,22,28,100); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (148,'E',8,0,23,28,110); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (149,'S',0,0,13,29,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (150,'H',14,0,14,29,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (151,'H',15,0,15,29,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (152,'H',17,0,17,29,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (153,'H',8,0,19,29,70); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (154,'H',16,0,21,29,90); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (155,'E',14,0,23,29,110); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (156,'S',0,0,14,30,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (157,'H',12,1,15,30,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (158,'H',9,0,16,30,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (159,'H',9,25,17,30,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (160,'H',5,0,18,30,60); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (161,'H',5,0,19,30,70); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (162,'H',4,0,20,30,80); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (163,'H',7,1,21,30,90); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (164,'H',6,0,22,30,100); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (165,'E',8,0,23,30,110); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (166,'S',0,0,14,31,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (167,'H',15,0,15,31,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (168,'H',17,0,17,31,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (169,'H',8,0,19,31,70); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (170,'H',16,0,21,31,90); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (171,'E',14,0,23,31,110); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (172,'S',0,0,14,32,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (173,'H',12,0,15,32,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (174,'H',9,0,16,32,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (175,'H',9,0,17,32,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (176,'H',5,0,18,32,60); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (177,'H',4,0,19,32,70); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (178,'H',7,0,20,32,80); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (179,'H',7,0,21,32,90); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (180,'H',6,0,22,32,100); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (181,'H',9,0,23,32,110); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (182,'S',0,0,23,33,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (183,'H',9,0,22,33,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (184,'H',6,1,21,33,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (185,'H',8,0,20,33,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (186,'H',10,0,19,33,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (187,'H',4,0,18,33,60); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (188,'H',4,1,17,33,70); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (189,'H',11,0,16,33,80); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (190,'H',7,4,15,33,90); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (191,'E',12,0,14,33,100); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (192,'S',0,0,23,34,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (193,'H',9,0,22,34,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (194,'H',6,1,21,34,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (195,'H',8,0,20,34,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (196,'H',10,0,19,34,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (197,'H',4,0,18,34,60); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (198,'H',3,1,17,34,70); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (199,'H',12,0,16,34,80); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (200,'H',7,2,15,34,90); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (201,'H',12,0,14,34,100); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (202,'S',0,0,23,35,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (203,'H',14,0,21,35,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (204,'H',18,0,19,35,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (205,'H',6,0,17,35,70); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (206,'H',24,0,15,35,90); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (207,'E',12,0,14,35,100); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (208,'S',0,0,23,36,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (209,'H',9,0,22,36,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (210,'H',7,1,21,36,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (211,'H',8,0,20,36,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (212,'H',10,0,19,36,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (213,'H',4,0,18,36,60); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (214,'H',3,2,17,36,70); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (215,'H',10,0,16,36,80); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (216,'H',7,1,15,36,90); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (217,'E',12,0,14,36,100); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (218,'S',0,0,23,37,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (219,'H',7,0,22,37,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (220,'H',6,1,21,37,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (221,'H',8,0,20,37,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (222,'H',10,0,19,37,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (223,'H',5,0,18,37,60); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (224,'H',3,2,17,37,70); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (225,'H',10,0,16,37,80); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (226,'H',7,1,15,37,90); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (227,'E',12,0,14,37,100); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (228,'S',0,0,23,38,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (229,'H',14,0,21,38,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (230,'H',18,0,19,38,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (231,'H',17,0,17,38,70); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (232,'H',22,0,15,38,90); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (233,'H',12,0,14,38,100); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (234,'E',8,0,13,38,110); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (235,'S',0,0,25,39,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (236,'H',12,0,30,39,70); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (237,'E',5,0,32,39,90); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (238,'S',0,0,25,40,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (239,'H',12,0,30,40,70); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (240,'H',5,0,32,40,90); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (241,'H',9,0,33,40,100); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (242,'H',10,0,35,40,120); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (243,'H',8,0,37,40,140); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (244,'E',10,0,40,40,170); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (245,'S',0,0,25,41,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (246,'H',16,0,32,41,90); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (247,'H',17,0,35,41,120); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (248,'H',8,0,37,41,140); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (249,'E',10,0,40,41,170); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (250,'S',0,0,32,42,110); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (251,'H',5,0,30,42,130); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (252,'E',11,0,25,42,180); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (253,'S',0,0,40,43,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (254,'H',12,0,37,43,60); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (255,'H',8,0,35,43,80); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (256,'H',9,0,33,43,100); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (257,'H',9,0,32,43,110); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (258,'H',5,0,30,43,130); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (259,'E',11,0,25,43,180); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (260,'S',0,0,40,44,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (261,'H',12,0,37,44,60); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (262,'H',8,0,35,44,80); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (263,'H',18,0,32,44,110); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (264,'E',14,0,25,44,180); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (1,'Autorack Baltimore Connelsville','ABC','freight','Autorack Baltimore Connelsville + +',1,85,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (2,'Manifest Cumberland-Toledo','MCT','freight','Manifest Cumberland-Toledo',1,92,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (3,'Intermodal Chambersburg-Grafton','ICG','freight','Intermodal Chambersburg-Grafton',1,85,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (4,'Intermodal Chicago-Porthsmouth','ICP','freight','Intermodal Chicago-Porthsmouth',1,92,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (5,'Manifest Cumberland-Willard','MCW','freight','Manifest Cumberland-Willard',1,91,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (6,'Autorack Philadelphia-Connelsville','APC','freight','Autorack Philadelphia-Connelsville',1,96,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (7,'Oil Philadelphia-Trenton','OPT','freight','Oil Philadelphia-Trenton',1,87,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (8,'Manifest Cumberland-Selkirk','MCS','freight','Manifest Cumberland-Selkirk',1,91,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (9,'Intermodal Chambersburg-Chicago','ICC','freight','Intermodal Chambersburg-Chicago',1,84,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (10,'Empty Coal Cumberland-Shaw Mine','CCS','freight','Empty Coal Cumberland-Shwa Mine',1,84,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (11,'Intermodal Baltimore-Chicago','IBC','freight','Intermodal Baltimore-Chicago',1,88,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (12,'Light Engine Cumberland-Toledo','ECT','light engine','Light Engine Cumberland-Toledo',1,78,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (13,'Manifest Cumberland-Indianapolis','MCI','freight','Manifest Cumberland-Indianapolis',1,80,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (14,'Oil Philadelphia-Rose Lake','OPR','freight','Oil Philadelphia-Rose Lake',1,81,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (15,'Manifest Baltimore-Detroit','MBD','freight','Manifest Baltimore-Detroit',1,85,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (16,'Manifest Indianapolis-Cumberland','MIC','Freight','Manifest Inidanapolis-Cumberland',2,80,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (17,'Manifest Willard-Cumberland','MWC','freight','Manifast Willard-Cumberland',2,78,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (18,'Coal Newell-Brunswick','CNB','freight','Coal Newell-Brunswick',2,79,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (19,'Autorack Toledo-Baltimore','ATB','freight','Autorack Toledo-Baltimore',2,79,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (20,'Intermodal East St Louis-LittleFerry','ILF','freight','Intermodal East St Louis-LittleFerry',2,79,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (21,'Intermodal Chicago-Chambersburg','ICC2','freight','Intermodal Chicago-Chambersburg',2,77,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (22,'Autorack Louiville-Baltimore','ALB','freight','Autorack Louiville-Baltimore',2,81,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (23,'Manifest Chicago-Cumberland','MCC','freight','Manifest Chicago-Cumberland',2,79,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (24,'Coal Shaw-Mine Yoder','CSY','freight','Coal Shaw-Mine Yoder',1,17,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (25,'Coal Yoder-Cumberland','CYC','freight','Coal Yoder-Cumberland',2,73,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (26,'Intermodal Chicago-Baltimore','ICB','freight','Intermodal Chicago-Baltimore',2,79,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (27,'Manifest Toledo-Cumberland','MTC','freight','Manifest Toledo-Cumberland',2,77,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (28,'Coach set A, all stops West','WestA','passenger','Loco: class 47 + +Coachset 5x Crimson and cream + +All stops',9,70,2); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (29,'Norton-Fizwarren-Minehead Limiited stops','WestCLX','passenger','Coack set C: Mixed Cocolate/Crimson + +Class 09 + +Limited stops + +Service starts at Norton Fitzwarren Yard',9,84,2); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (30,'Coach set B, all stops West','WestB','passenger','Class 47 + +Chocolate and Cream Mk1s + +All stops',9,92,2); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (31,'Coach set C, limited stops West','WestCL','passenger','Class 09 + +Coach set mixed + +Limited stops + +Bishops Lydeart-Minehead',9,70,2); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (32,'Coach set B, West last train','WestB2','pasenger','Class 47 + +Coaches Crimson and Cream + +West + +All stops',9,68,2); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (33,'Coach set B, all stops East','EastB','passenger','Class 47 engine + +Coach st B, Chocolate and cream + +All stops + +Minehead to Bishops Lydeart',10,77,2); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (34,'Coach set A, all stops East','EastA','passenger','Class 47 + +Coach set A, Crimsom and cream + +All stops + +Minehead to Bishops Lydeart',10,75,2); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (35,'Coach set C, limited stops East','EastCL','passenger','Class 9 + +Coach set mixed + +limited stops + +Minehead to Bishops Lydeart',10,74,2); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (36,'Coach set B, all stops East 2','EastB2','passenger','Class 47 + +Coach set chocolate/cream + +All stops + +Minehead to Bishops Lydeart + +Fast drive, 5 minutes shorter than EastB',10,74,2); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (37,'Coach set A, all stops, East 2','EastA2','passenger','Class 47 + +Coach set Crimson and cream + +All stops + +Minehead to Bishops Lydeart',10,72,2); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (38,'Minehead-Norton-Fitzwarren, Limitd stops','EastCLX','passenger','Class 09 + +Mixed coaches + +Limited stops + +Minehead to Norton Fitzwarren',10,91,2); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (39,'RB56 Hagen-Letmathe','RB56S','passenger','Hagen-Letmathe + +All stops + +southbound + +Passenger',11,17,3); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (40,'RB91 Hagen-Finnentrop all stops','RB91S','passenger','RB91 + +Hagen-Finnentrop + +All stops + +Passenger',11,54,3); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (41,'RE16 Hagen-Finnentrop Limited','RE16S','passenger','RE16 + +passenger + +Hagen-Finnetrop + +Linmited stops. + +Does not stop in Hohenlimburg and Altena',11,51,3); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (42,'RB56 Letmathe-Hagen','RB56N','passenger','Letmathe-Hagen + +All stops + +southbound + +Passenger',12,16,3); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (43,'RB91 Finnentrop-Hagen all stops','RB91N','passenger','Finnentrop-Hagen + +Passenger + +all stops + +RB91',12,54,3); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (44,'RE16 Finnentrop-Hagen limited','RE16E','passenger','Finnentrop-Hagen + +Limited stops + +RE16 + +Passenger',12,52,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (1,'Cumberland Line End','CblEnd',4,10,1); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (2,'Cumberland Yard','CblY',50,20,1); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (3,'Cumberland Depot','CblD',4,30,1); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (4,'Hyndman','Hmn',3,40,1); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (5,'Mance','Mnc',2,50,1); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (6,'Sandpatch','Spt',4,60,1); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (7,'Salisbury','Sby',3,70,1); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (8,'Shaw Mine','ShM',1,80,1); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (9,'Rockwood','Rwd',3,90,1); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (10,'Rockwood Mine','RwdM',1,100,1); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (11,'Rockwood Line End','RwdEnd',2,110,1); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (12,'Yoder','Yod',3,85,1); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (13,'Norton-Fitzwarren','NFw',2,10,2); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (14,'Bishops Lyeart','BLy',2,20,2); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (15,'Crowcombe Heathfiled','CrH',2,30,2); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (16,'Stogumber','Stg',1,40,2); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (17,'Williton','Wlt',2,50,2); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (18,'Doniford','Dnf',1,60,2); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (19,'Watchet','Wtch',1,70,2); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (20,'Washford','Wsf',2,80,2); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (21,'Blue Anchor','BlA',2,90,2); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (22,'Dunster','Dns',2,100,2); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (23,'Minehead','Mnh',4,110,2); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (24,'Hagen line end','HgnEnd',8,10,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (25,'Hagen Hauptbahnhof','HgnHbf',8,20,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (26,'Hagen Yard1','HgnYd1',30,30,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (27,'Hagen Yard2','HgnY2',50,40,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (28,'Hagen Yard 3','HgmY3',10,50,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (29,'Hagen Yard 4','HgnY4',10,60,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (30,'Hohenlimburh','Hlb',4,70,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (31,'Hohenlimburg Yard1','HlbY1',5,80,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (32,'Iserlohn-Letmathe','IsL',2,90,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (33,'Altena','Alt',2,100,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (34,'Wehrdohl-Elverlingen Kraftwerk','WerKw',1,110,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (35,'Werdohl','Wdl',3,120,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (36,'Plettenberg Yard1','PlbY1',10,130,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (37,'Plettenberg','Plb',4,140,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (38,'Plettenberg Yard 2','PlbY2',5,150,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (39,'Finnentrop Yard1','FntY1',10,160,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (40,'Finnentrop','Fnt',8,170,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (41,'Finnentrop Yard2','FntY2',8,180,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (42,'Finnentrop Line end','FntEnd',4,190,3); +INSERT INTO "Routes" ("Id","RouteName","RouteAbbreviation","RouteDescription") VALUES (1,'Sandpatch (Heavy Haul)','HH','US route'); +INSERT INTO "Routes" ("Id","RouteName","RouteAbbreviation","RouteDescription") VALUES (2,'West Somerset Railway','WSR','A UK heritage railway, in TSW diesel only.'); +INSERT INTO "Routes" ("Id","RouteName","RouteAbbreviation","RouteDescription") VALUES (3,'Ruhr-Sieg-North','RSN','The German Ruhr-Sieg route,fro Hagen till Finnentrop'); \ No newline at end of file diff --git a/Installer/TimetableDb.db b/Installer/TimetableDb.db new file mode 100644 index 0000000..9f73382 Binary files /dev/null and b/Installer/TimetableDb.db differ diff --git a/Installer/TimetableDb.db.sql b/Installer/TimetableDb.db.sql new file mode 100644 index 0000000..53284e7 --- /dev/null +++ b/Installer/TimetableDb.db.sql @@ -0,0 +1,879 @@ +BEGIN TRANSACTION; +CREATE TABLE IF NOT EXISTS "ServiceDirections" ( + "Id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + "ServiceDirectionName" TEXT NOT NULL, + "ServiceDirectionAbbreviation" TEXT NOT NULL, + "RouteId" INTEGER NOT NULL, + "IsDescending" INTEGER NOT NULL DEFAULT 0, + FOREIGN KEY("RouteId") REFERENCES "Routes" +); +CREATE TABLE IF NOT EXISTS "ConnectTtSi" ( + "Id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + "TimetableId" INTEGER NOT NULL, + "ServiceInstanceId" INTEGER NOT NULL, + FOREIGN KEY("ServiceInstanceId") REFERENCES "ServiceInstances", + UNIQUE("TimetableId","ServiceInstanceId"), + FOREIGN KEY("TimetableId") REFERENCES "Timetables" +); +CREATE TABLE IF NOT EXISTS "ServiceInstances" ( + "Id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + "ServiceInstanceName" TEXT NOT NULL, + "ServiceInstanceAbbreviation" TEXT NOT NULL, + "StartTime" INTEGER NOT NULL, + "EndTime" INTEGER NOT NULL, + "ServiceId" INTEGER NOT NULL, + FOREIGN KEY("ServiceId") REFERENCES "Services" +); +CREATE TABLE IF NOT EXISTS "Timetables" ( + "Id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + "TimetableName" TEXT NOT NULL, + "TimetableAbbreviation" TEXT NOT NULL, + "TimetableDescription" TEXT NOT NULL, + "IsMultiDirection" INT NOT NULL DEFAULT 0, + "ServiceDirectionId" INT, + "RouteId" INTEGER NOT NULL, + FOREIGN KEY("RouteId") REFERENCES "Routes", + FOREIGN KEY("ServiceDirectionId") REFERENCES "ServiceDirections" +); +CREATE TABLE IF NOT EXISTS "TimeEvents" ( + "Id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + "EventType" TEXT NOT NULL, + "ArrivalTime" INTEGER NOT NULL, + "WaitTime" INTEGER NOT NULL DEFAULT 0, + "LocationId" INTEGER NOT NULL, + "ServiceId" INTEGER NOT NULL, + "Order" INTEGER NOT NULL, + FOREIGN KEY("ServiceId") REFERENCES "Services", + FOREIGN KEY("LocationId") REFERENCES "Locations" +); +CREATE TABLE IF NOT EXISTS "Services" ( + "Id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + "ServiceName" TEXT NOT NULL, + "ServiceAbbreviation" TEXT NOT NULL, + "ServiceType" TEXT NOT NULL, + "ServiceDescription" TEXT NOT NULL, + "ServiceDirectionId" INT NOT NULL, + "CalculatedDuration" INTEGER NOT NULL, + "RouteId" INTEGER NOT NULL, + FOREIGN KEY("RouteId") REFERENCES "Routes", + FOREIGN KEY("ServiceDirectionId") REFERENCES "ServiceDirections" +); +CREATE TABLE IF NOT EXISTS "Sections" ( + "Id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + "SectionName" TEXT NOT NULL, + "NumberOfTracks" INTEGER NOT NULL, + "SpeedLimit" INTEGER NOT NULL, + "Gradient" INTEGER NOT NULL, + "DurationFreight" INTEGER NOT NULL, + "DurationPassenger" INTEGER NOT NULL, + "SectionLength" INTEGER NOT NULL, + "ALocationId" INTEGER NOT NULL, + "BLocationId" INTEGER NOT NULL, + "BranchId" INTEGER NOT NULL, + FOREIGN KEY("ALocationId") REFERENCES "Locations", + FOREIGN KEY("BLocationId") REFERENCES "Locations", + FOREIGN KEY("BranchId") REFERENCES "Branches" +); +CREATE TABLE IF NOT EXISTS "Locations" ( + "Id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + "LocationName" TEXT NOT NULL, + "LocationAbbreviation" TEXT NOT NULL, + "NumberOfTracks" INTEGER NOT NULL, + "Order" INTEGER NOT NULL, + "RouteId" INTEGER NOT NULL, + FOREIGN KEY("RouteId") REFERENCES "Routes" +); +CREATE TABLE IF NOT EXISTS "Branches" ( + "Id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + "BranchName" TEXT NOT NULL, + "BranchAbbreviation" TEXT NOT NULL, + "BranchDescription" TEXT NOT NULL, + "RouteId" INTEGER NOT NULL, + FOREIGN KEY("RouteId") REFERENCES "Routes" +); +CREATE TABLE IF NOT EXISTS "Routes" ( + "Id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + "RouteName" TEXT NOT NULL, + "RouteAbbreviation" TEXT NOT NULL, + "RouteDescription" TEXT NOT NULL +); +INSERT INTO "ServiceDirections" ("Id","ServiceDirectionName","ServiceDirectionAbbreviation","RouteId","IsDescending") VALUES (1,'Cumberland-Rockwood','West',1,0); +INSERT INTO "ServiceDirections" ("Id","ServiceDirectionName","ServiceDirectionAbbreviation","RouteId","IsDescending") VALUES (2,'Rockwood-Cumberland','East',1,1); +INSERT INTO "ServiceDirections" ("Id","ServiceDirectionName","ServiceDirectionAbbreviation","RouteId","IsDescending") VALUES (3,'Local duties ','Local',1,0); +INSERT INTO "ServiceDirections" ("Id","ServiceDirectionName","ServiceDirectionAbbreviation","RouteId","IsDescending") VALUES (9,'Norton-Fitzwarren to Minehead','East',2,0); +INSERT INTO "ServiceDirections" ("Id","ServiceDirectionName","ServiceDirectionAbbreviation","RouteId","IsDescending") VALUES (10,'Minehead to Norton Fitzwarren','West',2,1); +INSERT INTO "ServiceDirections" ("Id","ServiceDirectionName","ServiceDirectionAbbreviation","RouteId","IsDescending") VALUES (11,'Hagen-Finnentrop','South',3,0); +INSERT INTO "ServiceDirections" ("Id","ServiceDirectionName","ServiceDirectionAbbreviation","RouteId","IsDescending") VALUES (12,'Finnentrop-Hagen','North',3,1); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (5,2,1); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (6,2,2); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (7,2,3); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (8,2,4); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (9,2,5); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (10,2,6); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (11,2,7); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (12,2,8); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (14,2,9); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (15,2,10); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (16,2,11); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (17,2,12); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (18,2,13); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (19,2,14); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (22,2,15); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (23,2,16); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (24,2,17); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (25,2,18); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (27,2,28); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (28,1,19); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (29,1,20); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (30,1,21); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (31,1,22); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (32,1,23); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (33,1,24); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (34,1,25); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (35,1,26); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (36,1,27); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (37,1,29); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (38,1,30); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (39,1,31); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (40,1,32); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (41,3,33); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (42,3,34); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (43,3,35); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (44,3,36); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (45,3,37); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (46,3,38); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (47,4,39); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (48,4,40); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (49,4,41); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (50,4,42); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (51,4,43); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (52,4,44); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (53,5,33); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (54,5,34); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (55,5,35); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (56,5,36); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (57,5,37); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (58,5,38); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (59,5,39); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (60,5,40); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (61,5,41); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (62,5,42); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (63,5,43); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (64,5,44); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (65,6,35); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (66,7,1); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (67,7,2); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (68,7,3); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (69,7,4); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (70,7,5); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (71,7,6); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (72,7,7); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (73,7,8); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (74,7,9); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (75,7,10); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (76,7,11); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (77,7,12); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (78,7,13); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (79,7,14); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (80,7,15); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (81,7,16); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (82,7,17); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (83,7,18); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (84,7,19); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (85,7,20); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (86,7,21); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (87,7,22); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (88,7,23); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (89,7,24); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (90,7,25); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (91,7,26); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (92,7,27); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (93,7,28); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (94,7,29); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (95,7,30); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (96,7,31); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (97,7,32); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (130,8,45); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (131,8,46); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (132,8,47); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (133,8,48); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (134,8,49); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (135,8,50); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (136,8,51); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (137,8,52); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (138,8,53); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (139,8,54); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (140,8,55); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (141,8,56); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (142,8,57); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (143,8,58); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (144,8,59); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (145,8,60); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (146,8,61); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (147,8,62); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (148,8,63); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (149,8,64); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (150,8,65); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (151,8,66); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (152,8,67); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (153,8,68); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (154,8,69); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (155,8,70); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (156,8,71); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (157,8,72); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (158,8,73); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (159,8,74); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (160,8,75); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (161,8,76); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (162,8,77); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (163,8,78); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (164,8,79); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (166,9,81); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (167,9,82); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (168,9,83); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (169,9,84); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (170,9,85); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (171,9,86); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (172,9,87); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (173,9,88); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (174,9,89); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (175,9,90); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (176,9,91); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (177,9,92); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (178,9,93); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (179,9,94); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (180,9,95); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (181,9,96); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (182,9,97); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (183,9,98); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (184,9,99); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (185,9,100); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (186,9,101); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (187,9,102); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (188,9,103); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (189,9,104); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (190,9,105); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (191,9,106); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (192,9,107); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (193,9,108); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (194,9,109); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (195,9,110); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (196,9,111); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (197,9,112); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (198,9,113); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (199,9,114); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (200,9,115); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (201,9,116); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (202,9,117); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (203,9,118); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (204,9,119); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (205,9,120); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (206,10,45); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (207,10,46); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (208,10,47); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (209,10,48); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (210,10,49); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (211,10,50); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (212,10,51); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (213,10,52); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (214,10,53); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (215,10,54); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (216,10,55); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (217,10,56); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (218,10,57); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (219,10,58); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (220,10,59); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (221,10,60); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (222,10,61); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (223,10,62); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (224,10,63); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (225,10,64); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (226,10,65); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (227,10,66); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (228,10,67); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (229,10,68); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (230,10,69); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (231,10,70); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (232,10,71); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (233,10,72); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (234,10,73); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (235,10,74); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (236,10,75); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (237,10,76); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (238,10,77); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (239,10,78); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (240,10,79); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (241,10,80); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (242,10,81); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (243,10,82); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (244,10,83); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (245,10,84); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (246,10,85); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (247,10,86); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (248,10,87); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (249,10,88); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (250,10,89); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (251,10,90); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (252,10,91); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (253,10,92); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (254,10,93); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (255,10,94); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (256,10,95); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (257,10,96); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (258,10,97); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (259,10,98); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (260,10,99); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (261,10,100); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (262,10,101); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (263,10,102); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (264,10,103); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (265,10,104); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (266,10,105); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (267,10,106); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (268,10,107); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (269,10,108); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (270,10,109); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (271,10,110); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (272,10,111); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (273,10,112); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (274,10,113); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (275,10,114); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (276,10,115); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (277,10,116); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (278,10,117); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (279,10,118); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (280,10,119); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (281,10,120); +INSERT INTO "ConnectTtSi" ("Id","TimetableId","ServiceInstanceId") VALUES (282,8,80); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (1,'Q249 Autorack','Q249',25,110,1); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (2,'Q355 Manifest','Q355',56,148,2); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (3,'Q015 Intermodal','Q015',93,177,3); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (4,'Q130 Intermodal','Q130',476,560,4); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (5,'Q353 Manifest','Q353',513,604,5); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (6,'Q217 Autorack','Q217',524,620,6); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (7,'K145 Oil','K145',576,657,7); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (8,'Q640 Manifest','Q640',713,881,8); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (9,'Q261 Autorack','Q261',735,820,1); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (10,'Q115 Intermodal','Q115',767,851,9); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (11,'U876-A Empty coal','U876-A',872,956,10); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (12,'Q137 Intermodal','Q137',965,1052,11); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (13,'X790 Light engine','Z790',1017,1095,12); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (14,'Q359 Manifest','Q359',1050,1130,13); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (15,'K143 Oil','K143',1076,1157,14); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (16,'Q250 Autorack','Q250',1101,1186,1); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (17,'Q375 Manifest','Q375',1150,1232,5); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (18,'K557 Manifest','K557',1250,1335,15); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (19,'Q358 Manifest','Q358',51,129,16); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (20,'Q352 Manifest','Q352',417,495,17); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (21,'N536 Coal','N536',490,569,18); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (22,'Q276 Autorack','Q276',522,601,19); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (23,'Q008 Intermodal','Q008',573,652,20); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (24,'Q116 Intermodal','Q116',812,891,21); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (25,'Q226 Autorack','Q226',838,919,22); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (26,'I368 Manifest','I368',927,1016,23); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (27,'Q368 Manifest','Q368',1007,1088,23); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (28,'U876-C Coal','U876-C',1020,1037,24); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (29,'U876-D Coal','U876-D',1050,1123,25); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (30,'Q138 Intermodal','Q138',1058,1137,26); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (31,'Q394 Manifest','Q394',1141,1218,27); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (32,'Q016 Intermodal','Q016',1325,1404,21); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (33,'West 1 diesel','W1D',615,699,28); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (34,'West 2 shunter','W2S',645,748,29); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (35,'West 3 diesel','W3D',735,833,30); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (36,'West 5 shunter','W5S',910,984,31); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (37,'West 4 diesel','W4D',855,939,28); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (38,'West 6 diesel','W6D',975,1065,32); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (39,'East 1 diesel','E1D',615,702,33); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (40,'East 2 diesel','E2D',750,825,34); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (41,'East 3 shunter','E3S',800,879,35); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (42,'East 4 diesel','E4D',855,937,36); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (43,'East 5 diesel','E5D',984,1056,37); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (44,'East 6 shunter','E6S',1035,1128,38); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (45,'RB91S01','RB91S01',340,394,40); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (46,'RB91S2','RB91S2',400,454,40); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (47,'RB91S3','RB91S3',495,549,40); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (48,'RB91S4','RB91S4',520,574,40); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (49,'RB91S5','RB91S5',580,634,40); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (50,'RB91S6','RB91S6',640,694,40); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (51,'RB91S7','RB91S7',735,789,40); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (52,'RB91S8','RB91S8',760,814,40); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (53,'RB91S9','RB91S9',820,874,40); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (54,'RB91S10','RB91S10',880,936,40); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (55,'RB91S11','RB91S11',975,1029,40); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (56,'RB91S12','RB91S12',1000,1054,40); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (57,'RB91S13','RB91S13',1060,1114,40); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (58,'RB91SS14','RB91SS14',1120,1174,40); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (59,'RB91S15','RB91S15',1215,1269,40); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (60,'RB91S16','RB91S16',1245,1299,40); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (61,'RB56S1','RB56S1',546,563,39); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (62,'RB56S2','RB56S2',930,947,39); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (63,'RB56S3','RB56S3',1110,1127,39); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (64,'RE16S01','RE16S01',370,421,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (65,'RE16S02','RE16S02',435,486,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (66,'RE16S03','RE16S03',460,511,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (67,'RE16S04','RE16S04',555,606,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (68,'RE16S05','RE16S05',615,666,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (69,'RE16S06','RE16S06',675,726,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (70,'RE16S07','RE16S07',700,751,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (71,'RE16S08','RE16S08',795,846,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (72,'RE16S09','RE16S09',855,906,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (73,'RE16S10','RE16S10',915,969,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (74,'RE16S11','RE16S11',940,991,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (75,'RE16S12','RE16S12',1035,1086,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (76,'RE16S13','RE16S13',1095,1146,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (77,'RE16S14','RE16S14',1155,1206,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (78,'RE16S15','RE16S15',1185,1236,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (79,'RE16S16','RE16S16',1275,1326,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (80,'RE16S17','RE16S17',1335,1386,41); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (81,'RB56N1','RB56N1',675,691,42); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (82,'RB56N2','RB56N2',855,871,42); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (83,'RB56N3','RB56N3',1035,1051,42); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (84,'RB56N4','RB56N4',1215,1231,42); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (85,'RB56N5','RB56N5',1395,1411,42); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (86,'RB91N01','RB91N01',353,407,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (87,'RB91N02','RB91N02',413,467,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (88,'RB91N03','RB91N03',450,504,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (89,'RB91N04','RB91N04',515,569,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (90,'RB91N05','RB91N05',570,624,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (91,'RB91N06','RB91N06',653,707,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (92,'RB91N07','RB91N07',690,744,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (93,'RB91N08','RB91N08',750,804,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (94,'RB91N09','RB91N09',810,864,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (95,'RB91N10','RB91N10',893,947,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (96,'RB91N11','RB91N11',935,989,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (97,'RB91N12','RB91N12',990,1044,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (98,'RB91N13','RB91N13',1050,1104,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (99,'RB91N14','RB91N14',1135,1189,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (100,'RB91N15','RB91N15',1172,1226,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (101,'RB91N16','RB91N16',1235,1289,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (102,'RB91N17','RB91N17',1295,1349,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (103,'RB91N18','RB91N18',1378,1432,43); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (104,'RE16N01','RE16N01',293,347,44); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (105,'RE17N02','RE17N02',390,441,44); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (106,'RE16N03','RE16N03',474,528,44); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (107,'RE16N04','RE16N04',533,587,44); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (108,'RE16N05','RE16N05',593,647,44); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (109,'RE16N06','RE16N06',635,686,44); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (110,'RE16N07','RE16N07',713,767,44); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (111,'RE16N08','RE16N08',773,827,44); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (112,'RE16N09','RE16N09',833,887,44); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (113,'RE16N10','RE16N10',875,926,44); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (114,'RE16N11','RE16N11',953,1007,44); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (115,'RE16N12','RE16N12',1013,1067,44); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (116,'RE16N13','RE16N13',1073,1127,44); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (117,'RE16N14','RE16N14',1115,1166,44); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (118,'RE16N15','RE16N15',942,1249,44); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (119,'RE16N16','RE16N16',1258,1312,44); +INSERT INTO "ServiceInstances" ("Id","ServiceInstanceName","ServiceInstanceAbbreviation","StartTime","EndTime","ServiceId") VALUES (120,'RE17N17','RE17N17',1318,1372,44); +INSERT INTO "Timetables" ("Id","TimetableName","TimetableAbbreviation","TimetableDescription","IsMultiDirection","ServiceDirectionId","RouteId") VALUES (1,'TSW Servicemode Eastbound','SM-East','TSW Servicemode Eastbound',0,2,1); +INSERT INTO "Timetables" ("Id","TimetableName","TimetableAbbreviation","TimetableDescription","IsMultiDirection","ServiceDirectionId","RouteId") VALUES (2,'TSW Servicemode wesbound','SM-West','TSW Servicemode wesbound',0,1,1); +INSERT INTO "Timetables" ("Id","TimetableName","TimetableAbbreviation","TimetableDescription","IsMultiDirection","ServiceDirectionId","RouteId") VALUES (3,'Servicemode Westbound','SM-West','Servicemode westbound trains WSR',0,9,2); +INSERT INTO "Timetables" ("Id","TimetableName","TimetableAbbreviation","TimetableDescription","IsMultiDirection","ServiceDirectionId","RouteId") VALUES (4,'Servicemode Eastbound','SM-East','Servicemode eastbount WSR',0,10,2); +INSERT INTO "Timetables" ("Id","TimetableName","TimetableAbbreviation","TimetableDescription","IsMultiDirection","ServiceDirectionId","RouteId") VALUES (5,'All Services','SM-All','All services',1,-1,2); +INSERT INTO "Timetables" ("Id","TimetableName","TimetableAbbreviation","TimetableDescription","IsMultiDirection","ServiceDirectionId","RouteId") VALUES (6,'Test','test','Test',0,9,2); +INSERT INTO "Timetables" ("Id","TimetableName","TimetableAbbreviation","TimetableDescription","IsMultiDirection","ServiceDirectionId","RouteId") VALUES (7,'All services','SMAll','All services except locals',1,-1,1); +INSERT INTO "Timetables" ("Id","TimetableName","TimetableAbbreviation","TimetableDescription","IsMultiDirection","ServiceDirectionId","RouteId") VALUES (8,'SM Hagen-Finnentrop','SM-South','Servicemode +Passengerservices +Hagen-Finnnetrop +All services',0,11,3); +INSERT INTO "Timetables" ("Id","TimetableName","TimetableAbbreviation","TimetableDescription","IsMultiDirection","ServiceDirectionId","RouteId") VALUES (9,'SM Finnentrop-Hagen','SM-North','Service mode +Northbound +Finnentrop-Hagen +All passenger services',0,12,3); +INSERT INTO "Timetables" ("Id","TimetableName","TimetableAbbreviation","TimetableDescription","IsMultiDirection","ServiceDirectionId","RouteId") VALUES (10,'SM All passenger services','AM-All','RSN North +All passenger services',1,-1,3); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (1,'S',0,0,2,1,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (2,'P',25,0,4,1,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (3,'P',30,0,5,1,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (4,'P',18,0,7,1,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (5,'E',12,0,9,1,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (6,'S',0,0,2,2,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (7,'P',28,0,4,2,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (8,'P',33,0,5,2,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (9,'P',19,0,7,2,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (10,'E',12,0,9,2,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (11,'S',0,0,2,3,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (12,'P',25,0,4,3,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (13,'P',30,0,5,3,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (14,'P',17,0,7,3,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (15,'E',13,0,9,3,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (16,'S',0,0,2,4,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (17,'P',25,0,4,4,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (18,'P',30,0,5,4,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (19,'P',19,0,7,4,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (20,'E',18,0,9,4,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (21,'S',0,0,2,5,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (22,'P',28,0,4,5,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (23,'P',33,0,5,5,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (24,'P',19,0,7,5,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (25,'E',11,0,9,5,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (26,'S',0,0,2,6,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (27,'P',25,0,4,6,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (28,'P',32,0,5,6,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (29,'P',17,0,7,6,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (30,'E',22,0,9,6,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (31,'S',0,0,2,7,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (32,'P',24,0,4,7,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (33,'P',28,0,5,7,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (34,'P',23,0,7,7,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (35,'E',12,0,9,7,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (36,'S',0,0,2,8,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (37,'P',28,0,4,8,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (38,'P',33,0,5,8,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (39,'P',19,0,7,8,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (40,'E',11,0,9,8,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (41,'S',0,0,2,9,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (42,'P',25,0,4,9,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (43,'P',30,0,5,9,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (44,'P',17,0,7,9,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (45,'E',12,0,9,9,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (46,'S',0,0,2,10,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (47,'P',26,0,4,10,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (48,'P',28,0,5,10,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (49,'E',30,0,8,10,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (50,'S',0,0,2,11,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (51,'P',25,0,4,11,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (52,'P',29,0,5,11,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (53,'P',21,0,7,11,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (54,'E',13,0,9,11,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (55,'S',0,0,2,12,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (56,'P',23,0,4,12,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (57,'P',27,0,5,12,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (58,'P',17,0,7,12,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (59,'E',11,0,9,12,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (60,'S',0,0,2,13,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (61,'P',23,0,4,13,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (62,'P',28,0,5,13,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (63,'P',17,0,7,13,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (64,'P',12,0,9,13,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (65,'S',0,0,2,14,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (66,'P',23,0,4,14,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (67,'P',28,0,5,14,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (68,'P',18,0,7,14,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (69,'E',12,0,9,14,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (70,'S',0,0,2,15,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (71,'P',29,0,4,15,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (72,'P',26,0,5,15,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (73,'P',18,0,7,15,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (74,'P',12,0,9,15,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (75,'S',0,0,9,16,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (76,'P',55,0,4,16,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (77,'E',25,0,2,16,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (78,'S',0,0,9,17,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (79,'P',55,0,4,17,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (80,'E',23,0,2,17,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (81,'S',0,0,9,18,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (82,'P',56,0,4,18,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (83,'E',23,0,2,18,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (84,'S',0,0,9,19,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (85,'P',56,0,4,19,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (86,'E',23,0,2,19,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (87,'S',0,0,9,20,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (88,'P',56,0,4,20,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (89,'E',23,0,2,20,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (90,'S',0,0,9,21,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (91,'P',56,0,4,21,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (92,'E',21,0,2,21,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (93,'S',0,0,9,22,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (94,'P',56,0,4,22,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (95,'E',25,0,2,22,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (96,'S',0,0,9,23,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (97,'P',55,0,4,23,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (98,'E',24,0,2,23,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (99,'S',0,0,8,24,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (100,'E',17,0,12,24,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (101,'S',0,0,12,25,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (102,'P',47,0,4,25,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (103,'E',26,0,2,25,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (104,'S',0,0,9,26,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (105,'P',56,0,4,26,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (106,'E',23,0,2,26,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (107,'S',0,0,9,27,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (108,'P',55,0,4,27,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (109,'E',22,0,2,27,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (139,'S',0,0,14,28,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (140,'H',12,0,15,28,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (141,'H',8,0,16,28,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (142,'H',9,0,17,28,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (143,'H',5,0,18,28,60); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (144,'H',4,0,19,28,70); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (145,'H',9,0,20,28,80); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (146,'H',7,0,21,28,90); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (147,'H',8,0,22,28,100); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (148,'E',8,0,23,28,110); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (149,'S',0,0,13,29,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (150,'H',14,0,14,29,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (151,'H',15,0,15,29,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (152,'H',17,0,17,29,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (153,'H',8,0,19,29,70); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (154,'H',16,0,21,29,90); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (155,'E',14,0,23,29,110); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (156,'S',0,0,14,30,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (157,'H',12,1,15,30,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (158,'H',9,0,16,30,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (159,'H',9,25,17,30,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (160,'H',5,0,18,30,60); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (161,'H',5,0,19,30,70); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (162,'H',4,0,20,30,80); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (163,'H',7,1,21,30,90); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (164,'H',6,0,22,30,100); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (165,'E',8,0,23,30,110); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (166,'S',0,0,14,31,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (167,'H',15,0,15,31,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (168,'H',17,0,17,31,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (169,'H',8,0,19,31,70); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (170,'H',16,0,21,31,90); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (171,'E',14,0,23,31,110); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (172,'S',0,0,14,32,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (173,'H',12,0,15,32,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (174,'H',9,0,16,32,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (175,'H',9,0,17,32,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (176,'H',5,0,18,32,60); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (177,'H',4,0,19,32,70); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (178,'H',7,0,20,32,80); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (179,'H',7,0,21,32,90); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (180,'H',6,0,22,32,100); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (181,'H',9,0,23,32,110); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (182,'S',0,0,23,33,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (183,'H',9,0,22,33,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (184,'H',6,1,21,33,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (185,'H',8,0,20,33,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (186,'H',10,0,19,33,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (187,'H',4,0,18,33,60); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (188,'H',4,1,17,33,70); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (189,'H',11,0,16,33,80); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (190,'H',7,4,15,33,90); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (191,'E',12,0,14,33,100); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (192,'S',0,0,23,34,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (193,'H',9,0,22,34,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (194,'H',6,1,21,34,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (195,'H',8,0,20,34,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (196,'H',10,0,19,34,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (197,'H',4,0,18,34,60); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (198,'H',3,1,17,34,70); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (199,'H',12,0,16,34,80); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (200,'H',7,2,15,34,90); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (201,'H',12,0,14,34,100); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (202,'S',0,0,23,35,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (203,'H',14,0,21,35,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (204,'H',18,0,19,35,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (205,'H',6,0,17,35,70); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (206,'H',24,0,15,35,90); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (207,'E',12,0,14,35,100); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (208,'S',0,0,23,36,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (209,'H',9,0,22,36,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (210,'H',7,1,21,36,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (211,'H',8,0,20,36,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (212,'H',10,0,19,36,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (213,'H',4,0,18,36,60); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (214,'H',3,2,17,36,70); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (215,'H',10,0,16,36,80); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (216,'H',7,1,15,36,90); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (217,'E',12,0,14,36,100); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (218,'S',0,0,23,37,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (219,'H',7,0,22,37,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (220,'H',6,1,21,37,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (221,'H',8,0,20,37,40); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (222,'H',10,0,19,37,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (223,'H',5,0,18,37,60); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (224,'H',3,2,17,37,70); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (225,'H',10,0,16,37,80); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (226,'H',7,1,15,37,90); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (227,'E',12,0,14,37,100); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (228,'S',0,0,23,38,10); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (229,'H',14,0,21,38,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (230,'H',18,0,19,38,50); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (231,'H',17,0,17,38,70); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (232,'H',22,0,15,38,90); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (233,'H',12,0,14,38,100); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (234,'E',8,0,13,38,110); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (235,'S',0,0,25,39,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (236,'H',12,0,30,39,70); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (237,'E',5,0,32,39,90); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (238,'S',0,0,25,40,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (239,'H',12,0,30,40,70); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (240,'H',5,0,32,40,90); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (241,'H',9,0,33,40,100); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (242,'H',10,0,35,40,120); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (243,'H',8,0,37,40,140); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (244,'E',10,0,40,40,170); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (245,'S',0,0,25,41,20); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (246,'H',16,0,32,41,90); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (247,'H',17,0,35,41,120); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (248,'H',8,0,37,41,140); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (249,'E',10,0,40,41,170); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (250,'S',0,0,32,42,110); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (251,'H',5,0,30,42,130); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (252,'E',11,0,25,42,180); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (253,'S',0,0,40,43,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (254,'H',12,0,37,43,60); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (255,'H',8,0,35,43,80); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (256,'H',9,0,33,43,100); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (257,'H',9,0,32,43,110); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (258,'H',5,0,30,43,130); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (259,'E',11,0,25,43,180); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (260,'S',0,0,40,44,30); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (261,'H',12,0,37,44,60); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (262,'H',8,0,35,44,80); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (263,'H',18,0,32,44,110); +INSERT INTO "TimeEvents" ("Id","EventType","ArrivalTime","WaitTime","LocationId","ServiceId","Order") VALUES (264,'E',14,0,25,44,180); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (1,'Autorack Baltimore Connelsville','ABC','freight','Autorack Baltimore Connelsville +',1,85,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (2,'Manifest Cumberland-Toledo','MCT','freight','Manifest Cumberland-Toledo',1,92,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (3,'Intermodal Chambersburg-Grafton','ICG','freight','Intermodal Chambersburg-Grafton',1,85,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (4,'Intermodal Chicago-Porthsmouth','ICP','freight','Intermodal Chicago-Porthsmouth',1,92,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (5,'Manifest Cumberland-Willard','MCW','freight','Manifest Cumberland-Willard',1,91,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (6,'Autorack Philadelphia-Connelsville','APC','freight','Autorack Philadelphia-Connelsville',1,96,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (7,'Oil Philadelphia-Trenton','OPT','freight','Oil Philadelphia-Trenton',1,87,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (8,'Manifest Cumberland-Selkirk','MCS','freight','Manifest Cumberland-Selkirk',1,91,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (9,'Intermodal Chambersburg-Chicago','ICC','freight','Intermodal Chambersburg-Chicago',1,84,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (10,'Empty Coal Cumberland-Shaw Mine','CCS','freight','Empty Coal Cumberland-Shwa Mine',1,84,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (11,'Intermodal Baltimore-Chicago','IBC','freight','Intermodal Baltimore-Chicago',1,88,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (12,'Light Engine Cumberland-Toledo','ECT','light engine','Light Engine Cumberland-Toledo',1,78,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (13,'Manifest Cumberland-Indianapolis','MCI','freight','Manifest Cumberland-Indianapolis',1,80,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (14,'Oil Philadelphia-Rose Lake','OPR','freight','Oil Philadelphia-Rose Lake',1,81,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (15,'Manifest Baltimore-Detroit','MBD','freight','Manifest Baltimore-Detroit',1,85,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (16,'Manifest Indianapolis-Cumberland','MIC','Freight','Manifest Inidanapolis-Cumberland',2,80,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (17,'Manifest Willard-Cumberland','MWC','freight','Manifast Willard-Cumberland',2,78,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (18,'Coal Newell-Brunswick','CNB','freight','Coal Newell-Brunswick',2,79,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (19,'Autorack Toledo-Baltimore','ATB','freight','Autorack Toledo-Baltimore',2,79,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (20,'Intermodal East St Louis-LittleFerry','ILF','freight','Intermodal East St Louis-LittleFerry',2,79,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (21,'Intermodal Chicago-Chambersburg','ICC2','freight','Intermodal Chicago-Chambersburg',2,77,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (22,'Autorack Louiville-Baltimore','ALB','freight','Autorack Louiville-Baltimore',2,81,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (23,'Manifest Chicago-Cumberland','MCC','freight','Manifest Chicago-Cumberland',2,79,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (24,'Coal Shaw-Mine Yoder','CSY','freight','Coal Shaw-Mine Yoder',1,17,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (25,'Coal Yoder-Cumberland','CYC','freight','Coal Yoder-Cumberland',2,73,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (26,'Intermodal Chicago-Baltimore','ICB','freight','Intermodal Chicago-Baltimore',2,79,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (27,'Manifest Toledo-Cumberland','MTC','freight','Manifest Toledo-Cumberland',2,77,1); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (28,'Coach set A, all stops West','WestA','passenger','Loco: class 47 +Coachset 5x Crimson and cream +All stops',9,70,2); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (29,'Norton-Fizwarren-Minehead Limiited stops','WestCLX','passenger','Coack set C: Mixed Cocolate/Crimson +Class 09 +Limited stops +Service starts at Norton Fitzwarren Yard',9,84,2); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (30,'Coach set B, all stops West','WestB','passenger','Class 47 +Chocolate and Cream Mk1s +All stops',9,92,2); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (31,'Coach set C, limited stops West','WestCL','passenger','Class 09 +Coach set mixed +Limited stops +Bishops Lydeart-Minehead',9,70,2); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (32,'Coach set B, West last train','WestB2','pasenger','Class 47 +Coaches Crimson and Cream +West +All stops',9,68,2); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (33,'Coach set B, all stops East','EastB','passenger','Class 47 engine +Coach st B, Chocolate and cream +All stops +Minehead to Bishops Lydeart',10,77,2); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (34,'Coach set A, all stops East','EastA','passenger','Class 47 +Coach set A, Crimsom and cream +All stops +Minehead to Bishops Lydeart',10,75,2); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (35,'Coach set C, limited stops East','EastCL','passenger','Class 9 +Coach set mixed +limited stops +Minehead to Bishops Lydeart',10,74,2); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (36,'Coach set B, all stops East 2','EastB2','passenger','Class 47 +Coach set chocolate/cream +All stops +Minehead to Bishops Lydeart +Fast drive, 5 minutes shorter than EastB',10,74,2); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (37,'Coach set A, all stops, East 2','EastA2','passenger','Class 47 +Coach set Crimson and cream +All stops +Minehead to Bishops Lydeart',10,72,2); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (38,'Minehead-Norton-Fitzwarren, Limitd stops','EastCLX','passenger','Class 09 +Mixed coaches +Limited stops +Minehead to Norton Fitzwarren',10,91,2); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (39,'RB56 Hagen-Letmathe','RB56S','passenger','Hagen-Letmathe +All stops +southbound +Passenger',11,17,3); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (40,'RB91 Hagen-Finnentrop all stops','RB91S','passenger','RB91 +Hagen-Finnentrop +All stops +Passenger',11,54,3); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (41,'RE16 Hagen-Finnentrop Limited','RE16S','passenger','RE16 +passenger +Hagen-Finnetrop +Linmited stops. +Does not stop in Hohenlimburg and Altena',11,51,3); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (42,'RB56 Letmathe-Hagen','RB56N','passenger','Letmathe-Hagen +All stops +southbound +Passenger',12,16,3); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (43,'RB91 Finnentrop-Hagen all stops','RB91N','passenger','Finnentrop-Hagen +Passenger +all stops +RB91',12,54,3); +INSERT INTO "Services" ("Id","ServiceName","ServiceAbbreviation","ServiceType","ServiceDescription","ServiceDirectionId","CalculatedDuration","RouteId") VALUES (44,'RE16 Finnentrop-Hagen limited','RE16E','passenger','Finnentrop-Hagen +Limited stops +RE16 +Passenger',12,52,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (1,'Cumberland Line End','CblEnd',4,10,1); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (2,'Cumberland Yard','CblY',50,20,1); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (3,'Cumberland Depot','CblD',4,30,1); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (4,'Hyndman','Hmn',3,40,1); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (5,'Mance','Mnc',2,50,1); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (6,'Sandpatch','Spt',4,60,1); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (7,'Salisbury','Sby',3,70,1); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (8,'Shaw Mine','ShM',1,80,1); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (9,'Rockwood','Rwd',3,90,1); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (10,'Rockwood Mine','RwdM',1,100,1); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (11,'Rockwood Line End','RwdEnd',2,110,1); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (12,'Yoder','Yod',3,85,1); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (13,'Norton-Fitzwarren','NFw',2,10,2); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (14,'Bishops Lyeart','BLy',2,20,2); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (15,'Crowcombe Heathfiled','CrH',2,30,2); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (16,'Stogumber','Stg',1,40,2); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (17,'Williton','Wlt',2,50,2); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (18,'Doniford','Dnf',1,60,2); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (19,'Watchet','Wtch',1,70,2); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (20,'Washford','Wsf',2,80,2); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (21,'Blue Anchor','BlA',2,90,2); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (22,'Dunster','Dns',2,100,2); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (23,'Minehead','Mnh',4,110,2); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (24,'Hagen line end','HgnEnd',8,10,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (25,'Hagen Hauptbahnhof','HgnHbf',8,20,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (26,'Hagen Yard1','HgnYd1',30,30,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (27,'Hagen Yard2','HgnY2',50,40,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (28,'Hagen Yard 3','HgmY3',10,50,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (29,'Hagen Yard 4','HgnY4',10,60,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (30,'Hohenlimburh','Hlb',4,70,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (31,'Hohenlimburg Yard1','HlbY1',5,80,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (32,'Iserlohn-Letmathe','IsL',2,90,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (33,'Altena','Alt',2,100,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (34,'Wehrdohl-Elverlingen Kraftwerk','WerKw',1,110,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (35,'Werdohl','Wdl',3,120,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (36,'Plettenberg Yard1','PlbY1',10,130,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (37,'Plettenberg','Plb',4,140,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (38,'Plettenberg Yard 2','PlbY2',5,150,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (39,'Finnentrop Yard1','FntY1',10,160,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (40,'Finnentrop','Fnt',8,170,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (41,'Finnentrop Yard2','FntY2',8,180,3); +INSERT INTO "Locations" ("Id","LocationName","LocationAbbreviation","NumberOfTracks","Order","RouteId") VALUES (42,'Finnentrop Line end','FntEnd',4,190,3); +INSERT INTO "Routes" ("Id","RouteName","RouteAbbreviation","RouteDescription") VALUES (1,'Sandpatch (Heavy Haul)','HH','US route'); +INSERT INTO "Routes" ("Id","RouteName","RouteAbbreviation","RouteDescription") VALUES (2,'West Somerset Railway','WSR','A UK heritage railway, in TSW diesel only.'); +INSERT INTO "Routes" ("Id","RouteName","RouteAbbreviation","RouteDescription") VALUES (3,'Ruhr-Sieg-North','RSN','The German Ruhr-Sieg route,fro Hagen till Finnentrop'); +CREATE VIEW FullTimeEvents +AS SELECT + TimeEvents.Id AS Id + ,Locations.LocationAbbreviation AS LocationAbbreviation + ,Locations.LocationName AS LocationName + ,Locations.NumberOfTracks AS NumberOfTracks + ,Locations.[Order] AS LocationOrder + ,TimeEvents.EventType AS EventType + ,TimeEvents.ArrivalTime AS ArrivalTime + ,TimeEvents.WaitTime AS WaitTime + ,TimeEvents.[Order] AS [Order] + ,Services.ServiceAbbreviation AS ServiceAbbreviation + ,Services.ServiceName AS ServiceName + ,TimeEvents.LocationId AS LocationId + ,TimeEvents.ServiceId AS ServiceId +FROM TimeEvents, Services, Locations +WHERE Services.Id= TimeEvents.ServiceId AND Locations.Id= TimeEvents.LocationId +ORDER BY Services.Id ASC, TimeEvents.[Order] ASC; +COMMIT; diff --git a/Installer/TimetableToolSetupv0.1.iss b/Installer/TimetableToolSetupv0.1.iss new file mode 100644 index 0000000..bbffef9 --- /dev/null +++ b/Installer/TimetableToolSetupv0.1.iss @@ -0,0 +1,87 @@ +; Script generated by the Inno Script Studio Wizard. +; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! + +#define MyAppName "TimetableTool" +#define MyAppVersion "0.1 alpha" +#define MyAppPublisher "Holland Hiking" +#define MyAppURL "http://www.hollandhiking.nl/trainsimulator" +#define MyAppExeName "TimetableTool.exe" +; #define DataDirName= "{code:GetDataDir}" +; #define DefaultDirName="{code:GetInstallDir}" + +[Setup] +; NOTE: The value of AppId uniquely identifies this application. +; Do not use the same AppId value in installers for other applications. +; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) +AppId={{0C16F964-B19F-4E40-AFF0-F5AFB66EED9E} +AppName={#MyAppName} +AppVersion={#MyAppVersion} +AppPublisher={#MyAppPublisher} +AppPublisherURL={#MyAppURL} +AppSupportURL={#MyAppURL} +AppUpdatesURL={#MyAppURL} +DefaultDirName={pf}\{#MyAppName} +DefaultGroupName={#MyAppName} +AllowNoIcons=yes +LicenseFile=License.txt +InfoBeforeFile=Readme.txt +OutputDir= Output +OutputBaseFilename=TimetableToolSetup +Compression=lzma +SolidCompression=yes +WizardImageFile=Setup.bmp +WizardImageBackColor=clInfoBk +WizardImageStretch=False +AppCopyright=2020 Rudolf Heijink +DisableWelcomePage=no +DisableDirPage=no + +[Languages] +Name: "english"; MessagesFile: "compiler:Default.isl" + +[Tasks] +Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked +Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1 + +[Files] +; NOTE: Don't use "Flags: ignoreversion" on any shared system files +Source: "..\TimetableTool.Desktop\bin\Release\netcoreapp3.1\TimetableTool.exe"; DestDir: "{app}"; DestName: "{#MyAppExeName}" +Source: "..\TimetableTool.Desktop\bin\Release\netcoreapp3.1\appsettings.json"; DestDir: "{app}" +Source: "..\TimetableTool.Desktop\bin\Release\netcoreapp3.1\TimetableTool.runtimeconfig.json"; DestDir: "{app}" +Source: "..\TimetableTool.Desktop\bin\Release\netcoreapp3.1\TimetableTool.deps.json"; DestDir: "{app}" +Source: "..\TimetableTool.Desktop\bin\Release\netcoreapp3.1\*.dll"; DestDir: "{app}" +Source: "..\Manual\TimetableTool Manual.pdf"; DestDir: "{userdocs}\TimetableTool" +Source: "..\TimetableTool.Desktop\appsettings.json"; DestDir: "{app}" +Source: "..\TimetableTool.Desktop\bin\Release\netcoreapp3.1\SQL\*.sql"; DestDir: "{app}\SQL" +Source: "TimetableDb.db"; DestDir: "{userdocs}\TimetableTool" +Source: "*.txt"; DestDir: "{userdocs}\TimetableTool" +Source: "..\TimetableTool.Desktop\bin\Release\netcoreapp3.1\runtimes\win-x86\native\netstandard2.0\SQLite.Interop.dll"; DestDir: "{app}\runtimes\win-x86\native\netstandard2.0" +Source: "..\TimetableTool.Desktop\bin\Release\netcoreapp3.1\runtimes\win-x86\native\sni.dll"; DestDir: "{app}\runtimes\win-x86\native" +Source: "..\TimetableTool.Desktop\bin\Release\netcoreapp3.1\cs-CZ\Xceed.Wpf.AvalonDock.resources.dll"; DestDir: "{app}\cs-CZ" +Source: "..\TimetableTool.Desktop\bin\Release\netcoreapp3.1\de\Xceed.Wpf.AvalonDock.resources.dll"; DestDir: "{app}\de" +Source: "..\TimetableTool.Desktop\bin\Release\netcoreapp3.1\es\Xceed.Wpf.AvalonDock.resources.dll"; DestDir: "{app}\es" +Source: "..\TimetableTool.Desktop\bin\Release\netcoreapp3.1\fr\Xceed.Wpf.AvalonDock.resources.dll"; DestDir: "{app}\fr" +Source: "..\TimetableTool.Desktop\bin\Release\netcoreapp3.1\hu\Xceed.Wpf.AvalonDock.resources.dll"; DestDir: "{app}\hu" +Source: "..\TimetableTool.Desktop\bin\Release\netcoreapp3.1\pt-BR\Xceed.Wpf.AvalonDock.resources.dll"; DestDir: "{app}\pt-BR" +Source: "..\TimetableTool.Desktop\bin\Release\netcoreapp3.1\it\Xceed.Wpf.AvalonDock.resources.dll"; DestDir: "{app}\it" +Source: "..\TimetableTool.Desktop\bin\Release\netcoreapp3.1\ro\Xceed.Wpf.AvalonDock.resources.dll"; DestDir: "{app}\ro" +Source: "..\TimetableTool.Desktop\bin\Release\netcoreapp3.1\ru\Xceed.Wpf.AvalonDock.resources.dll"; DestDir: "{app}\ru" +Source: "..\TimetableTool.Desktop\bin\Release\netcoreapp3.1\sv\Xceed.Wpf.AvalonDock.resources.dll"; DestDir: "{app}\sv" +Source: "..\TimetableTool.Desktop\bin\Release\netcoreapp3.1\ro\Xceed.Wpf.AvalonDock.resources.dll"; DestDir: "{app}\ro" +Source: "..\TimetableTool.Desktop\bin\Release\netcoreapp3.1\zh-Hans\Xceed.Wpf.AvalonDock.resources.dll"; DestDir: "{app}\zh-Hans" + + +[Icons] +Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" +Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}" +Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}" +Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon +Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon + +[Code] + +[Run] +Filename: "{app}\{#MyAppExeName}"; Flags: nowait postinstall skipifsilent 32bit; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}" + +[Registry] + diff --git a/Manual/Thumbs.db b/Manual/Thumbs.db new file mode 100644 index 0000000..70ed4cd Binary files /dev/null and b/Manual/Thumbs.db differ diff --git a/TimeTableDatamodel.vsdx b/Manual/TimetableDatamodel.vsdx similarity index 55% rename from TimeTableDatamodel.vsdx rename to Manual/TimetableDatamodel.vsdx index 6a4b626..4265cfa 100644 Binary files a/TimeTableDatamodel.vsdx and b/Manual/TimetableDatamodel.vsdx differ diff --git a/Manual/TimetableTool Manual.docx b/Manual/TimetableTool Manual.docx new file mode 100644 index 0000000..e56f7e5 Binary files /dev/null and b/Manual/TimetableTool Manual.docx differ diff --git a/Manual/TimetableTool Manual.pdf b/Manual/TimetableTool Manual.pdf new file mode 100644 index 0000000..64f6a71 Binary files /dev/null and b/Manual/TimetableTool Manual.pdf differ diff --git a/Manual/Timetabletool images.pub b/Manual/Timetabletool images.pub new file mode 100644 index 0000000..8ff6fb6 Binary files /dev/null and b/Manual/Timetabletool images.pub differ diff --git a/Squirrel-for-dot-net-core.cs b/Squirrel-for-dot-net-core.cs new file mode 100644 index 0000000..476d88c --- /dev/null +++ b/Squirrel-for-dot-net-core.cs @@ -0,0 +1,76 @@ + async Task checkForSquirrelUpdates() + { + try { + var (exitCode, output) = await RunSquirrel("--update https://example.org/updates"); + + if (exitCode != 0) { + // TODO: Log update errors to Sentry + this.Log().Warn($"Failed to update! {output}"); + } + } catch (Exception ex) { + this.Log().Error(ex, $"Failed to invoke Update.exe"); + } + } + + public Task<(int exitCode, string output)> RunSquirrel(string args) + { + string updateDotExe; + try { + updateDotExe = Path.GetFullPath("../Update.exe", Path.GetDirectoryName(Assembly.GetEntryAssembly().Location)); + + if (!File.Exists(updateDotExe)) throw new Exception("update.exe doesn't exist"); + } catch (Exception ex) { + this.Log().Warn(ex, $"Update.exe not found, this is probably not a deployed app"); + return Task.FromException<(int, string)>(new Exception("Not a deployed app")); + } + + return invokeProcessAsync(updateDotExe, args, CancellationToken.None, Path.GetDirectoryName(updateDotExe)); + } + + public bool IsAppDeployed() + { + var updateDotExe = Path.GetFullPath("../Update.exe", Path.GetDirectoryName(Assembly.GetEntryAssembly().Location)); + return File.Exists(updateDotExe); + } + + static Task<(int exitCode, string output)> invokeProcessAsync(string fileName, string arguments, CancellationToken ct, string workingDirectory = "") + { + var psi = new ProcessStartInfo(fileName, arguments); + + psi.UseShellExecute = false; + psi.WindowStyle = ProcessWindowStyle.Hidden; + psi.ErrorDialog = false; + psi.CreateNoWindow = true; + psi.RedirectStandardOutput = true; + psi.RedirectStandardError = true; + psi.WorkingDirectory = workingDirectory; + + return invokeProcessAsync(psi, ct); + } + + static async Task<(int exitCode, string output)> invokeProcessAsync(ProcessStartInfo psi, CancellationToken ct) + { + var pi = Process.Start(psi); + await Task.Run(() => { + while (!ct.IsCancellationRequested) { + if (pi.WaitForExit(2000)) return; + } + + if (ct.IsCancellationRequested) { + pi.Kill(); + ct.ThrowIfCancellationRequested(); + } + }); + + string textResult = await pi.StandardOutput.ReadToEndAsync(); + if (String.IsNullOrWhiteSpace(textResult) || pi.ExitCode != 0) { + textResult = (textResult ?? "") + "\n" + await pi.StandardError.ReadToEndAsync(); + + if (String.IsNullOrWhiteSpace(textResult)) { + textResult = String.Empty; + } + } + + return (pi.ExitCode, textResult.Trim()); + } + } diff --git a/TimeTableTool.Desktop/Bootstrapper.cs b/TimeTableTool.Desktop/Bootstrapper.cs index 6eef428..058f55e 100644 --- a/TimeTableTool.Desktop/Bootstrapper.cs +++ b/TimeTableTool.Desktop/Bootstrapper.cs @@ -7,6 +7,7 @@ using System.Windows; using TimetableTool.Desktop.ViewModels; using TimetableTool.Desktop.Views; +using System.Threading.Tasks; namespace TimetableTool.Desktop { diff --git a/TimeTableTool.Desktop/Settings.cs b/TimeTableTool.Desktop/Settings.cs index 5459862..7ee2404 100644 --- a/TimeTableTool.Desktop/Settings.cs +++ b/TimeTableTool.Desktop/Settings.cs @@ -1,5 +1,7 @@ using Logging.Library; using Microsoft.Extensions.Configuration; +using Syroot.Windows.IO; +using System; using System.IO; using System.Runtime.InteropServices.ComTypes; using System.ServiceModel.Syndication; @@ -7,64 +9,96 @@ using TimetableTool.Desktop.Helpers; namespace TimetableTool.Desktop - { - public static class Settings - { - private static readonly IConfiguration _config = CreateConfig(); - - static IConfiguration CreateConfig() - { - var builder = new ConfigurationBuilder() - .SetBasePath(Directory.GetCurrentDirectory()) - .AddJsonFile("appsettings.json"); - IConfiguration config = builder.Build(); - return config; - } + { + public static class Settings + { + private static readonly IConfiguration _config = CreateConfig(); - public static string DataPath - { - get - { - return _config["DataConfig:DataPath"]; - } - } + static IConfiguration CreateConfig() + { + var builder = new ConfigurationBuilder() + .SetBasePath(Directory.GetCurrentDirectory()) + .AddJsonFile("appsettings.json"); + IConfiguration config = builder.Build(); + return config; + } - public static string ManualPath - { - get { return $"{_config["DataConfig:DataPath"]}{_config["DataConfig:Manual"]}"; } - } + public static string MyDocumentsFolder + { + get + { + var result = bool.TryParse($"{_config["DataConfig:UseMyDocumentsFolder"]}", + out var _useMyDocumentsFolder); + if (!result) + { + Log.Trace( + "Configuration error in appsettings.json, UseMyDocumentsFolder is not a valid boolean. Proceed with value false", + LogEventType.Error); + } - public static string DatabasePath - { - get - { - return $"{_config["DataConfig:DataPath"] + _config["DataConfig:Database"]}"; - } - } + if (_useMyDocumentsFolder) + { + try + { + var folder=Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); + return $"{folder}\\"; + } + catch (Exception ex) + { + Log.Trace("Cannot set special folder", ex, LogEventType.Error); + throw; + } + } + return string.Empty; + } + } - public static bool UseDemoData - { - get - { - bool _useDemoData=false; - var result= bool.TryParse($"{_config["DataConfig:UseDemoData"]}",out _useDemoData); - if(!result) - { - Log.Trace("Configuration error in appsettings.json, UseDemoData is not a valid boolean. Proceed with value true", LogEventType.Error); - _useDemoData=true; - } - return _useDemoData; - } - } + public static string DataPath + { + get + { + var output= $"{MyDocumentsFolder}{ _config["DataConfig:DataPath"]}"; + return output; + } + } - public static string ConnectionString - { - get - { - return _config["ConnectionStrings:SqLiteDb"].Replace("path",DatabasePath); - } - } + public static string ManualPath + { + get { return $"{DataPath}{_config["DataConfig:Manual"]}"; } + } - } - } + public static string DatabasePath + { + get + { + return $"{DataPath}{_config["DataConfig:Database"]}"; + } + } + + public static bool UseDemoData + { + get + { + bool _useDemoData = false; + var result = bool.TryParse($"{_config["DataConfig:UseDemoData"]}", out _useDemoData); + if (!result) + { + Log.Trace("Configuration error in appsettings.json, UseDemoData is not a valid boolean. Proceed with value true", LogEventType.Error); + _useDemoData = true; + } + return _useDemoData; + } + } + + + public static string ConnectionString + { + get + { + return _config["ConnectionStrings:SqLiteDb"].Replace("path", DatabasePath); + } + } + + } + } diff --git a/TimeTableTool.Desktop/TimeTableTool.Desktop.csproj b/TimeTableTool.Desktop/TimeTableTool.Desktop.csproj index f11fa9e..5acf79f 100644 --- a/TimeTableTool.Desktop/TimeTableTool.Desktop.csproj +++ b/TimeTableTool.Desktop/TimeTableTool.Desktop.csproj @@ -3,8 +3,11 @@ WinExe netcoreapp3.1 + win10-x86 true TimetableTool + chart_line.ico + @@ -12,6 +15,8 @@ + + @@ -22,8 +27,8 @@ - - + + @@ -39,6 +44,12 @@ + + PreserveNewest + + + PreserveNewest + diff --git a/TimeTableTool.Desktop/Views/AboutView.xaml b/TimeTableTool.Desktop/Views/AboutView.xaml index bcbabee..1e6488d 100644 --- a/TimeTableTool.Desktop/Views/AboutView.xaml +++ b/TimeTableTool.Desktop/Views/AboutView.xaml @@ -5,6 +5,7 @@ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" FontSize="12pt" Style="{StaticResource AllWindows}" WindowStartupLocation="CenterOwner" + Icon="..\Images\chart_line.png" Title="About Timetable Tool"> diff --git a/TimeTableTool.Desktop/Views/ShellView.xaml b/TimeTableTool.Desktop/Views/ShellView.xaml index fd92197..8974cc6 100644 --- a/TimeTableTool.Desktop/Views/ShellView.xaml +++ b/TimeTableTool.Desktop/Views/ShellView.xaml @@ -6,6 +6,7 @@ mc:Ignorable="d" Style="{StaticResource AllWindows}" WindowStartupLocation="CenterScreen" MinWidth="800" MinHeight="600" + Icon="..\Images\chart_line.png" Title="Time Table Tool"> diff --git a/TimeTableTool.Desktop/appsettings.json b/TimeTableTool.Desktop/appsettings.json index fad1917..b27055c 100644 --- a/TimeTableTool.Desktop/appsettings.json +++ b/TimeTableTool.Desktop/appsettings.json @@ -3,7 +3,8 @@ "SqLiteDb": "Data Source= path ;Version=3;" }, "DataConfig": { - "DataPath": "C:\\TimetableTool\\", + "UseMyDocumentsFolder": "true", + "DataPath": "TimetableTool\\", "Manual": "TimetableTool Manual.pdf", "Database": "TimetableDb.db", "UseDemoData": "false" diff --git a/TimeTableTool.sln b/TimeTableTool.sln index 9b9891d..a97120a 100644 --- a/TimeTableTool.sln +++ b/TimeTableTool.sln @@ -5,13 +5,6 @@ VisualStudioVersion = 16.0.29905.134 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DataAccess.Library", "DataAccess.Library\DataAccess.Library.csproj", "{8243AEB8-3767-4CA1-88B1-5438C70DE803}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Documentation", "Documentation", "{163114B1-7895-4484-AF4E-D04E1B296D01}" - ProjectSection(SolutionItems) = preProject - TimetableDatamodel.vsdx = TimetableDatamodel.vsdx - TimetableTool Manual.docx = TimetableTool Manual.docx - TimetableTool Manual.pdf = TimetableTool Manual.pdf - EndProjectSection -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TimetableTool.Desktop", "TimetableTool.Desktop\TimetableTool.Desktop.csproj", "{6E11A94C-CFC4-4E63-A497-EE39EA32128E}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Logging.Library", "..\FancyTrainsimToolsApp\Logging.Library\Logging.Library.csproj", "{BFE0624C-EA7E-49CB-902F-CD63CE7BA697}" @@ -20,6 +13,27 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Styles.Library", "..\FancyT EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SQLiteDataAcces.Library", "SQLiteDataAcces.Library\SQLiteDataAcces.Library.csproj", "{F892D1FD-186B-4D8B-89BD-2C301E64340D}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Installer", "Installer", "{7EE6A5A2-DC27-4F8A-856F-08F7DC945159}" + ProjectSection(SolutionItems) = preProject + Installer\CSXicon.bmp = Installer\CSXicon.bmp + Installer\License.txt = Installer\License.txt + Installer\Readme.txt = Installer\Readme.txt + Installer\Setup.bmp = Installer\Setup.bmp + Installer\TimetableData.sql = Installer\TimetableData.sql + Installer\TimetableDb.db = Installer\TimetableDb.db + Installer\TimetableDb.db.sql = Installer\TimetableDb.db.sql + Installer\TimetableToolSetupv0.1.iss = Installer\TimetableToolSetupv0.1.iss + Installer\TSW_Cindy_1489778724_00.png = Installer\TSW_Cindy_1489778724_00.png + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Manual", "Manual", "{61A0B2FF-6088-4AE1-8150-4338509FF438}" + ProjectSection(SolutionItems) = preProject + Manual\TimetableDatamodel.vsdx = Manual\TimetableDatamodel.vsdx + Manual\Timetabletool images.pub = Manual\Timetabletool images.pub + Manual\TimetableTool Manual.docx = Manual\TimetableTool Manual.docx + Manual\TimetableTool Manual.pdf = Manual\TimetableTool Manual.pdf + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU diff --git a/TimetableTool Manual.docx b/TimetableTool Manual.docx deleted file mode 100644 index 8e0b971..0000000 Binary files a/TimetableTool Manual.docx and /dev/null differ diff --git a/TimetableTool Manual.pdf b/TimetableTool Manual.pdf deleted file mode 100644 index dd2b301..0000000 Binary files a/TimetableTool Manual.pdf and /dev/null differ diff --git a/TimetableTool.Desktop/Helpers/KnownFolder.cs b/TimetableTool.Desktop/Helpers/KnownFolder.cs new file mode 100644 index 0000000..143d980 --- /dev/null +++ b/TimetableTool.Desktop/Helpers/KnownFolder.cs @@ -0,0 +1,176 @@ +using System; +using System.Runtime.InteropServices; +using System.Security.Principal; + +namespace Syroot.Windows.IO + { + /// + /// Represents a special Windows directory and provides methods to retrieve information about it. + /// + public sealed class KnownFolder + { + // ---- CONSTRUCTORS & DESTRUCTOR ------------------------------------------------------------------------------ + + /// + /// Initializes a new instance of the class for the folder of the given type. It + /// provides the values for the current user. + /// + /// The of the known folder to represent. + public KnownFolder(KnownFolderType Type) + : this(Type, WindowsIdentity.GetCurrent()) + { + } + + /// + /// Initializes a new instance of the class for the folder of the given type. It + /// provides the values for the given impersonated user. + /// + /// The of the known folder to represent. + /// The of the impersonated user which values will be + /// provided. + public KnownFolder(KnownFolderType Type, WindowsIdentity Identity) + { + this.Type = Type; + this.Identity = Identity; + } + + // ---- PROPERTIES --------------------------------------------------------------------------------------------- + + /// + /// Gets the type of the known folder which is represented. + /// + public KnownFolderType Type + { + get; + private set; + } + + /// + /// Gets the of the user whose folder values are provided. + /// + public WindowsIdentity Identity + { + get; + private set; + } + + /// + /// Gets or sets the default path of the folder. + /// This does not require the folder to be existent. + /// + /// The known folder could not be retrieved. + public string DefaultPath => GetPath(KnownFolderFlags.DontVerify | KnownFolderFlags.DefaultPath); + + /// + /// Gets or sets the path as currently configured. + /// This does not require the folder to be existent. + /// + /// The known folder could not be retrieved. + public string Path + { + get => GetPath(KnownFolderFlags.DontVerify); + set => SetPath(KnownFolderFlags.None, value); + } + + /// + /// Gets or sets the path as currently configured, with all environment variables expanded. + /// This does not require the folder to be existent. + /// + /// The known folder could not be retrieved. + public string ExpandedPath + { + get => GetPath(KnownFolderFlags.DontVerify | KnownFolderFlags.NoAlias); + set => SetPath(KnownFolderFlags.DontUnexpand, value); + } + + // ---- METHODS (PUBLIC) --------------------------------------------------------------------------------------- + + /// + /// Creates the folder using its Desktop.ini settings. + /// + /// The known folder could not be retrieved. + public void Create() + { + GetPath(KnownFolderFlags.Init | KnownFolderFlags.Create); + } + + // ---- METHODS (PRIVATE) -------------------------------------------------------------------------------------- + + private string GetPath(KnownFolderFlags Flags) + { + int Result = SHGetKnownFolderPath(Type.GetGuid(), (uint)Flags, Identity.Token, out IntPtr OutPath); + if (Result >= 0) + { + return Marshal.PtrToStringUni(OutPath); + } + else + { + throw new ExternalException("Cannot get the known folder path. It may not be available on this system.", + Result); + } + } + + private void SetPath(KnownFolderFlags Flags, string Path) + { + int Result = SHSetKnownFolderPath(Type.GetGuid(), (uint)Flags, Identity.Token, Path); + if (Result < 0) + { + throw new ExternalException("Cannot set the known folder path. It may not be available on this system.", + Result); + } + } + + /// + /// Retrieves the full path of a known folder identified by the folder's known folder ID. + /// + /// A known folder ID that identifies the folder. + /// Flags that specify special retrieval options. This value can be 0; otherwise, one or + /// more of the values. + /// An access token that represents a particular user. If this parameter is NULL, which is + /// the most common usage, the function requests the known folder for the current user. Assigning a value of -1 + /// indicates the Default User. The default user profile is duplicated when any new user account is created. + /// Note that access to the Default User folders requires administrator privileges. + /// When this method returns, contains the address of a string that specifies the path of + /// the known folder. The returned path does not include a trailing backslash. + /// Returns S_OK if successful, or an error value otherwise. + /// bb762188 + [DllImport("Shell32.dll")] + private static extern int SHGetKnownFolderPath([MarshalAs(UnmanagedType.LPStruct)]Guid Rfid, uint DwFlags, + IntPtr HToken, out IntPtr PpszPath); + + /// + /// Redirects a known folder to a new location. + /// + /// A that identifies the known folder. + /// Either 0 or . + /// + /// + /// + /// bb762249 + [DllImport("Shell32.dll")] + private static extern int SHSetKnownFolderPath([MarshalAs(UnmanagedType.LPStruct)]Guid Rfid, uint DwFlags, + IntPtr HToken, [MarshalAs(UnmanagedType.LPWStr)]string PszPath); + + // ---- ENUMERATIONS ------------------------------------------------------------------------------------------- + + /// + /// Represents the retrieval options for known folders. + /// + /// dd378447 + [Flags] + private enum KnownFolderFlags : uint + { + None = 0x00000000, + SimpleIdList = 0x00000100, + NotParentRelative = 0x00000200, + DefaultPath = 0x00000400, + Init = 0x00000800, + NoAlias = 0x00001000, + DontUnexpand = 0x00002000, + DontVerify = 0x00004000, + Create = 0x00008000, + NoAppcontainerRedirection = 0x00010000, + AliasOnly = 0x80000000 + } + } + } diff --git a/TimetableTool.Desktop/Helpers/KnownFolderType.cs b/TimetableTool.Desktop/Helpers/KnownFolderType.cs new file mode 100644 index 0000000..b6c80f5 --- /dev/null +++ b/TimetableTool.Desktop/Helpers/KnownFolderType.cs @@ -0,0 +1,743 @@ +using System; +using System.Reflection; + +namespace Syroot.Windows.IO + { + /// + /// Represents the list of standard folders registered with the system. These folders are installed with Windows + /// Vista and later operating systems, and a computer will have only folders appropriate to it installed. + /// + /// dd378457 + public enum KnownFolderType + { + /// + /// The per-user Account Pictures folder. Introduced in Windows 8. + /// Defaults to "%APPDATA%\Microsoft\Windows\AccountPictures". + /// + [KnownFolderGuid("008CA0B1-55B4-4C56-B8A8-4DE4B299D3BE")] + AccountPictures, + + /// + /// The per-user Administrative Tools folder. + /// Defaults to "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Administrative Tools". + /// + [KnownFolderGuid("724EF170-A42D-4FEF-9F26-B60E846FBA4F")] + AdminTools, + + /// + /// The per-user Application Shortcuts folder. Introduced in Windows 8. + /// Defaults to "%LOCALAPPDATA%\Microsoft\Windows\Application Shortcuts". + /// + [KnownFolderGuid("A3918781-E5F2-4890-B3D9-A7E54332328C")] + ApplicationShortcuts, + + /// + /// The per-user Camera Roll folder. Introduced in Windows 8.1. + /// Defaults to ".%USERPROFILE%\Pictures\Camera Roll". + /// + [KnownFolderGuid("AB5FB87B-7CE2-4F83-915D-550846C9537B")] + CameraRoll, + + /// + /// The per-user Temporary Burn Folder. + /// Defaults to "%LOCALAPPDATA%\Microsoft\Windows\Burn\Burn". + /// + [KnownFolderGuid("9E52AB10-F80D-49DF-ACB8-4330F5687855")] + CdBurning, + + /// + /// The common Administrative Tools folder. + /// Defaults to "%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Administrative Tools". + /// + [KnownFolderGuid("D0384E7D-BAC3-4797-8F14-CBA229B392B5")] + CommonAdminTools, + + /// + /// The common OEM Links folder. + /// Defaults to "%ALLUSERSPROFILE%\OEM Links". + /// + [KnownFolderGuid("C1BAE2D0-10DF-4334-BEDD-7AA20B227A9D")] + CommonOemLinks, + + /// + /// The common Programs folder. + /// Defaults to "%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs". + /// + [KnownFolderGuid("0139D44E-6AFE-49F2-8690-3DAFCAE6FFB8")] + CommonPrograms, + + /// + /// The common Start Menu folder. + /// Defaults to "%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu". + /// + [KnownFolderGuid("A4115719-D62E-491D-AA7C-E74B8BE3B067")] + CommonStartMenu, + + /// + /// The common Startup folder. + /// Defaults to "%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\StartUp". + /// + [KnownFolderGuid("82A5EA35-D9CD-47C5-9629-E15D2F714E6E")] + CommonStartup, + + /// + /// The common Templates folder. + /// Defaults to "%ALLUSERSPROFILE%\Microsoft\Windows\Templates". + /// + [KnownFolderGuid("B94237E7-57AC-4347-9151-B08C6C32D1F7")] + CommonTemplates, + + /// + /// The per-user Contacts folder. Introduced in Windows Vista. + /// Defaults to "%USERPROFILE%\Contacts". + /// + [KnownFolderGuid("56784854-C6CB-462B-8169-88E350ACB882")] + Contacts, + + /// + /// The per-user Cookies folder. + /// Defaults to "%APPDATA%\Microsoft\Windows\Cookies". + /// + [KnownFolderGuid("2B0F765D-C0E9-4171-908E-08A611B84FF6")] + Cookies, + + /// + /// The per-user Desktop folder. + /// Defaults to "%USERPROFILE%\Desktop". + /// + [KnownFolderGuid("B4BFCC3A-DB2C-424C-B029-7FE99A87C641")] + Desktop, + + /// + /// The common DeviceMetadataStore folder. Introduced in Windows 7. + /// Defaults to "%ALLUSERSPROFILE%\Microsoft\Windows\DeviceMetadataStore". + /// + [KnownFolderGuid("5CE4A5E9-E4EB-479D-B89F-130C02886155")] + DeviceMetadataStore, + + /// + /// The per-user Documents folder. + /// Defaults to "%USERPROFILE%\Documents". + /// + [KnownFolderGuid("FDD39AD0-238F-46AF-ADB4-6C85480369C7")] + Documents, + + /// + /// The per-user Documents library. Introduced in Windows 7. + /// Defaults to "%APPDATA%\Microsoft\Windows\Libraries\Documents.library-ms". + /// + [KnownFolderGuid("7B0DB17D-9CD2-4A93-9733-46CC89022E7C")] + DocumentsLibrary, + + /// + /// The per-user Downloads folder. + /// Defaults to "%USERPROFILE%\Downloads". + /// + [KnownFolderGuid("374DE290-123F-4565-9164-39C4925E467B")] + Downloads, + + /// + /// The per-user Favorites folder. + /// Defaults to "%USERPROFILE%\Favorites". + /// + [KnownFolderGuid("1777F761-68AD-4D8A-87BD-30B759FA33DD")] + Favorites, + + /// + /// The fixed Fonts folder. + /// Points to "%WINDIR%\Fonts". + /// + [KnownFolderGuid("FD228CB7-AE11-4AE3-864C-16F3910AB8FE")] + Fonts, + + /// + /// The per-user GameExplorer folder. Introduced in Windows Vista. + /// Defaults to "%LOCALAPPDATA%\Microsoft\Windows\GameExplorer". + /// + [KnownFolderGuid("054FAE61-4DD8-4787-80B6-090220C4B700")] + GameTasks, + + /// + /// The per-user History folder. + /// Defaults to "%LOCALAPPDATA%\Microsoft\Windows\History". + /// + [KnownFolderGuid("D9DC8A3B-B784-432E-A781-5A1130A75963")] + History, + + /// + /// The per-user ImplicitAppShortcuts folder. Introduced in Windows 7. + /// Defaults to "%APPDATA%\Microsoft\Internet Explorer\Quick Launch\User Pinned\ImplicitAppShortcuts". + /// + [KnownFolderGuid("BCB5256F-79F6-4CEE-B725-DC34E402FD46")] + ImplicitAppShortcuts, + + /// + /// The per-user Temporary Internet Files folder. + /// Defaults to "%LOCALAPPDATA%\Microsoft\Windows\Temporary Internet Files". + /// + [KnownFolderGuid("352481E8-33BE-4251-BA85-6007CAEDCF9D")] + InternetCache, + + /// + /// The per-user Libraries folder. Introduced in Windows 7. + /// Defaults to "%APPDATA%\Microsoft\Windows\Libraries". + /// + [KnownFolderGuid("1B3EA5DC-B587-4786-B4EF-BD1DC332AEAE")] + Libraries, + + /// + /// The per-user Links folder. + /// Defaults to "%USERPROFILE%\Links". + /// + [KnownFolderGuid("BFB9D5E0-C6A9-404C-B2B2-AE6DB6AF4968")] + Links, + + /// + /// The per-user Local folder. + /// Defaults to "%LOCALAPPDATA%" ("%USERPROFILE%\AppData\Local")". + /// + [KnownFolderGuid("F1B32785-6FBA-4FCF-9D55-7B8E7F157091")] + LocalAppData, + + /// + /// The per-user LocalLow folder. + /// Defaults to "%USERPROFILE%\AppData\LocalLow". + /// + [KnownFolderGuid("A520A1A4-1780-4FF6-BD18-167343C5AF16")] + LocalAppDataLow, + + /// + /// The fixed LocalizedResourcesDir folder. + /// Points to "%WINDIR%\resources\0409" (code page). + /// + [KnownFolderGuid("2A00375E-224C-49DE-B8D1-440DF7EF3DDC")] + LocalizedResourcesDir, + + /// + /// The per-user Music folder. + /// Defaults to "%USERPROFILE%\Music". + /// + [KnownFolderGuid("4BD8D571-6D19-48D3-BE97-422220080E43")] + Music, + + /// + /// The per-user Music library. Introduced in Windows 7. + /// Defaults to "%APPDATA%\Microsoft\Windows\Libraries\Music.library-ms". + /// + [KnownFolderGuid("2112AB0A-C86A-4FFE-A368-0DE96E47012E")] + MusicLibrary, + + /// + /// The per-user Network Shortcuts folder. + /// Defaults to "%APPDATA%\Microsoft\Windows\Network Shortcuts". + /// + [KnownFolderGuid("C5ABBF53-E17F-4121-8900-86626FC2C973")] + NetHood, + + /// + /// The per-user Original Images folder. Introduced in Windows Vista. + /// Defaults to "%LOCALAPPDATA%\Microsoft\Windows Photo Gallery\Original Images". + /// + [KnownFolderGuid("2C36C0AA-5812-4B87-BFD0-4CD0DFB19B39")] + OriginalImages, + + /// + /// The per-user Slide Shows folder. Introduced in Windows Vista. + /// Defaults to "%USERPROFILE%\Pictures\Slide Shows". + /// + [KnownFolderGuid("69D2CF90-FC33-4FB7-9A0C-EBB0F0FCB43C")] + PhotoAlbums, + + /// + /// The per-user Pictures library. Introduced in Windows 7. + /// Defaults to "%APPDATA%\Microsoft\Windows\Libraries\Pictures.library-ms". + /// + [KnownFolderGuid("A990AE9F-A03B-4E80-94BC-9912D7504104")] + PicturesLibrary, + + /// + /// The per-user Pictures folder. + /// Defaults to "%USERPROFILE%\Pictures". + /// + [KnownFolderGuid("33E28130-4E1E-4676-835A-98395C3BC3BB")] + Pictures, + + /// + /// The per-user Playlists folder. + /// Defaults to "%USERPROFILE%\Music\Playlists". + /// + [KnownFolderGuid("DE92C1C7-837F-4F69-A3BB-86E631204A23")] + Playlists, + + /// + /// The per-user Printer Shortcuts folder. + /// Defaults to "%APPDATA%\Microsoft\Windows\Printer Shortcuts". + /// + [KnownFolderGuid("9274BD8D-CFD1-41C3-B35E-B13F55A758F4")] + PrintHood, + + /// + /// The fixed user profile folder. + /// Defaults to "%USERPROFILE%" ("%SYSTEMDRIVE%\USERS\%USERNAME%")". + /// + [KnownFolderGuid("5E6C858F-0E22-4760-9AFE-EA3317B67173")] + Profile, + + /// + /// The fixed ProgramData folder. + /// Points to "%ALLUSERSPROFILE%" ("%PROGRAMDATA%", + /// "%SYSTEMDRIVE%\ProgramData"). + /// + [KnownFolderGuid("62AB5D82-FDC1-4DC3-A9DD-070D1D495D97")] + ProgramData, + + /// + /// The fixed Program Files folder. + /// This is the same as the known folder in 32-bit applications or the + /// known folder in 64-bit applications. + /// Points to %SYSTEMDRIVE%\Program Files on a 32-bit operating system or in 64-bit applications on a 64-bit + /// operating system and to %SYSTEMDRIVE%\Program Files (x86) in 32-bit applications on a 64-bit operating + /// system. + /// + [KnownFolderGuid("905E63B6-C1BF-494E-B29C-65B732D3D21A")] + ProgramFiles, + + /// + /// The fixed Program Files folder (64-bit forced). + /// This known folder is unsupported in 32-bit applications. + /// Points to %SYSTEMDRIVE%\Program Files. + /// + [KnownFolderGuid("6D809377-6AF0-444B-8957-A3773F02200E")] + ProgramFilesX64, + + /// + /// The fixed Program Files folder (32-bit forced). + /// This is the same as the known folder in 32-bit applications. + /// Points to "%SYSTEMDRIVE%\Program Files" on a 32-bit operating system and to + /// "%SYSTEMDRIVE%\Program Files (x86)" on a 64-bit operating system. + /// + [KnownFolderGuid("7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E")] + ProgramFilesX86, + + /// + /// The fixed Common Files folder. + /// This is the same as the known folder in 32-bit applications or the + /// known folder in 64-bit applications. + /// Points to" %PROGRAMFILES%\Common Files" on a 32-bit operating system or in 64-bit applications on + /// a 64-bit operating system and to "%PROGRAMFILES(X86)%\Common Files" in 32-bit applications on a + /// 64-bit operating system. + /// + [KnownFolderGuid("F7F1ED05-9F6D-47A2-AAAE-29D317C6F066")] + ProgramFilesCommon, + + /// + /// The fixed Common Files folder (64-bit forced). + /// This known folder is unsupported in 32-bit applications. + /// Points to "%PROGRAMFILES%\Common Files". + /// + [KnownFolderGuid("6365D5A7-0F0D-45E5-87F6-0DA56B6A4F7D")] + ProgramFilesCommonX64, + + /// + /// The fixed Common Files folder (32-bit forced). + /// This is the same as the known folder in 32-bit applications. + /// Points to "%PROGRAMFILES%\Common Files" on a 32-bit operating system and to + /// "%PROGRAMFILES(X86)%\Common Files" on a 64-bit operating system. + /// + [KnownFolderGuid("DE974D24-D9C6-4D3E-BF91-F4455120B917")] + ProgramFilesCommonX86, + + /// + /// The per-user Programs folder. + /// Defaults to "%APPDATA%\Microsoft\Windows\Start Menu\Programs". + /// + [KnownFolderGuid("A77F5D77-2E2B-44C3-A6A2-ABA601054A51")] + Programs, + + /// + /// The fixed Public folder. Introduced in Windows Vista. + /// Defaults to "%PUBLIC%" ("%SYSTEMDRIVE%\Users\Public)". + /// + [KnownFolderGuid("DFDF76A2-C82A-4D63-906A-5644AC457385")] + Public, + + /// + /// The common Public Desktop folder. + /// Defaults to "%PUBLIC%\Desktop". + /// + [KnownFolderGuid("C4AA340D-F20F-4863-AFEF-F87EF2E6BA25")] + PublicDesktop, + + /// + /// The common Public Documents folder. + /// Defaults to "%PUBLIC%\Documents". + /// + [KnownFolderGuid("ED4824AF-DCE4-45A8-81E2-FC7965083634")] + PublicDocuments, + + /// + /// The common Public Downloads folder. Introduced in Windows Vista. + /// Defaults to "%PUBLIC%\Downloads". + /// + [KnownFolderGuid("3D644C9B-1FB8-4F30-9B45-F670235F79C0")] + PublicDownloads, + + /// + /// The common GameExplorer folder. Introduced in Windows Vista. + /// Defaults to "%ALLUSERSPROFILE%\Microsoft\Windows\GameExplorer". + /// + [KnownFolderGuid("DEBF2536-E1A8-4C59-B6A2-414586476AEA")] + PublicGameTasks, + + /// + /// The common Libraries folder. Introduced in Windows 7. + /// Defaults to "%ALLUSERSPROFILE%\Microsoft\Windows\Libraries". + /// + [KnownFolderGuid("48DAF80B-E6CF-4F4E-B800-0E69D84EE384")] + PublicLibraries, + + /// + /// The common Public Music folder. + /// Defaults to "%PUBLIC%\Music". + /// + [KnownFolderGuid("3214FAB5-9757-4298-BB61-92A9DEAA44FF")] + PublicMusic, + + /// + /// The common Public Pictures folder. + /// Defaults to "%PUBLIC%\Pictures". + /// + [KnownFolderGuid("B6EBFB86-6907-413C-9AF7-4FC2ABF07CC5")] + PublicPictures, + + /// + /// The common Ringtones folder. Introduced in Windows 7. + /// Defaults to "%ALLUSERSPROFILE%\Microsoft\Windows\Ringtones". + /// + [KnownFolderGuid("E555AB60-153B-4D17-9F04-A5FE99FC15EC")] + PublicRingtones, + + /// + /// The common Public Account Pictures folder. Introduced in Windows 8. + /// Defaults to "%PUBLIC%\AccountPictures". + /// + [KnownFolderGuid("0482AF6C-08F1-4C34-8C90-E17EC98B1E17")] + PublicUserTiles, + + /// + /// The common Public Videos folder. + /// Defaults to "%PUBLIC%\Videos". + /// + [KnownFolderGuid("2400183A-6185-49FB-A2D8-4A392A602BA3")] + PublicVideos, + + /// + /// The per-user Quick Launch folder. + /// Defaults to "%APPDATA%\Microsoft\Internet Explorer\Quick Launch". + /// + [KnownFolderGuid("52A4F021-7B75-48A9-9F6B-4B87A210BC8F")] + QuickLaunch, + + /// + /// The per-user Recent Items folder. + /// Defaults to "%APPDATA%\Microsoft\Windows\Recent". + /// + [KnownFolderGuid("AE50C081-EBD2-438A-8655-8A092E34987A")] + Recent, + + /// + /// The common Recorded TV library. Introduced in Windows 7. + /// Defaults to "%PUBLIC%\RecordedTV.library-ms". + /// + [KnownFolderGuid("1A6FDBA2-F42D-4358-A798-B74D745926C5")] + RecordedTvLibrary, + + /// + /// The fixed Resources folder. + /// Points to "%WINDIR%\Resources". + /// + [KnownFolderGuid("8AD10C31-2ADB-4296-A8F7-E4701232C972")] + ResourceDir, + + /// + /// The per-user Ringtones folder. Introduced in Windows 7. + /// Defaults to "%LOCALAPPDATA%\Microsoft\Windows\Ringtones". + /// + [KnownFolderGuid("C870044B-F49E-4126-A9C3-B52A1FF411E8")] + Ringtones, + + /// + /// The per-user Roaming folder. + /// Defaults to "%APPDATA%" ("%USERPROFILE%\AppData\Roaming"). + /// + [KnownFolderGuid("3EB685DB-65F9-4CF6-A03A-E3EF65729F3D")] + RoamingAppData, + + /// + /// The per-user RoamedTileImages folder. Introduced in Windows 8. + /// Defaults to "%LOCALAPPDATA%\Microsoft\Windows\RoamedTileImages". + /// + [KnownFolderGuid("AAA8D5A5-F1D6-4259-BAA8-78E7EF60835E")] + RoamedTileImages, + + /// + /// The per-user RoamingTiles folder. Introduced in Windows 8. + /// Defaults to "%LOCALAPPDATA%\Microsoft\Windows\RoamingTiles". + /// + [KnownFolderGuid("00BCFC5A-ED94-4E48-96A1-3F6217F21990")] + RoamingTiles, + + /// + /// The common Sample Music folder. + /// Defaults to "%PUBLIC%\Music\Sample Music". + /// + [KnownFolderGuid("B250C668-F57D-4EE1-A63C-290EE7D1AA1F")] + SampleMusic, + + /// + /// The common Sample Pictures folder. + /// Defaults to "%PUBLIC%\Pictures\Sample Pictures". + /// + [KnownFolderGuid("C4900540-2379-4C75-844B-64E6FAF8716B")] + SamplePictures, + + /// + /// The common Sample Playlists folder. Introduced in Windows Vista. + /// Defaults to "%PUBLIC%\Music\Sample Playlists". + /// + [KnownFolderGuid("15CA69B3-30EE-49C1-ACE1-6B5EC372AFB5")] + SamplePlaylists, + + /// + /// The common Sample Videos folder. + /// Defaults to "%PUBLIC%\Videos\Sample Videos". + /// + [KnownFolderGuid("859EAD94-2E85-48AD-A71A-0969CB56A6CD")] + SampleVideos, + + /// + /// The per-user Saved Games folder. Introduced in Windows Vista. + /// Defaults to "%USERPROFILE%\Saved Games". + /// + [KnownFolderGuid("4C5C32FF-BB9D-43B0-B5B4-2D72E54EAAA4")] + SavedGames, + + /// + /// The per-user Searches folder. + /// Defaults to "%USERPROFILE%\Searches". + /// + [KnownFolderGuid("7D1D3A04-DEBB-4115-95CF-2F29DA2920DA")] + SavedSearches, + + /// + /// The per-user Screenshots folder. Introduced in Windows 8. + /// Defaults to "%USERPROFILE%\Pictures\Screenshots". + /// + [KnownFolderGuid("B7BEDE81-DF94-4682-A7D8-57A52620B86F")] + Screenshots, + + /// + /// The per-user History folder. Introduced in Windows 8.1. + /// Defaults to "%LOCALAPPDATA%\Microsoft\Windows\ConnectedSearch\History". + /// + [KnownFolderGuid("0D4C3DB6-03A3-462F-A0E6-08924C41B5D4")] + SearchHistory, + + /// + /// The per-user Templates folder. Introduced in Windows 8.1. + /// Defaults to "%LOCALAPPDATA%\Microsoft\Windows\ConnectedSearch\Templates". + /// + [KnownFolderGuid("7E636BFE-DFA9-4D5E-B456-D7B39851D8A9")] + SearchTemplates, + + /// + /// The per-user SendTo folder. + /// Defaults to "%APPDATA%\Microsoft\Windows\SendTo". + /// + [KnownFolderGuid("8983036C-27C0-404B-8F08-102D10DCFD74")] + SendTo, + + /// + /// The common Gadgets folder. Introduced in Windows 7. + /// Defaults to "%ProgramFiles%\Windows Sidebar\Gadgets". + /// + [KnownFolderGuid("7B396E54-9EC5-4300-BE0A-2482EBAE1A26")] + SidebarDefaultParts, + + /// + /// The per-user Gadgets folder. Introduced in Windows 7. + /// Defaults to "%LOCALAPPDATA%\Microsoft\Windows Sidebar\Gadgets". + /// + [KnownFolderGuid("A75D362E-50FC-4FB7-AC2C-A8BEAA314493")] + SidebarParts, + + /// + /// The per-user OneDrive folder. Introduced in Windows 8.1. + /// Defaults to "%USERPROFILE%\OneDrive". + /// + [KnownFolderGuid("A52BBA46-E9E1-435F-B3D9-28DAA648C0F6")] + SkyDrive, + + /// + /// The per-user OneDrive Camera Roll folder. Introduced in Windows 8.1. + /// Defaults to "%USERPROFILE%\OneDrive\Pictures\Camera Roll". + /// + [KnownFolderGuid("767E6811-49CB-4273-87C2-20F355E1085B")] + SkyDriveCameraRoll, + + /// + /// The per-user OneDrive Documents folder. Introduced in Windows 8.1. + /// Defaults to "%USERPROFILE%\OneDrive\Documents". + /// + [KnownFolderGuid("24D89E24-2F19-4534-9DDE-6A6671FBB8FE")] + SkyDriveDocuments, + + /// + /// The per-user OneDrive Pictures folder. Introduced in Windows 8.1. + /// Defaults to "%USERPROFILE%\OneDrive\Pictures". + /// + [KnownFolderGuid("339719B5-8C47-4894-94C2-D8F77ADD44A6")] + SkyDrivePictures, + + /// + /// The per-user Start Menu folder. + /// Defaults to "%APPDATA%\Microsoft\Windows\Start Menu". + /// + [KnownFolderGuid("625B53C3-AB48-4EC1-BA1F-A1EF4146FC19")] + StartMenu, + + /// + /// The per-user Startup folder. + /// Defaults to "%APPDATA%\Microsoft\Windows\Start Menu\Programs\StartUp". + /// + [KnownFolderGuid("B97D20BB-F46A-4C97-BA10-5E3608430854")] + Startup, + + /// + /// The fixed System32 folder. + /// This is the same as the known folder in 32-bit applications. + /// Points to "%WINDIR%\system32" on 32-bit operating systems or in 64-bit applications on a 64-bit + /// operating system and to "%WINDIR%\syswow64" in 32-bit applications on a 64-bit operating system. + /// + [KnownFolderGuid("1AC14E77-02E7-4E5D-B744-2EB1AE5198B7")] + System, + + /// + /// The fixed System32 folder (32-bit forced). + /// This is the same as the known folder in 32-bit applications. + /// Points to "%WINDIR%\syswow64" in 64-bit applications or in 32-bit applications on a 64-bit + /// operating system and to "%WINDIR%\system32" on 32-bit operating systems. + /// + [KnownFolderGuid("D65231B0-B2F1-4857-A4CE-A8E7C6EA7D27")] + SystemX86, + + /// + /// The per-user Templates folder. + /// Defaults to "%APPDATA%\Microsoft\Windows\Templates". + /// + [KnownFolderGuid("A63293E8-664E-48DB-A079-DF759E0509F7")] + Templates, + + /// + /// The per-user User Pinned folder. Introduced in Windows 7. + /// Defaults to "%APPDATA%\Microsoft\Internet Explorer\Quick Launch\User Pinned". + /// + [KnownFolderGuid("9E3995AB-1F9C-4F13-B827-48B24B6C7174")] + UserPinned, + + /// + /// The fixed Users folder. Introduced in Windows Vista. + /// Points to "%SYSTEMDRIVE%\Users". + /// + [KnownFolderGuid("0762D272-C50A-4BB0-A382-697DCD729B80")] + UserProfiles, + + /// + /// The per-user Programs folder. Introduced in Windows 7. + /// Defaults to "%LOCALAPPDATA%\Programs.". + /// + [KnownFolderGuid("5CD7AEE2-2219-4A67-B85D-6C9CE15660CB")] + UserProgramFiles, + + /// + /// The per-user common Programs folder. INtroduced in Windows 7. + /// Defaults to "%LOCALAPPDATA%\Programs\Common". + /// + [KnownFolderGuid("BCBD3057-CA5C-4622-B42D-BC56DB0AE516")] + UserProgramFilesCommon, + + /// + /// The per-user Videos folder. + /// Defaults to "%USERPROFILE%\Videos". + /// + [KnownFolderGuid("18989B1D-99B5-455B-841C-AB7C74E4DDFC")] + Videos, + + /// + /// The per-user Videos library. Introduced in Windows 7. + /// Defaults to "%APPDATA%\Microsoft\Windows\Libraries\Videos.library-ms". + /// + [KnownFolderGuid("491E922F-5643-4AF4-A7EB-4E7A138D8174")] + VideosLibrary, + + /// + /// The fixed Windows folder. + /// Points to "%WINDIR%". + /// + [KnownFolderGuid("F38BF404-1D43-42F2-9305-67DE0B28FC23")] + Windows + } + + /// + /// Represents extension methods for the type. + /// + internal static class KnownFolderTypeExtensions + { + // ---- METHODS (INTERNAL) ------------------------------------------------------------------------------------- + + /// + /// Gets the with which the enumeration member has been + /// decorated. + /// + /// The decorated enumeration member. + /// The of the . + internal static Guid GetGuid(this KnownFolderType Value) + { + FieldInfo Member = typeof(KnownFolderType).GetField(Value.ToString()); + object[] Attributes = Member.GetCustomAttributes(typeof(KnownFolderGuidAttribute), false); + KnownFolderGuidAttribute GuidAttribute = (KnownFolderGuidAttribute)Attributes[0]; + return GuidAttribute.Guid; + } + } + + /// + /// Represents an attribute to decorate the members of the enumeration with their + /// corresponding on the Windows system. + /// + [AttributeUsage(AttributeTargets.Field, AllowMultiple = false, Inherited = false)] + internal class KnownFolderGuidAttribute : Attribute + { + // ---- CONSTRUCTORS & DESTRUCTOR ------------------------------------------------------------------------------ + + /// + /// Initializes a new instance of the class with the given string + /// representing the GUID of the . + /// + /// The GUID string of the . + internal KnownFolderGuidAttribute(string Guid) + { + this.Guid = new Guid(Guid); + } + + // ---- PROPERTIES --------------------------------------------------------------------------------------------- + + /// + /// Gets the for the enumeration member. + /// + internal Guid Guid + { + get; + private set; + } + } + } diff --git a/TimetableTool.Desktop/Helpers/KnownFolders.cs b/TimetableTool.Desktop/Helpers/KnownFolders.cs new file mode 100644 index 0000000..fc2b4e8 --- /dev/null +++ b/TimetableTool.Desktop/Helpers/KnownFolders.cs @@ -0,0 +1,620 @@ +using System.Collections.Generic; + +namespace Syroot.Windows.IO + { + /// + /// A collection of properties to retrieve specific file system paths for the current user. + /// + public static class KnownFolders + { + // ---- MEMBERS ------------------------------------------------------------------------------------------------ + + private static Dictionary _knownFolderInstances; + + // ---- PROPERTIES --------------------------------------------------------------------------------------------- + + #region ---- Typed KnownFolder Instances ---- + /// + /// The per-user Account Pictures folder. Introduced in Windows 8. + /// Defaults to "%APPDATA%\Microsoft\Windows\AccountPictures". + /// + public static KnownFolder AccountPictures => GetInstance(KnownFolderType.AccountPictures); + + /// + /// The per-user Administrative Tools folder. + /// Defaults to "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Administrative Tools". + /// + public static KnownFolder AdminTools => GetInstance(KnownFolderType.AdminTools); + + /// + /// The per-user Application Shortcuts folder. Introduced in Windows 8. + /// Defaults to "%LOCALAPPDATA%\Microsoft\Windows\Application Shortcuts". + /// + public static KnownFolder ApplicationShortcuts => GetInstance(KnownFolderType.ApplicationShortcuts); + + /// + /// The per-user Camera Roll folder. Introduced in Windows 8.1. + /// Defaults to ".%USERPROFILE%\Pictures\Camera Roll". + /// + public static KnownFolder CameraRoll => GetInstance(KnownFolderType.CameraRoll); + + /// + /// The per-user Temporary Burn Folder. + /// Defaults to "%LOCALAPPDATA%\Microsoft\Windows\Burn\Burn". + /// + public static KnownFolder CdBurning => GetInstance(KnownFolderType.CdBurning); + + /// + /// The common Administrative Tools folder. + /// Defaults to "%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Administrative Tools". + /// + public static KnownFolder CommonAdminTools => GetInstance(KnownFolderType.CommonAdminTools); + + /// + /// The common OEM Links folder. + /// Defaults to "%ALLUSERSPROFILE%\OEM Links". + /// + public static KnownFolder CommonOemLinks => GetInstance(KnownFolderType.CommonOemLinks); + + /// + /// The common Programs folder. + /// Defaults to "%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs". + /// + public static KnownFolder CommonPrograms => GetInstance(KnownFolderType.CommonPrograms); + + /// + /// The common Start Menu folder. + /// Defaults to "%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu". + /// + public static KnownFolder CommonStartMenu => GetInstance(KnownFolderType.CommonStartMenu); + + /// + /// The common Startup folder. + /// Defaults to "%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\StartUp". + /// + public static KnownFolder CommonStartup => GetInstance(KnownFolderType.CommonStartup); + + /// + /// The common Templates folder. + /// Defaults to "%ALLUSERSPROFILE%\Microsoft\Windows\Templates". + /// + public static KnownFolder CommonTemplates => GetInstance(KnownFolderType.CommonTemplates); + + /// + /// The per-user Contacts folder. Introduced in Windows Vista. + /// Defaults to "%USERPROFILE%\Contacts". + /// + public static KnownFolder Contacts => GetInstance(KnownFolderType.Contacts); + + /// + /// The per-user Cookies folder. + /// Defaults to "%APPDATA%\Microsoft\Windows\Cookies". + /// + public static KnownFolder Cookies => GetInstance(KnownFolderType.Cookies); + + /// + /// The per-user Desktop folder. + /// Defaults to "%USERPROFILE%\Desktop". + /// + public static KnownFolder Desktop => GetInstance(KnownFolderType.Desktop); + + /// + /// The common DeviceMetadataStore folder. Introduced in Windows 7. + /// Defaults to "%ALLUSERSPROFILE%\Microsoft\Windows\DeviceMetadataStore". + /// + public static KnownFolder DeviceMetadataStore => GetInstance(KnownFolderType.DeviceMetadataStore); + + /// + /// The per-user Documents folder. + /// Defaults to "%USERPROFILE%\Documents". + /// + public static KnownFolder Documents => GetInstance(KnownFolderType.Documents); + + /// + /// The per-user Documents library. Introduced in Windows 7. + /// Defaults to "%APPDATA%\Microsoft\Windows\Libraries\Documents.library-ms". + /// + public static KnownFolder DocumentsLibrary => GetInstance(KnownFolderType.DocumentsLibrary); + + /// + /// The per-user Downloads folder. + /// Defaults to "%USERPROFILE%\Downloads". + /// + public static KnownFolder Downloads => GetInstance(KnownFolderType.Downloads); + + /// + /// The per-user Favorites folder. + /// Defaults to "%USERPROFILE%\Favorites". + /// + public static KnownFolder Favorites => GetInstance(KnownFolderType.Favorites); + + /// + /// The fixed Fonts folder. + /// Points to "%WINDIR%\Fonts". + /// + public static KnownFolder Fonts => GetInstance(KnownFolderType.Fonts); + + /// + /// The per-user GameExplorer folder. Introduced in Windows Vista. + /// Defaults to "%LOCALAPPDATA%\Microsoft\Windows\GameExplorer". + /// + public static KnownFolder GameTasks => GetInstance(KnownFolderType.GameTasks); + + /// + /// The per-user History folder. + /// Defaults to "%LOCALAPPDATA%\Microsoft\Windows\History". + /// + public static KnownFolder History => GetInstance(KnownFolderType.History); + + /// + /// The per-user ImplicitAppShortcuts folder. Introduced in Windows 7. + /// Defaults to "%APPDATA%\Microsoft\Internet Explorer\Quick Launch\User Pinned\ImplicitAppShortcuts". + /// + public static KnownFolder ImplicitAppShortcuts => GetInstance(KnownFolderType.ImplicitAppShortcuts); + + /// + /// The per-user Temporary Internet Files folder. + /// Defaults to "%LOCALAPPDATA%\Microsoft\Windows\Temporary Internet Files". + /// + public static KnownFolder InternetCache => GetInstance(KnownFolderType.InternetCache); + + /// + /// The per-user Libraries folder. Introduced in Windows 7. + /// Defaults to "%APPDATA%\Microsoft\Windows\Libraries". + /// + public static KnownFolder Libraries => GetInstance(KnownFolderType.Libraries); + + /// + /// The per-user Links folder. + /// Defaults to "%USERPROFILE%\Links". + /// + public static KnownFolder Links => GetInstance(KnownFolderType.Links); + + /// + /// The per-user Local folder. + /// Defaults to "%LOCALAPPDATA%" ("%USERPROFILE%\AppData\Local")". + /// + public static KnownFolder LocalAppData => GetInstance(KnownFolderType.LocalAppData); + + /// + /// The per-user LocalLow folder. + /// Defaults to "%USERPROFILE%\AppData\LocalLow". + /// + public static KnownFolder LocalAppDataLow => GetInstance(KnownFolderType.LocalAppDataLow); + + /// + /// The fixed LocalizedResourcesDir folder. + /// Points to "%WINDIR%\resources\0409" (code page). + /// + public static KnownFolder LocalizedResourcesDir => GetInstance(KnownFolderType.LocalizedResourcesDir); + + /// + /// The per-user Music folder. + /// Defaults to "%USERPROFILE%\Music". + /// + public static KnownFolder Music => GetInstance(KnownFolderType.Music); + + /// + /// The per-user Music library. Introduced in Windows 7. + /// Defaults to "%APPDATA%\Microsoft\Windows\Libraries\Music.library-ms". + /// + public static KnownFolder MusicLibrary => GetInstance(KnownFolderType.MusicLibrary); + + /// + /// The per-user Network Shortcuts folder. + /// Defaults to "%APPDATA%\Microsoft\Windows\Network Shortcuts". + /// + public static KnownFolder NetHood => GetInstance(KnownFolderType.NetHood); + + /// + /// The per-user Original Images folder. Introduced in Windows Vista. + /// Defaults to "%LOCALAPPDATA%\Microsoft\Windows Photo Gallery\Original Images". + /// + public static KnownFolder OriginalImages => GetInstance(KnownFolderType.OriginalImages); + + /// + /// The per-user Slide Shows folder. Introduced in Windows Vista. + /// Defaults to "%USERPROFILE%\Pictures\Slide Shows". + /// + public static KnownFolder PhotoAlbums => GetInstance(KnownFolderType.PhotoAlbums); + + /// + /// The per-user Pictures library. Introduced in Windows 7. + /// Defaults to "%APPDATA%\Microsoft\Windows\Libraries\Pictures.library-ms". + /// + public static KnownFolder PicturesLibrary => GetInstance(KnownFolderType.PicturesLibrary); + + /// + /// The per-user Pictures folder. + /// Defaults to "%USERPROFILE%\Pictures". + /// + public static KnownFolder Pictures => GetInstance(KnownFolderType.Pictures); + + /// + /// The per-user Playlists folder. + /// Defaults to "%USERPROFILE%\Music\Playlists". + /// + public static KnownFolder Playlists => GetInstance(KnownFolderType.Playlists); + + /// + /// The per-user Printer Shortcuts folder. + /// Defaults to "%APPDATA%\Microsoft\Windows\Printer Shortcuts". + /// + public static KnownFolder PrintHood => GetInstance(KnownFolderType.PrintHood); + + /// + /// The fixed user profile folder. + /// Defaults to "%USERPROFILE%" ("%SYSTEMDRIVE%\USERS\%USERNAME%")". + /// + public static KnownFolder Profile => GetInstance(KnownFolderType.Profile); + + /// + /// The fixed ProgramData folder. + /// Points to "%ALLUSERSPROFILE%" ("%PROGRAMDATA%", "%SYSTEMDRIVE%\ProgramData"). + /// + public static KnownFolder ProgramData => GetInstance(KnownFolderType.ProgramData); + + /// + /// The fixed Program Files folder. + /// This is the same as the known folder in 32-bit applications or the + /// known folder in 64-bit applications. + /// Points to %SYSTEMDRIVE%\Program Files on a 32-bit operating system or in 64-bit applications on a 64-bit + /// operating system and to %SYSTEMDRIVE%\Program Files (x86) in 32-bit applications on a 64-bit operating + /// system. + /// + public static KnownFolder ProgramFiles => GetInstance(KnownFolderType.ProgramFiles); + + /// + /// The fixed Program Files folder (64-bit forced). + /// This known folder is unsupported in 32-bit applications. + /// Points to %SYSTEMDRIVE%\Program Files. + /// + public static KnownFolder ProgramFilesX64 => GetInstance(KnownFolderType.ProgramFilesX64); + + /// + /// The fixed Program Files folder (32-bit forced). + /// This is the same as the known folder in 32-bit applications. + /// Points to "%SYSTEMDRIVE%\Program Files" on a 32-bit operating system and to + /// "%SYSTEMDRIVE%\Program Files (x86)" on a 64-bit operating system. + /// + public static KnownFolder ProgramFilesX86 => GetInstance(KnownFolderType.ProgramFilesX86); + + /// + /// The fixed Common Files folder. + /// This is the same as the known folder in 32-bit applications or the + /// known folder in 64-bit applications. + /// Points to" %PROGRAMFILES%\Common Files" on a 32-bit operating system or in 64-bit applications on + /// a 64-bit operating system and to "%PROGRAMFILES(X86)%\Common Files" in 32-bit applications on a + /// 64-bit operating system. + /// + public static KnownFolder ProgramFilesCommon => GetInstance(KnownFolderType.ProgramFilesCommon); + + /// + /// The fixed Common Files folder (64-bit forced). + /// This known folder is unsupported in 32-bit applications. + /// Points to "%PROGRAMFILES%\Common Files". + /// + public static KnownFolder ProgramFilesCommonX64 => GetInstance(KnownFolderType.ProgramFilesCommonX64); + + /// + /// The fixed Common Files folder (32-bit forced). + /// This is the same as the known folder in 32-bit applications. + /// Points to "%PROGRAMFILES%\Common Files" on a 32-bit operating system and to + /// "%PROGRAMFILES(X86)%\Common Files" on a 64-bit operating system. + /// + public static KnownFolder ProgramFilesCommonX86 => GetInstance(KnownFolderType.ProgramFilesCommonX86); + + /// + /// The per-user Programs folder. + /// Defaults to "%APPDATA%\Microsoft\Windows\Start Menu\Programs". + /// + public static KnownFolder Programs => GetInstance(KnownFolderType.Programs); + + /// + /// The fixed Public folder. Introduced in Windows Vista. + /// Defaults to "%PUBLIC%" ("%SYSTEMDRIVE%\Users\Public)". + /// + public static KnownFolder Public => GetInstance(KnownFolderType.Public); + + /// + /// The common Public Desktop folder. + /// Defaults to "%PUBLIC%\Desktop". + /// + public static KnownFolder PublicDesktop => GetInstance(KnownFolderType.PublicDesktop); + + /// + /// The common Public Documents folder. + /// Defaults to "%PUBLIC%\Documents". + /// + public static KnownFolder PublicDocuments => GetInstance(KnownFolderType.PublicDocuments); + + /// + /// The common Public Downloads folder. Introduced in Windows Vista. + /// Defaults to "%PUBLIC%\Downloads". + /// + public static KnownFolder PublicDownloads => GetInstance(KnownFolderType.PublicDownloads); + + /// + /// The common GameExplorer folder. Introduced in Windows Vista. + /// Defaults to "%ALLUSERSPROFILE%\Microsoft\Windows\GameExplorer". + /// + public static KnownFolder PublicGameTasks => GetInstance(KnownFolderType.PublicGameTasks); + + /// + /// The common Libraries folder. Introduced in Windows 7. + /// Defaults to "%ALLUSERSPROFILE%\Microsoft\Windows\Libraries". + /// + public static KnownFolder PublicLibraries => GetInstance(KnownFolderType.PublicLibraries); + + /// + /// The common Public Music folder. + /// Defaults to "%PUBLIC%\Music". + /// + public static KnownFolder PublicMusic => GetInstance(KnownFolderType.PublicMusic); + + /// + /// The common Public Pictures folder. + /// Defaults to "%PUBLIC%\Pictures". + /// + public static KnownFolder PublicPictures => GetInstance(KnownFolderType.PublicPictures); + + /// + /// The common Ringtones folder. Introduced in Windows 7. + /// Defaults to "%ALLUSERSPROFILE%\Microsoft\Windows\Ringtones". + /// + public static KnownFolder PublicRingtones => GetInstance(KnownFolderType.PublicRingtones); + + /// + /// The common Public Account Pictures folder. Introduced in Windows 8. + /// Defaults to "%PUBLIC%\AccountPictures". + /// + public static KnownFolder PublicUserTiles => GetInstance(KnownFolderType.PublicUserTiles); + + /// + /// The common Public Videos folder. + /// Defaults to "%PUBLIC%\Videos". + /// + public static KnownFolder PublicVideos => GetInstance(KnownFolderType.PublicVideos); + + /// + /// The per-user Quick Launch folder. + /// Defaults to "%APPDATA%\Microsoft\Internet Explorer\Quick Launch". + /// + public static KnownFolder QuickLaunch => GetInstance(KnownFolderType.QuickLaunch); + + /// + /// The per-user Recent Items folder. + /// Defaults to "%APPDATA%\Microsoft\Windows\Recent". + /// + public static KnownFolder Recent => GetInstance(KnownFolderType.Recent); + + /// + /// The common Recorded TV library. Introduced in Windows 7. + /// Defaults to "%PUBLIC%\RecordedTV.library-ms". + /// + public static KnownFolder RecordedTvLibrary => GetInstance(KnownFolderType.RecordedTvLibrary); + + /// + /// The fixed Resources folder. + /// Points to "%WINDIR%\Resources". + /// + public static KnownFolder ResourceDir => GetInstance(KnownFolderType.ResourceDir); + + /// + /// The per-user Ringtones folder. Introduced in Windows 7. + /// Defaults to "%LOCALAPPDATA%\Microsoft\Windows\Ringtones". + /// + public static KnownFolder Ringtones => GetInstance(KnownFolderType.Ringtones); + + /// + /// The per-user Roaming folder. + /// Defaults to "%APPDATA%" ("%USERPROFILE%\AppData\Roaming"). + /// + public static KnownFolder RoamingAppData => GetInstance(KnownFolderType.RoamingAppData); + + /// + /// The per-user RoamedTileImages folder. Introduced in Windows 8. + /// Defaults to "%LOCALAPPDATA%\Microsoft\Windows\RoamedTileImages". + /// + public static KnownFolder RoamedTileImages => GetInstance(KnownFolderType.RoamedTileImages); + + /// + /// The per-user RoamingTiles folder. Introduced in Windows 8. + /// Defaults to "%LOCALAPPDATA%\Microsoft\Windows\RoamingTiles". + /// + public static KnownFolder RoamingTiles => GetInstance(KnownFolderType.RoamingTiles); + + /// + /// The common Sample Music folder. + /// Defaults to "%PUBLIC%\Music\Sample Music". + /// + public static KnownFolder SampleMusic => GetInstance(KnownFolderType.SampleMusic); + + /// + /// The common Sample Pictures folder. + /// Defaults to "%PUBLIC%\Pictures\Sample Pictures". + /// + public static KnownFolder SamplePictures => GetInstance(KnownFolderType.SamplePictures); + + /// + /// The common Sample Playlists folder. Introduced in Windows Vista. + /// Defaults to "%PUBLIC%\Music\Sample Playlists". + /// + public static KnownFolder SamplePlaylists => GetInstance(KnownFolderType.SamplePlaylists); + + /// + /// The common Sample Videos folder. + /// Defaults to "%PUBLIC%\Videos\Sample Videos". + /// + public static KnownFolder SampleVideos => GetInstance(KnownFolderType.SampleVideos); + + /// + /// The per-user Saved Games folder. Introduced in Windows Vista. + /// Defaults to "%USERPROFILE%\Saved Games". + /// + public static KnownFolder SavedGames => GetInstance(KnownFolderType.SavedGames); + + /// + /// The per-user Searches folder. + /// Defaults to "%USERPROFILE%\Searches". + /// + public static KnownFolder SavedSearches => GetInstance(KnownFolderType.SavedSearches); + + /// + /// The per-user Screenshots folder. Introduced in Windows 8. + /// Defaults to "%USERPROFILE%\Pictures\Screenshots". + /// + public static KnownFolder Screenshots => GetInstance(KnownFolderType.Screenshots); + + /// + /// The per-user History folder. Introduced in Windows 8.1. + /// Defaults to "%LOCALAPPDATA%\Microsoft\Windows\ConnectedSearch\History". + /// + public static KnownFolder SearchHistory => GetInstance(KnownFolderType.SearchHistory); + + /// + /// The per-user Templates folder. Introduced in Windows 8.1. + /// Defaults to "%LOCALAPPDATA%\Microsoft\Windows\ConnectedSearch\Templates". + /// + public static KnownFolder SearchTemplates => GetInstance(KnownFolderType.SearchTemplates); + + /// + /// The per-user SendTo folder. + /// Defaults to "%APPDATA%\Microsoft\Windows\SendTo". + /// + public static KnownFolder SendTo => GetInstance(KnownFolderType.SendTo); + + /// + /// The common Gadgets folder. Introduced in Windows 7. + /// Defaults to "%ProgramFiles%\Windows Sidebar\Gadgets". + /// + public static KnownFolder SidebarDefaultParts => GetInstance(KnownFolderType.SidebarDefaultParts); + + /// + /// The per-user Gadgets folder. Introduced in Windows 7. + /// Defaults to "%LOCALAPPDATA%\Microsoft\Windows Sidebar\Gadgets". + /// + public static KnownFolder SidebarParts => GetInstance(KnownFolderType.SidebarParts); + + /// + /// The per-user OneDrive folder. Introduced in Windows 8.1. + /// Defaults to "%USERPROFILE%\OneDrive". + /// + public static KnownFolder SkyDrive => GetInstance(KnownFolderType.SkyDrive); + + /// + /// The per-user OneDrive Camera Roll folder. Introduced in Windows 8.1. + /// Defaults to "%USERPROFILE%\OneDrive\Pictures\Camera Roll". + /// + public static KnownFolder SkyDriveCameraRoll => GetInstance(KnownFolderType.SkyDriveCameraRoll); + + /// + /// The per-user OneDrive Documents folder. Introduced in Windows 8.1. + /// Defaults to "%USERPROFILE%\OneDrive\Documents". + /// + public static KnownFolder SkyDriveDocuments => GetInstance(KnownFolderType.SkyDriveDocuments); + + /// + /// The per-user OneDrive Pictures folder. Introduced in Windows 8.1. + /// Defaults to "%USERPROFILE%\OneDrive\Pictures". + /// + public static KnownFolder SkyDrivePictures => GetInstance(KnownFolderType.SkyDrivePictures); + + /// + /// The per-user Start Menu folder. + /// Defaults to "%APPDATA%\Microsoft\Windows\Start Menu". + /// + public static KnownFolder StartMenu => GetInstance(KnownFolderType.StartMenu); + + /// + /// The per-user Startup folder. + /// Defaults to "%APPDATA%\Microsoft\Windows\Start Menu\Programs\StartUp". + /// + public static KnownFolder Startup => GetInstance(KnownFolderType.Startup); + + /// + /// The fixed System32 folder. + /// This is the same as the known folder in 32-bit applications. + /// Points to "%WINDIR%\system32" on 32-bit operating systems or in 64-bit applications on a 64-bit + /// operating system and to "%WINDIR%\syswow64" in 32-bit applications on a 64-bit operating system. + /// + public static KnownFolder System => GetInstance(KnownFolderType.System); + + /// + /// The fixed System32 folder (32-bit forced). + /// This is the same as the known folder in 32-bit applications. + /// Points to "%WINDIR%\syswow64" in 64-bit applications or in 32-bit applications on a 64-bit + /// operating system and to "%WINDIR%\system32" on 32-bit operating systems. + /// + public static KnownFolder SystemX86 => GetInstance(KnownFolderType.SystemX86); + + /// + /// The per-user Templates folder. + /// Defaults to "%APPDATA%\Microsoft\Windows\Templates". + /// + public static KnownFolder Templates => GetInstance(KnownFolderType.Templates); + + /// + /// The per-user User Pinned folder. Introduced in Windows 7. + /// Defaults to "%APPDATA%\Microsoft\Internet Explorer\Quick Launch\User Pinned". + /// + public static KnownFolder UserPinned => GetInstance(KnownFolderType.UserPinned); + + /// + /// The fixed Users folder. Introduced in Windows Vista. + /// Points to "%SYSTEMDRIVE%\Users". + /// + public static KnownFolder UserProfiles => GetInstance(KnownFolderType.UserProfiles); + + /// + /// The per-user Programs folder. Introduced in Windows 7. + /// Defaults to "%LOCALAPPDATA%\Programs.". + /// + public static KnownFolder UserProgramFiles => GetInstance(KnownFolderType.UserProgramFiles); + + /// + /// The per-user common Programs folder. INtroduced in Windows 7. + /// Defaults to "%LOCALAPPDATA%\Programs\Common". + /// + public static KnownFolder UserProgramFilesCommon => GetInstance(KnownFolderType.UserProgramFilesCommon); + + /// + /// The per-user Videos folder. + /// Defaults to "%USERPROFILE%\Videos". + /// + public static KnownFolder Videos => GetInstance(KnownFolderType.Videos); + + /// + /// The per-user Videos library. Introduced in Windows 7. + /// Defaults to "%APPDATA%\Microsoft\Windows\Libraries\Videos.library-ms". + /// + public static KnownFolder VideosLibrary => GetInstance(KnownFolderType.VideosLibrary); + + /// + /// The fixed Windows folder. + /// Points to "%WINDIR%". + /// + public static KnownFolder Windows => GetInstance(KnownFolderType.Windows); + + #endregion + + // ---- METHODS (PRIVATE) -------------------------------------------------------------------------------------- + + private static KnownFolder GetInstance(KnownFolderType Type) + { + // Check if the caching directory exists yet. + if (_knownFolderInstances == null) + { + _knownFolderInstances = new Dictionary(); + } + + // Get a KnownFolder instance out of the cache dictionary or create it when not cached yet. + if (!_knownFolderInstances.TryGetValue(Type, out KnownFolder KnownFolder)) + { + KnownFolder = new KnownFolder(Type); + _knownFolderInstances.Add(Type, KnownFolder); + } + return KnownFolder; + } + } + } diff --git a/TimetableTool.Desktop/Helpers/SystemErrs.cs b/TimetableTool.Desktop/Helpers/SystemErrs.cs new file mode 100644 index 0000000..47a9e57 --- /dev/null +++ b/TimetableTool.Desktop/Helpers/SystemErrs.cs @@ -0,0 +1,226 @@ +using System; + +namespace LuaCreatorWPF + { + internal static class SystemErrorCodes + { + public const Int32 ErrorAccessDenied = 5; + public const Int32 ErrorAdapHdwErr = 57; + public const Int32 ErrorAlreadyAssigned = 85; + public const Int32 ErrorAlreadyExists = 183; + public const Int32 ErrorArenaTrashed = 7; + public const Int32 ErrorAtomicLocksNotSupported = 174; + public const Int32 ErrorAutodatasegExceeds64K = 199; + public const Int32 ErrorBadArguments = 160; + public const Int32 ErrorBadCommand = 22; + public const Int32 ErrorBadDevType = 66; + public const Int32 ErrorBadDriverLevel = 119; + public const Int32 ErrorBadEnvironment = 10; + public const Int32 ErrorBadExeFormat = 193; + public const Int32 ErrorBadFileType = 222; + public const Int32 ErrorBadFormat = 11; + public const Int32 ErrorBadLength = 24; + public const Int32 ErrorBadNetName = 67; + public const Int32 ErrorBadNetResp = 58; + public const Int32 ErrorBadNetpath = 53; + public const Int32 ErrorBadPathname = 161; + public const Int32 ErrorBadPipe = 230; + public const Int32 ErrorBadRemAdap = 60; + public const Int32 ErrorBadThreadidAddr = 159; + public const Int32 ErrorBadUnit = 20; + public const Int32 ErrorBrokenPipe = 109; + public const Int32 ErrorBufferOverflow = 111; + public const Int32 ErrorBusyDrive = 142; + public const Int32 ErrorBusy = 170; + public const Int32 ErrorCallNotImplemented = 120; + public const Int32 ErrorCancelViolation = 173; + public const Int32 ErrorCannotCopy = 266; + public const Int32 ErrorCannotMake = 82; + public const Int32 ErrorCheckoutRequired = 221; + public const Int32 ErrorChildNotComplete = 129; + public const Int32 ErrorCrc = 23; + public const Int32 ErrorCurrentDirectory = 16; + public const Int32 ErrorDeletePending = 303; + public const Int32 ErrorDevNotExist = 55; + public const Int32 ErrorDirNotEmpty = 145; + public const Int32 ErrorDirNotRoot = 144; + public const Int32 ErrorDirectAccessHandle = 130; + public const Int32 ErrorDirectory = 267; + public const Int32 ErrorDiscarded = 157; + public const Int32 ErrorDiskChange = 107; + public const Int32 ErrorDiskFull = 112; + public const Int32 ErrorDiskTooFragmented = 302; + public const Int32 ErrorDriveLocked = 108; + public const Int32 ErrorDupName = 52; + public const Int32 ErrorDynlinkFromInvalidRing = 196; + public const Int32 ErrorEaFileCorrupt = 276; + public const Int32 ErrorEaListInconsistent = 255; + public const Int32 ErrorEaTableFull = 277; + public const Int32 ErrorEasDidntFit = 275; + public const Int32 ErrorEasNotSupported = 282; + public const Int32 ErrorEnvvarNotFound = 203; + public const Int32 ErrorExclSemAlreadyOwned = 101; + public const Int32 ErrorExeCannotModifySignedBinary = 217; + public const Int32 ErrorExeCannotModifyStrongSignedBinary = 218; + public const Int32 ErrorExeMachineTypeMismatch = 216; + public const Int32 ErrorExeMarkedInvalid = 192; + public const Int32 ErrorFailI24 = 83; + public const Int32 ErrorFailNoactionReboot = 350; + public const Int32 ErrorFailRestart = 352; + public const Int32 ErrorFailShutdown = 351; + public const Int32 ErrorFileCheckedOut = 220; + public const Int32 ErrorFileExists = 80; + public const Int32 ErrorFileNotFound = 2; + public const Int32 ErrorFileTooLarge = 223; + public const Int32 ErrorFilenameExcedRange = 206; + public const Int32 ErrorFormsAuthRequired = 224; + public const Int32 ErrorGenFailure = 31; + public const Int32 ErrorHandleDiskFull = 39; + public const Int32 ErrorHandleEof = 38; + public const Int32 ErrorImageSubsystemNotPresent = 308; + public const Int32 ErrorIncompatibleWithGlobalShortNameRegistrySetting = 304; + public const Int32 ErrorInfloopInRelocChain = 202; + public const Int32 ErrorInsufficientBuffer = 122; + public const Int32 ErrorInvalidAccess = 12; + public const Int32 ErrorInvalidAddress = 487; + public const Int32 ErrorInvalidAtInterruptTime = 104; + public const Int32 ErrorInvalidBlock = 9; + public const Int32 ErrorInvalidCategory = 117; + public const Int32 ErrorInvalidData = 13; + public const Int32 ErrorInvalidDrive = 15; + public const Int32 ErrorInvalidEaHandle = 278; + public const Int32 ErrorInvalidEaName = 254; + public const Int32 ErrorInvalidEventCount = 151; + public const Int32 ErrorInvalidExeSignature = 191; + public const Int32 ErrorInvalidFlagNumber = 186; + public const Int32 ErrorInvalidFunction = 1; + public const Int32 ErrorInvalidHandle = 6; + public const Int32 ErrorInvalidLevel = 124; + public const Int32 ErrorInvalidListFormat = 153; + public const Int32 ErrorInvalidLockRange = 307; + public const Int32 ErrorInvalidMinallocsize = 195; + public const Int32 ErrorInvalidModuletype = 190; + public const Int32 ErrorInvalidName = 123; + public const Int32 ErrorInvalidOplockProtocol = 301; + public const Int32 ErrorInvalidOrdinal = 182; + public const Int32 ErrorInvalidParameter = 87; + public const Int32 ErrorInvalidPassword = 86; + public const Int32 ErrorInvalidSegdpl = 198; + public const Int32 ErrorInvalidSegmentNumber = 180; + public const Int32 ErrorInvalidSignalNumber = 209; + public const Int32 ErrorInvalidStackseg = 189; + public const Int32 ErrorInvalidStartingCodeseg = 188; + public const Int32 ErrorInvalidTargetHandle = 114; + public const Int32 ErrorInvalidVerifySwitch = 118; + public const Int32 ErrorIoplNotEnabled = 197; + public const Int32 ErrorIsJoinPath = 147; + public const Int32 ErrorIsJoinTarget = 133; + public const Int32 ErrorIsJoined = 134; + public const Int32 ErrorIsSubstPath = 146; + public const Int32 ErrorIsSubstTarget = 149; + public const Int32 ErrorIsSubsted = 135; + public const Int32 ErrorIteratedDataExceeds64K = 194; + public const Int32 ErrorJoinToJoin = 138; + public const Int32 ErrorJoinToSubst = 140; + public const Int32 ErrorLabelTooLong = 154; + public const Int32 ErrorLockFailed = 167; + public const Int32 ErrorLockViolation = 33; + public const Int32 ErrorLocked = 212; + public const Int32 ErrorMaxSessionsReached = 353; + public const Int32 ErrorMaxThrdsReached = 164; + public const Int32 ErrorMetaExpansionTooLong = 208; + public const Int32 ErrorModNotFound = 126; + public const Int32 ErrorMoreData = 234; + public const Int32 ErrorMrMidNotFound = 317; + public const Int32 ErrorNegativeSeek = 131; + public const Int32 ErrorNestingNotAllowed = 215; + public const Int32 ErrorNetWriteFault = 88; + public const Int32 ErrorNetnameDeleted = 64; + public const Int32 ErrorNetworkAccessDenied = 65; + public const Int32 ErrorNetworkBusy = 54; + public const Int32 ErrorNoData = 232; + public const Int32 ErrorNoMoreFiles = 18; + public const Int32 ErrorNoMoreItems = 259; + public const Int32 ErrorNoMoreSearchHandles = 113; + public const Int32 ErrorNoProcSlots = 89; + public const Int32 ErrorNoSignalSent = 205; + public const Int32 ErrorNoSpoolSpace = 62; + public const Int32 ErrorNoVolumeLabel = 125; + public const Int32 ErrorNotDosDisk = 26; + public const Int32 ErrorNotEnoughMemory = 8; + public const Int32 ErrorNotJoined = 136; + public const Int32 ErrorNotLocked = 158; + public const Int32 ErrorNotOwner = 288; + public const Int32 ErrorNotReady = 21; + public const Int32 ErrorNotSameDevice = 17; + public const Int32 ErrorNotSubsted = 137; + public const Int32 ErrorNotSupported = 50; + public const Int32 ErrorNotificationGuidAlreadyDefined = 309; + public const Int32 ErrorOpenFailed = 110; + public const Int32 ErrorOplockNotGranted = 300; + public const Int32 ErrorOutOfPaper = 28; + public const Int32 ErrorOutOfStructures = 84; + public const Int32 ErrorOutofmemory = 14; + public const Int32 ErrorPartialCopy = 299; + public const Int32 ErrorPathBusy = 148; + public const Int32 ErrorPathNotFound = 3; + public const Int32 ErrorPipeBusy = 231; + public const Int32 ErrorPipeLocal = 229; + public const Int32 ErrorPipeNotConnected = 233; + public const Int32 ErrorPrintCancelled = 63; + public const Int32 ErrorPrintqFull = 61; + public const Int32 ErrorProcNotFound = 127; + public const Int32 ErrorProcessModeAlreadyBackground = 402; + public const Int32 ErrorProcessModeNotBackground = 403; + public const Int32 ErrorReadFault = 30; + public const Int32 ErrorRedirPaused = 72; + public const Int32 ErrorRelocChainXeedsSeglim = 201; + public const Int32 ErrorRemNotList = 51; + public const Int32 ErrorReqNotAccep = 71; + public const Int32 ErrorRing2StackInUse = 207; + public const Int32 ErrorRing2SegMustBeMovable = 200; + public const Int32 ErrorSameDrive = 143; + public const Int32 ErrorScopeNotFound = 318; + public const Int32 ErrorSectorNotFound = 27; + public const Int32 ErrorSecurityStreamIsInconsistent = 306; + public const Int32 ErrorSeekOnDevice = 132; + public const Int32 ErrorSeek = 25; + public const Int32 ErrorSemIsSet = 102; + public const Int32 ErrorSemNotFound = 187; + public const Int32 ErrorSemOwnerDied = 105; + public const Int32 ErrorSemTimeout = 121; + public const Int32 ErrorSemUserLimit = 106; + public const Int32 ErrorSharingBufferExceeded = 36; + public const Int32 ErrorSharingPaused = 70; + public const Int32 ErrorSharingViolation = 32; + public const Int32 ErrorShortNamesNotEnabledOnVolume = 305; + public const Int32 ErrorSignalPending = 162; + public const Int32 ErrorSignalRefused = 156; + public const Int32 ErrorSubstToJoin = 141; + public const Int32 ErrorSubstToSubst = 139; + public const Int32 ErrorSuccess = 0; + public const Int32 ErrorSystemTrace = 150; + public const Int32 ErrorThread1Inactive = 210; + public const Int32 ErrorThreadModeAlreadyBackground = 400; + public const Int32 ErrorThreadModeNotBackground = 401; + public const Int32 ErrorTooManyCmds = 56; + public const Int32 ErrorTooManyModules = 214; + public const Int32 ErrorTooManyMuxwaiters = 152; + public const Int32 ErrorTooManyNames = 68; + public const Int32 ErrorTooManyOpenFiles = 4; + public const Int32 ErrorTooManyPosts = 298; + public const Int32 ErrorTooManySemRequests = 103; + public const Int32 ErrorTooManySemaphores = 100; + public const Int32 ErrorTooManySess = 69; + public const Int32 ErrorTooManyTcbs = 155; + public const Int32 ErrorUnexpNetErr = 59; + public const Int32 ErrorVcDisconnected = 240; + public const Int32 ErrorVirusDeleted = 226; + public const Int32 ErrorVirusInfected = 225; + public const Int32 ErrorWaitNoChildren = 128; + public const Int32 ErrorWriteFault = 29; + public const Int32 ErrorWriteProtect = 19; + public const Int32 ErrorWrongDisk = 34; + public const Int32 WaitTimeout = 258; + } + } \ No newline at end of file diff --git a/TimetableTool.Desktop/Images/Thumbs.db b/TimetableTool.Desktop/Images/Thumbs.db index 852b541..739c271 100644 Binary files a/TimetableTool.Desktop/Images/Thumbs.db and b/TimetableTool.Desktop/Images/Thumbs.db differ diff --git a/TimetableTool.Desktop/Images/chart_line.ico b/TimetableTool.Desktop/Images/chart_line.ico new file mode 100644 index 0000000..981cb65 Binary files /dev/null and b/TimetableTool.Desktop/Images/chart_line.ico differ diff --git a/TimetableTool.Desktop/Images/chart_line.png b/TimetableTool.Desktop/Images/chart_line.png new file mode 100644 index 0000000..eaa1068 Binary files /dev/null and b/TimetableTool.Desktop/Images/chart_line.png differ diff --git a/TimetableTool.Desktop/Views/LoggingView.xaml b/TimetableTool.Desktop/Views/LoggingView.xaml index 0b6a697..2db4699 100644 --- a/TimetableTool.Desktop/Views/LoggingView.xaml +++ b/TimetableTool.Desktop/Views/LoggingView.xaml @@ -7,6 +7,7 @@ xmlns:styles="clr-namespace:Styles.Library.UserControls;assembly=Styles.Library" mc:Ignorable="d" Style="{StaticResource AllWindows}" + Icon="..\Images\chart_line.png" Title="Logging Viewer"> diff --git a/TimetableTool.Desktop/chart_line.ico b/TimetableTool.Desktop/chart_line.ico new file mode 100644 index 0000000..981cb65 Binary files /dev/null and b/TimetableTool.Desktop/chart_line.ico differ