-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathProgram.cs
More file actions
37 lines (31 loc) · 989 Bytes
/
Program.cs
File metadata and controls
37 lines (31 loc) · 989 Bytes
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
using Spectre.Console;
using DatabaseChallenge.Enums;
using DatabaseChallenge.Services;
bool keepRunning = true;
Navigation.StartScreen();
while (keepRunning)
{
string userInput = Navigation.Option();
ProcessInput(userInput);
}
void ProcessInput(string userInput)
{
if (userInput is "exit")
{
keepRunning = Navigation.ExitYesNo();
return;
}
Action action = userInput switch
{
"load" => DatabaseFunctions.Load,
"ids" => DatabaseFunctions.ViewIDs,
"view names" => () => DatabaseFunctions.ViewFile(ViewOrder.Names),
"view roles" => () => DatabaseFunctions.ViewFile(ViewOrder.Roles),
"page" => Communication.PageMedicalStaff,
"add" => DatabaseFunctions.AddEmployee,
"remove" => DatabaseFunctions.RemoveEmployee,
"clear" => Navigation.ClearScreen,
_ => throw new ArgumentException($"Unknown command: {userInput}, please create a support ticket")
};
action();
}