Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public delegate void MView(List<Menu> list);
- public delegate void View();
- public struct Menu
- {
- public string description;
- public List<Menu> deeper;
- public Delegate next;
- public Menu(string description, List<Menu> deeper, Delegate next)
- {
- this.description = description;
- this.deeper = deeper;
- this.next = next;
- }
- }
- static public class UI
- {
- static public void Init()
- {
- Views.Add(new Menu("Sprzedaż produktów", new List<Menu>(), new View(SaleListing)));
- Views.Add(new Menu("Zarzšdzaj użytkownikami", new List<Menu>(), new MView(NewMainView)));
- Views[1].deeper.Add(new Menu("Dodaj użytkownika", new List<Menu>(), new View(UserAdd)));
- Views[1].deeper.Add(new Menu("Skasuj użytkownika", new List<Menu>(), new View(UserDel)));
- Views[1].deeper.Add(new Menu("Modyfikuj użytkownika", new List<Menu>(), new View(UserMod)));
- //Views[0].deeper.Add(new Menu("Wypisz użytkowników", new List<Menu>(), new View()));
- //Views[1].deeper.Add(new Menu("Zmień swoje hasło", new List<Menu>(), new View()));
- Views.Add(new Menu("Zarzšdzaj magazynem", new List<Menu>(), new MView(NewMainView)));
- Views[2].deeper.Add(new Menu("Dodaj artykuł do bazy", new List<Menu>(), new View(ProductAdd)));
- Views[2].deeper.Add(new Menu("Modyfikuj Artykuł", new List<Menu>(), new View(ProductMod)));
- Views[2].deeper.Add(new Menu("Skasuj Artykuł", new List<Menu>(), new View(ProductDel)));
- Views[2].deeper.Add(new Menu("Zmień stan magazynowy", new List<Menu>(), new View(ProductChangeAmount)));
- }
- static public List<Menu> Views = new List<Menu>();
- static public void NewMainView(List<Menu> list)
- {
- int padding = 0;
- Console.WriteLine(String.Format("Witaj {0} {1}", Statics.LoggedUser.Name, Statics.LoggedUser.Surname));
- Console.Title = "Menu główne";
- while (true)
- {
- Console.Clear();
- Console.WriteLine("[0] Poziom w górę");
- for (int i = 0; i < (list.Count -padding) && i < 8; i++)
- {
- Console.WriteLine("[{1}] {0}", list[i+ padding].description, i+1);
- }
- if(padding + 8 < list.Count)
- Console.WriteLine("[9] Więcej");
- int digit = GetDigit(list.Count);
- if (digit == 0)
- if (padding == 0)
- break;
- else
- padding -= 8;
- else if (digit == 9 && padding + 8 < list.Count)
- padding += 8;
- else
- if (list[digit + padding - 1].deeper.Count != 0)
- {
- string temp =Console.Title;
- Console.Title = list[digit + padding - 1].description;
- list[digit + padding - 1].next.DynamicInvoke(list[digit + padding - 1].deeper);
- Console.Title = temp;
- }
- else if (list[digit + padding - 1].next != null)
- {
- string temp = Console.Title;
- Console.Title = list[digit + padding - 1].description;
- list[digit + padding - 1].next.DynamicInvoke();
- Console.Title = temp;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement