コード例 #1
0
        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();
        }
コード例 #2
0
        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);
        }