Esempio n. 1
0
            public static void ShowBooks()
            {
                Menu <Book> takedBooksMenu = new Menu <Book>(takedBooks)
                {
                    Info            = "Мои книги:",
                    ItemInstruction = (item) =>
                    {
                        return(item.Author + ", \"" + item.Name + "\" (" + item.Year + ")");
                    },
                    Empty = "Вы не брали книг"
                };

                takedBooksMenu.KeyInstructions += (key) =>
                {
                    if (key == ConsoleKey.Enter)
                    {
                        takedBooksMenu.DeleteSelectedItem();
                        if (takedBooks.Count != 0)
                        {
                            Library.MakeBookAvailable(takedBooks[takedBooksMenu.SelectedItem]);
                        }
                    }
                };
                takedBooksMenu.Help += String.Join("\n",
                                                   "Enter - вернуть книгу",
                                                   "Backspace - назад");
                takedBooksMenu.Use();
            }
Esempio n. 2
0
            static void EditBook(Book book)
            {
                List <string> editBookMenuItems = new List <string>()
                {
                    "Изменить автора",
                    "Изменить название",
                    "Изменить год",
                };
                Menu <string> editBookMenu = new Menu <string>(editBookMenuItems)
                {
                    Info            = "Редактировать книгу: \n\n " + book.Author + ", \"" + book.Name + "\" (" + book.Year + ")",
                    ItemInstruction = (item) =>
                    {
                        return(item);
                    },
                };

                editBookMenu.KeyInstructions += (key) =>
                {
                    if (key == ConsoleKey.Enter)
                    {
                        if (editBookMenu.SelectedItem == 0)
                        {
                            Console.Clear();
                            Console.WriteLine("Введите автора:");
                            string author = Console.ReadLine();
                            book.Author           = author;
                            editBookMenu.IsClosed = true;
                        }
                        if (editBookMenu.SelectedItem == 1)
                        {
                            Console.Clear();
                            Console.WriteLine("Введите название:");
                            string name = Console.ReadLine();
                            book.Name             = name;
                            editBookMenu.IsClosed = true;
                        }
                        if (editBookMenu.SelectedItem == 2)
                        {
                            Console.Clear();
                            Console.WriteLine("Введите год:");
                            string year = Console.ReadLine();
                            book.Year             = year;
                            editBookMenu.IsClosed = true;
                        }
                    }
                };
                editBookMenu.Help += String.Join("\n",
                                                 "Enter - выбор",
                                                 "Backspace - назад");
                editBookMenu.Use();
            }
Esempio n. 3
0
            static void EditUser(User user)
            {
                List <string> editUserMenuItems = new List <string>()
                {
                    "Изменить имя",
                    "Изменить логин",
                    "Изменить пароль",
                };
                Menu <string> editBookMenu = new Menu <string>(editUserMenuItems)
                {
                    Info            = "Редактировать пользователя: \n\n " + user.Name + " (" + user.Login + ":" + user.Password + ")",
                    ItemInstruction = (item) =>
                    {
                        return(item);
                    },
                };

                editBookMenu.KeyInstructions += (key) =>
                {
                    if (key == ConsoleKey.Enter)
                    {
                        if (editBookMenu.SelectedItem == 0)
                        {
                            Console.Clear();
                            Console.WriteLine("Введите имя:");
                            string name = Console.ReadLine();
                            user.Name             = name;
                            editBookMenu.IsClosed = true;
                        }
                        if (editBookMenu.SelectedItem == 1)
                        {
                            Console.Clear();
                            Console.WriteLine("Введите логин:");
                            string login = Console.ReadLine();
                            user.Login            = login;
                            editBookMenu.IsClosed = true;
                        }
                        if (editBookMenu.SelectedItem == 2)
                        {
                            Console.Clear();
                            Console.WriteLine("Введите пароль:");
                            string password = Console.ReadLine();
                            user.Password         = password;
                            editBookMenu.IsClosed = true;
                        }
                    }
                };
                editBookMenu.Help += String.Join("\n",
                                                 "Enter - выбор",
                                                 "Backspace - назад");
                editBookMenu.Use();
            }
Esempio n. 4
0
            public static void ShowUsers()
            {
                Menu <User> usersMenu = new Menu <User>(users)
                {
                    Info            = "Пользователи:",
                    Empty           = "Пользователей нет",
                    ItemInstruction = (item) =>
                    {
                        if (item.GetType() == typeof(Admin))
                        {
                            Console.ForegroundColor = ConsoleColor.White;
                        }
                        else
                        {
                            Console.ForegroundColor = ConsoleColor.DarkGray;
                        }
                        return(item.Name + " (" + item.Login + ":" + item.Password + ")");
                    },
                    ColorInfo = new Tuple <ConsoleColor, string>[]
                    {
                        new Tuple <ConsoleColor, string>(ConsoleColor.White, "администратор"),
                        new Tuple <ConsoleColor, string>(ConsoleColor.DarkGray, "пользователь")
                    },
                    AddItemInstruction = AddUser
                };

                usersMenu.KeyInstructions += (key) =>
                {
                    if (key == ConsoleKey.Enter)
                    {
                        EditUser(users[usersMenu.SelectedItem]);
                    }
                    if (key == ConsoleKey.Tab)
                    {
                        usersMenu.AddItem();
                    }
                    if (key == ConsoleKey.Delete)
                    {
                        usersMenu.DeleteSelectedItem();
                    }
                };
                usersMenu.Help += String.Join("\n",
                                              "Enter - редактировать",
                                              "Tab - добавить",
                                              "Delete - удалить",
                                              "Backspace - назад");
                usersMenu.Use();
            }
