public PLConsole() { Resolver resolver = new Resolver(""); bllUsers = resolver.GetBLLUsers; bllAwards = resolver.GetBLLAwards; bllAwardsAssotiations = resolver.GetBLLAwardsAssotiations; // Эта секция добавлена для теста: if (!File.Exists("notfirstrun")) { bllUsers.AddUser("Вася", 38, new DateTime(1999, 12, 2)); bllUsers.AddUser("Коля", 28, new DateTime(1989, 5, 30)); bllAwards.AddAward("Награда за выслугу лет"); bllAwards.AddAward("Награда за ответственность"); File.Create("notfirstrun"); } ShowUserList(); }
private Award ShowAwards(bool selection = false) { // Меню отображения списка наград bool exit = false; int curposition = 0; List <string> menuItems; List <Award> items = bllAwards.GetAllAwards(); if (!selection) { menuItems = new List <string>() { "[ Добавить награду ]", "" }.Concat(items.Select(item => item.title)).ToList(); } else { menuItems = items.Select(item => item.title).ToList(); if (menuItems.Count == 0) { MessageScreen.CreateMessage(" Список наград пуст! ", errorMsg: true); exit = true; } } while (!exit) { int[] feedback; if (!selection) { feedback = NavigationMenu.CreateMenu(name, " Меню наград. Для перемотки используйте клавиши вниз и вверх", menuItems, true, curposition, 1); } else { feedback = NavigationMenu.CreateMenu(name, " Меню наград. Для перемотки используйте клавиши вниз и вверх", menuItems, false, curposition); } switch (feedback[0]) { case -1: exit = true; break; case 0: if (!selection) { if (bllAwards.RemoveAward(items[feedback[1] - 2])) { MessageScreen.CreateMessage(" Награда удалена успешно! ", $"Имя: {menuItems[feedback[1]]}", errorMsg: false); } else { MessageScreen.CreateMessage(" Не удалось удалить награду! ", $"Имя: {menuItems[feedback[1]]}"); } items.RemoveAt(feedback[1] - 2); menuItems.RemoveAt(feedback[1]); curposition = feedback[1] - 1; break; } curposition = feedback[1]; break; case 1: if (selection) { return(items[feedback[1]]); } if (feedback[1] == 0) { string awardName = draw.Form(new int[] { 2, 10 }, new string[] { "Введите назание награды (максимум 10 слов): ", "К вводу допускаютя только слова состоящие из букв!" }); Award award = bllAwards.AddAward(awardName); if (award != null) { items.Add(award); menuItems.Add(award.title); MessageScreen.CreateMessage(" Награда создана успешно! ", $"Награда: '{awardName}'", errorMsg: false); } else { MessageScreen.CreateMessage(" Не удалось создать награду! "); } curposition = 0; } else { curposition = feedback[1]; ShowAward(items[feedback[1] - 2]); } break; default: curposition = feedback[1]; break; } } return(null); }