-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathProgram.cs
More file actions
116 lines (98 loc) · 2.87 KB
/
Copy pathProgram.cs
File metadata and controls
116 lines (98 loc) · 2.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
namespace SystemGameManager;
using SystemGameManager.Database.Controller;
using SystemGameManager.Games.Controller;
using SystemGameManager.Games.Entity;
using SystemGameManager.Pc.Controller;
using SystemGameManager.Handler;
using GameEntity = SystemGameManager.Games.Entity.Game;
using System;
using System.Threading;
using System.Windows.Forms;
using Velopack;
using System.Threading.Tasks;
using SystemGameManager.Service;
using SystemGameManager.View;
using System.Net.Http;
using SystemGameManager.Plugin;
internal static class Program
{
[STAThread]
private static void Main(string[] args)
{
#if DEBUG
new GlobalDevConfig();
#endif
try
{
VelopackApp.Build().Run();
}
catch (Exception ex)
{
ErrorHandler.Handle(ex, ErrorSeverity.Fatal);
}
ErrorHandler.Register();
try
{
// Update abschließen, ohne Main vom STA-Thread wegzuführen
new Updater().AutoUpdate().GetAwaiter().GetResult();
if (args.Length > 0 && args[0] == "--console")
{
RunConsole();
}
else
{
if (GlobalConfig.Settings.AppConfig.Environment != "dev")
{
GetInfoAsync();
}
// API Smarthome aufrufen
try
{
var smarthomeApi = new SmarthomeApi();
smarthomeApi.SendDeviceInfoAsync();
}
catch (Exception ex)
{
ErrorHandler.Handle(ex, ErrorSeverity.Warning);
}
RunForm();
}
}
catch (Exception ex)
{
ErrorHandler.Handle(ex, ErrorSeverity.Fatal);
}
}
private static void RunConsole()
{
GetInfoAsync();
using var shutdownSignal = new ManualResetEventSlim(false);
Console.WriteLine("Audio-Monitoring läuft. Mit Strg+C beenden.");
Console.CancelKeyPress += (_, eventArgs) =>
{
eventArgs.Cancel = true;
shutdownSignal.Set();
};
shutdownSignal.Wait();
}
private static void RunForm()
{
ApplicationConfiguration.Initialize();
Application.Run(new MainForm());
}
private static void WriteHeadline()
{
Console.ForegroundColor = ConsoleColor.Blue;
Console.WriteLine("==============================");
Console.WriteLine(" INFORMATIONEN! ");
Console.WriteLine("==============================");
Console.ResetColor();
}
private static void GetInfoAsync()
{
var dbController = new DatabaseController();
var gameInfo = new GameInfoController();
WriteHeadline();
Game.WriteGamesFromDatabase();
}
}