Esempio n. 5
0
            public static void ShowBooks()
            {
                Menu <Book> booksMenu = new Menu <Book>(books)
                {
                    Info            = "Библиотека:",
                    Empty           = "В библиотеке нет книг",
                    ItemInstruction = (item) =>
                    {
                        if (item.IsAvailable)
                        {
                            Console.ForegroundColor = ConsoleColor.Green;
                        }
                        else
                        {
                            Console.ForegroundColor = ConsoleColor.Red;
                        }
                        return(item.Author + ", \"" + item.Name + "\" (" + item.Year + ")");
                    },
                    ColorInfo = new Tuple <ConsoleColor, string>[]
                    {
                        new Tuple <ConsoleColor, string>(ConsoleColor.Green, "доступные книги"),
                        new Tuple <ConsoleColor, string>(ConsoleColor.Red, "недоступные книги")
                    },
                    AddItemInstruction = AddBook
                };

                if (currentUser.GetType() == typeof(Admin))
                {
                    booksMenu.KeyInstructions += (key) =>
                    {
                        if (key == ConsoleKey.Enter)
                        {
                            if (books.Count != 0)
                            {
                                EditBook(books[booksMenu.SelectedItem]);
                            }
                        }
                        if (key == ConsoleKey.Tab)
                        {
                            booksMenu.AddItem();
                        }
                        if (key == ConsoleKey.Delete)
                        {
                            booksMenu.DeleteSelectedItem();
                        }
                    };
                    booksMenu.Help += String.Join("\n",
                                                  "Enter - редактировать",
                                                  "Tab - добавить",
                                                  "Delete - удалить",
                                                  "Backspace - назад");
                }
                else if (currentUser.GetType() == typeof(User))
                {
                    booksMenu.KeyInstructions += (key) =>
                    {
                        if (key == ConsoleKey.Enter)
                        {
                            currentUser.TakeBook(books[booksMenu.SelectedItem]);
                            books[booksMenu.SelectedItem].IsAvailable = false;
                        }
                    };
                    booksMenu.Help += String.Join("\n",
                                                  "Enter - взять книгу",
                                                  "Backspace - назад");
                }
                booksMenu.Use();
            }
Esempio n. 6
0
        static void Main(string[] args)
        {
            Console.SetBufferSize(Console.WindowWidth, Console.WindowHeight);
            users = new List <User>
            {
                new Admin("admin", "123", "Администратор"),
                new User("user", "123", "Пользователь"),
            };

            while (true)
            {
                Authentication.IsLogged = false;
                while (currentUser == null)
                {
                    currentUser = Authentication.Login();
                }
                Authentication.IsLogged = true;

                List <string> menuItems = new List <string>();
                if (currentUser.GetType() == typeof(User))
                {
                    menuItems.Add("Книги");
                    menuItems.Add("Мои книги");
                }
                else if (currentUser.GetType() == typeof(Admin))
                {
                    menuItems.Add("Книги");
                    menuItems.Add("Пользователи");
                }
                menuItems.Add("Выйти из аккаунта");
                menuItems.Add("Закрыть");

                Menu <string> menu = new Menu <string>(menuItems)
                {
                    Info            = "Здравствуйте, вы вошли как: " + currentUser.Name,
                    ItemInstruction = (item) =>
                    {
                        return(item);
                    },
                };
                menu.KeyInstructions = (key) =>
                {
                    if (key == ConsoleKey.UpArrow)
                    {
                        menu.SelectedItem--;
                    }
                    if (key == ConsoleKey.DownArrow)
                    {
                        menu.SelectedItem++;
                    }
                };
                if (currentUser.GetType() == typeof(User))
                {
                    menu.KeyInstructions += (key) =>
                    {
                        if (key == ConsoleKey.Enter)
                        {
                            if (menu.SelectedItem == 0)
                            {
                                Library.ShowBooks();
                            }
                            if (menu.SelectedItem == 1)
                            {
                                User.ShowBooks();
                            }
                            if (menu.SelectedItem == 2)
                            {
                                menu.IsClosed = true;
                                Authentication.Logout();
                            }
                            if (menu.SelectedItem == 3)
                            {
                                Environment.Exit(0);
                            }
                        }
                    }
                }
                ;
                else if (currentUser.GetType() == typeof(Admin))
                {
                    menu.KeyInstructions += (key) =>
                    {
                        if (key == ConsoleKey.Enter)
                        {
                            if (menu.SelectedItem == 0)
                            {
                                Library.ShowBooks();
                            }
                            if (menu.SelectedItem == 1)
                            {
                                Admin.ShowUsers();
                            }
                            if (menu.SelectedItem == 2)
                            {
                                menu.IsClosed = true;
                                Authentication.Logout();
                            }
                            if (menu.SelectedItem == 3)
                            {
                                Environment.Exit(0);
                            }
                        }
                    }
                }
                ;
                menu.Help += "Enter - выбор";
                while (Authentication.IsLogged)
                {
                    menu.Use();
                }
            }
        }