Started implementing ConsoleMenu
This commit is contained in:
@@ -1,36 +1,15 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Runtime.Serialization;
|
||||||
|
using ConsoleTools;
|
||||||
using WD7UVN_HFT_2023241.Models;
|
using WD7UVN_HFT_2023241.Models;
|
||||||
|
|
||||||
namespace WD7UVN_HFT_2023241.Client
|
namespace WD7UVN_HFT_2023241.Client
|
||||||
{
|
{
|
||||||
public class NonCRUD
|
public class NonCRUD
|
||||||
{
|
{
|
||||||
|
private static void RESTWhoMaintainsService(int id)
|
||||||
public static void WhoMaintainsService()
|
|
||||||
{
|
{
|
||||||
foreach (Service s in RestService.Get<Service>("/api/Service"))
|
|
||||||
{
|
|
||||||
Console.WriteLine("Service: " + s.NAME);
|
|
||||||
Console.WriteLine("ID: " + s.ID);
|
|
||||||
}
|
|
||||||
|
|
||||||
int id = 1;
|
|
||||||
bool flag = true;
|
|
||||||
while (flag)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
Console.Write("Your choice: ");
|
|
||||||
id = Convert.ToInt32(Console.ReadLine());
|
|
||||||
flag = false;
|
|
||||||
}
|
|
||||||
catch (FormatException)
|
|
||||||
{
|
|
||||||
Console.WriteLine("You must enter a number");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
IQueryable<Employee> res = RestService.WhoMaintainsService(id);
|
IQueryable<Employee> res = RestService.WhoMaintainsService(id);
|
||||||
if (res.Count() != 0)
|
if (res.Count() != 0)
|
||||||
{
|
{
|
||||||
@@ -45,7 +24,16 @@ namespace WD7UVN_HFT_2023241.Client
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Console.WriteLine("No such database entry was found :/");
|
Console.WriteLine("ERROR: No such database entry was found :/");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void WhoMaintainsService()
|
||||||
|
{
|
||||||
|
var servicesMenu = new ConsoleMenu();
|
||||||
|
foreach (Service s in RestService.Get<Service>("/api/Service"))
|
||||||
|
{
|
||||||
|
servicesMenu.Add($"{s.NAME}: {s.ID}", () => RESTWhoMaintainsService(s.ID));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,175 +1,83 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using ConsoleTools;
|
||||||
|
|
||||||
namespace WD7UVN_HFT_2023241.Client
|
namespace WD7UVN_HFT_2023241.Client
|
||||||
{
|
{
|
||||||
class Program
|
public class Program
|
||||||
{
|
{
|
||||||
static bool FLAG = true;
|
private static async Task Main(string[] args)
|
||||||
static RestService rest = new RestService();
|
{
|
||||||
|
var commonConfig = new MenuConfig
|
||||||
|
{
|
||||||
|
Selector = "--> ",
|
||||||
|
EnableFilter = true,
|
||||||
|
EnableBreadcrumb = true,
|
||||||
|
WriteBreadcrumbAction = titles => Console.WriteLine(string.Join(" / ", titles)),
|
||||||
|
};
|
||||||
|
|
||||||
|
var nonCrudMenu = new ConsoleMenu(args, level: 2)
|
||||||
|
.Add("Who maintains specified service?", () => NonCRUD.WhoMaintainsService())
|
||||||
|
.Add("Get employee's subordinates", ConsoleMenu.Close)
|
||||||
|
.Add("Get clients of specified service", ConsoleMenu.Close)
|
||||||
|
.Add("Get employees in specified maintainer team", ConsoleMenu.Close)
|
||||||
|
.Add("Get employee responsible for specified service", ConsoleMenu.Close)
|
||||||
|
.Add("Sub_Exit", () => Environment.Exit(0))
|
||||||
|
.Configure(commonConfig)
|
||||||
|
.Configure(config =>
|
||||||
|
{
|
||||||
|
config.Title = "Submenu1";
|
||||||
|
});
|
||||||
|
|
||||||
|
var crudMenu = new ConsoleMenu(args, level: 1)
|
||||||
|
.Add("Sub_One", () => SomeAction("Sub_One"))
|
||||||
|
.Add("Sub_Five", async (cancellationToken) => await SomeAction2(cancellationToken))
|
||||||
|
.Add("Get all", ConsoleMenu.Close)
|
||||||
|
.Add("Get by id", ConsoleMenu.Close)
|
||||||
|
.Add("Create", ConsoleMenu.Close)
|
||||||
|
.Add("Update", ConsoleMenu.Close)
|
||||||
|
.Add("Delete", ConsoleMenu.Close)
|
||||||
|
.Add("Sub_Close", ConsoleMenu.Close)
|
||||||
|
.Add("Sub_Exit", () => Environment.Exit(0))
|
||||||
|
.Configure(commonConfig)
|
||||||
|
.Configure(config =>
|
||||||
|
{
|
||||||
|
config.Title = "Tables";
|
||||||
|
});
|
||||||
|
|
||||||
|
var menu = new ConsoleMenu(args, level: 0)
|
||||||
|
.Add("One", () => SomeAction("One"))
|
||||||
|
.Add("CRUD", crudMenu.Show)
|
||||||
|
.Add("Non-CRUD", nonCrudMenu.Show)
|
||||||
|
.Add("Close", ConsoleMenu.Close)
|
||||||
|
.Add("Exit", () => Environment.Exit(0))
|
||||||
|
.Configure(commonConfig)
|
||||||
|
.Configure(config =>
|
||||||
|
{
|
||||||
|
config.Title = "Main menu";
|
||||||
|
config.EnableWriteTitle = true;
|
||||||
|
config.EnableBreadcrumb = true;
|
||||||
|
});
|
||||||
|
|
||||||
|
var token = new CancellationTokenSource(7000).Token;
|
||||||
|
await menu.ShowAsync(token);
|
||||||
|
}
|
||||||
|
|
||||||
static void Main(string[] args)
|
private static void SomeAction(string text)
|
||||||
{
|
{
|
||||||
rest = new RestService();
|
Console.WriteLine(text);
|
||||||
ActionMenuHandler();
|
Console.WriteLine("Press any key to continue...");
|
||||||
}
|
Console.ReadKey();
|
||||||
|
}
|
||||||
static void ActionMenuHandler()
|
|
||||||
{
|
private static async Task SomeAction2(CancellationToken token)
|
||||||
while (FLAG)
|
{
|
||||||
{
|
Console.WriteLine("start delay...");
|
||||||
int choice = ActionMenu();
|
await Task.Delay(2000, token);
|
||||||
if (choice == 6)
|
Console.WriteLine("end delay");
|
||||||
{
|
Console.WriteLine("Press any key to continue...");
|
||||||
NonCRUDMenuHandler();
|
Console.ReadKey();
|
||||||
}
|
}
|
||||||
else if (choice == 0)
|
}
|
||||||
{
|
|
||||||
FLAG = false;
|
|
||||||
}
|
|
||||||
else if (1 <= choice && choice <= 5)
|
|
||||||
{
|
|
||||||
switch (TypeSelectorMenu())
|
|
||||||
{
|
|
||||||
case 1:
|
|
||||||
if (choice == 1) { Read.Employee(); }
|
|
||||||
else if (choice == 2) { ReadAll.Employee(); }
|
|
||||||
else if (choice == 3) { Create.Employee(); }
|
|
||||||
else if (choice == 4) { Update.Employee(); }
|
|
||||||
else if (choice == 5) { Delete.Employee(); }
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
if (choice == 1) { Read.Customer(); }
|
|
||||||
else if (choice == 2) { ReadAll.Customer(); }
|
|
||||||
else if (choice == 3) { Create.Customer(); }
|
|
||||||
else if (choice == 4) { Update.Customer(); }
|
|
||||||
else if (choice == 5) { Delete.Customer(); }
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
if (choice == 1) { Read.Service(); }
|
|
||||||
else if (choice == 2) { ReadAll.Service(); }
|
|
||||||
else if (choice == 3) { Create.Service(); }
|
|
||||||
else if (choice == 4) { Update.Service(); }
|
|
||||||
else if (choice == 5) { Delete.Service(); }
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
if (choice == 1) { Read.MaintainerTeam(); }
|
|
||||||
else if (choice == 2) { ReadAll.MaintainerTeam(); }
|
|
||||||
else if (choice == 3) { Create.MaintainerTeam(); }
|
|
||||||
else if (choice == 4) { Update.MaintainerTeam(); }
|
|
||||||
else if (choice == 5) { Delete.MaintainerTeam(); }
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static int TypeSelectorMenu()
|
|
||||||
{
|
|
||||||
Console.WriteLine("1.) Employee");
|
|
||||||
Console.WriteLine("2.) Customer");
|
|
||||||
Console.WriteLine("3.) Service");
|
|
||||||
Console.WriteLine("4.) MaintainerTeam");
|
|
||||||
|
|
||||||
while (true)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
Console.Write("Your choice: ");
|
|
||||||
return Convert.ToInt32(Console.ReadLine());
|
|
||||||
}
|
|
||||||
catch (FormatException)
|
|
||||||
{
|
|
||||||
Console.WriteLine("You must enter a number");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
static int ReadMenuHandler()
|
|
||||||
{
|
|
||||||
Console.WriteLine("1.) ");
|
|
||||||
|
|
||||||
while (true)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
Console.Write("Your choice: ");
|
|
||||||
return Convert.ToInt32(Console.ReadLine());
|
|
||||||
}
|
|
||||||
catch (FormatException)
|
|
||||||
{
|
|
||||||
Console.WriteLine("You must enter a number");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void NonCRUDMenuHandler()
|
|
||||||
{
|
|
||||||
switch (NonCRUDMenu())
|
|
||||||
{
|
|
||||||
case 1:
|
|
||||||
NonCRUD.WhoWorksInMaintainerTeam();
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
NonCRUD.GetSubordinates();
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
NonCRUD.WhoUsesService();
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
NonCRUD.WhoIsResponsibleForService();
|
|
||||||
break;
|
|
||||||
case 5:
|
|
||||||
NonCRUD.WhoMaintainsService();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static int NonCRUDMenu()
|
|
||||||
{
|
|
||||||
Console.WriteLine("1.) Who works in specified maintainer team?");
|
|
||||||
Console.WriteLine("2.) Get manager's subordinates");
|
|
||||||
Console.WriteLine("3.) Which client(s) use(s) specified service?");
|
|
||||||
Console.WriteLine("4.) Who (which manager) is responsible for a specified service?");
|
|
||||||
Console.WriteLine("5.) Get all employees who maintain a specified service");
|
|
||||||
|
|
||||||
while (true)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
Console.Write("Your choice: ");
|
|
||||||
return Convert.ToInt32(Console.ReadLine());
|
|
||||||
}
|
|
||||||
catch (FormatException)
|
|
||||||
{
|
|
||||||
Console.WriteLine("You must enter a number");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static int ActionMenu()
|
|
||||||
{
|
|
||||||
Console.WriteLine("1.) Read");
|
|
||||||
Console.WriteLine("2.) ReadAll");
|
|
||||||
Console.WriteLine("3.) Create");
|
|
||||||
Console.WriteLine("4.) Update");
|
|
||||||
Console.WriteLine("5.) Delete");
|
|
||||||
Console.WriteLine("6.) Non-CRUD");
|
|
||||||
Console.WriteLine("0.) Exit");
|
|
||||||
|
|
||||||
while (true)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
Console.Write("Your choice: ");
|
|
||||||
return Convert.ToInt32(Console.ReadLine());
|
|
||||||
}
|
|
||||||
catch (FormatException)
|
|
||||||
{
|
|
||||||
Console.WriteLine("You must enter a number");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user