I have a key pressed function that reacts on D1 to D0 i guess.
and depending on what key i press, it jumps to the switch case.
Looks like this :
static void Main(string[] args)
{
const ConsoleKey showProductsKey = ConsoleKey.D1;
const ConsoleKey createProductKey = ConsoleKey.D2;
const ConsoleKey updateProductKey = ConsoleKey.D3;
const ConsoleKey deleteProductKey = ConsoleKey.D4;
const ConsoleKey showCategoriesKey = ConsoleKey.D5;
const ConsoleKey createCategoryKey = ConsoleKey.D6;
const ConsoleKey updateCategoryKey = ConsoleKey.D7;
const ConsoleKey deleteCategoryKey = ConsoleKey.D8;
while (true)
{
Console.WriteLine("Press 1 : Show Products");
Console.WriteLine("Press 2 : Create Product");
Console.WriteLine("Press 3 : Update Product");
Console.WriteLine("Press 4 : Delete Product\n");
Console.WriteLine("Press 5 : Show Categories");
Console.WriteLine("Press 6 : Create Category");
Console.WriteLine("Press 7 : Update Category");
Console.WriteLine("Press 8 : Delete Category\n\n");
ConsoleKey pressedKey = PressedKey();
switch (pressedKey)
{
//-------------------------- PRODUCTS -----------------------------------------//
case showProductsKey:
Database.ShowProducts();
Console.WriteLine("\n");
break;
case createProductKey:
Console.Write("Indtast Produktnavn: ");
string createproductname = Console.ReadLine();
Console.Write("Hvor mange er der på lager?: ");
int createproductstock = int.Parse(Console.ReadLine());
Console.Write("Hvilken kategori ID hører produktet til?: ");
int createproductcategoryid = int.Parse(Console.ReadLine());
Console.Write("Hvilket medarbejder ID har oprettet produktet?: ");
int createproductemployeeid = int.Parse(Console.ReadLine());
try
{
Database.CreateProduct(createproductname, createproductstock, createproductcategoryid, createproductemployeeid);
Console.WriteLine("\n" + createproductname + " Oprettet med success!\n\n");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
break;
case updateProductKey:
Console.Write("Hvilket produkt ID vil du redigere?: ");
string updateproductid = Console.ReadLine();
Console.Write("Indtast nyt Produktnavn: ");
string updateproductname = Console.ReadLine();
Console.Write("Hvor mange er der på lager?: ");
int updateproductstock = int.Parse(Console.ReadLine());
Console.Write("Hvilken kategori ID hører produktet til?: ");
int updateproductcategoryid = int.Parse(Console.ReadLine());
Console.Write("Hvilket medarbejder ID har rettet produktet?: ");
int updateproductemployeeid = int.Parse(Console.ReadLine());
try
{
Database.UpdateProduct(updateproductname, updateproductstock, updateproductcategoryid, updateproductemployeeid, updateproductid);
Console.WriteLine("\n" + updateproductname + " Opdateret med success!\n\n");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
break;
case deleteProductKey:
Console.Write("Hvilket produkt ID vil du slette?: ");
string deleteproduct = Console.ReadLine();
Database.DeleteProduct(deleteproduct);
Console.WriteLine("\n" + "ID: " + deleteproduct + " Slettet med success!\n\n");
break;
//-------------------------- CATEGORIES -----------------------------------------//
case showCategoriesKey:
Database.ShowCategories();
Console.WriteLine("\n");
break;
case createCategoryKey:
Console.Write("Indtast kategorinavn: ");
string createcategoryname = Console.ReadLine();
try
{
Database.CreateCategory(createcategoryname);
Console.WriteLine("\n" + createcategoryname + " Oprettet med success!\n\n");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
break;
case updateCategoryKey:
Console.Write("Hvilket produkt ID vil du redigere?: ");
string updatecategoryid = Console.ReadLine();
Console.Write("Indtast nyt kategorinavn: ");
string updatecategoryname = Console.ReadLine();
try
{
Database.UpdateCategory(updatecategoryname, updatecategoryid);
Console.WriteLine("\n" + updatecategoryname + " Opdateret med success!\n\n");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
break;
case deleteCategoryKey:
Console.Write("Hvilket kategori ID vil du slette?: ");
string deletecategory = Console.ReadLine();
Database.DeleteCategory(deletecategory);
Console.WriteLine("\n" + "ID: " + deletecategory + " Slettet med success!\n\n");
break;
}
}
ConsoleKey PressedKey()
{
do
{
while (!Console.KeyAvailable);
ConsoleKey pressed = Console.ReadKey(true).Key;
if (pressed == showProductsKey || pressed == createProductKey || pressed == updateProductKey || pressed == deleteProductKey ||
pressed == showCategoriesKey || pressed == createCategoryKey || pressed == updateCategoryKey || pressed == deleteCategoryKey)
return pressed;
Console.Clear();
} while (true);
}
}
But i am gonna need much more funktions in this program, is there a way to split them up? i was thinking if i want to go to products, click D1. and then i get the menu showing
const ConsoleKey showProductsKey = ConsoleKey.D1;
const ConsoleKey createProductKey = ConsoleKey.D2;
const ConsoleKey updateProductKey = ConsoleKey.D3;
const ConsoleKey deleteProductKey = ConsoleKey.D4;
i have tried to make an if saying if ConsoleKey.D1 == true and much others.. i am not sure what would be the correct / smartest way.
But in my mind, i had figured i would like 1 menu, saying press 1 for products menu press 2 for categories menu press 3 for employees menu ect..
and when clicking one of them : press 1 to list products press 2 to create product press 3 to edit product press 4 to delete product
something like that would be pretty swell? i am amateur programmer trying to learn C# by making some kind of a warehouse console app.