コード例 #1
0
        public void ShowDetails(Project project)
        {
            if (project == null)
            {
                Console.WriteLine("The project is not existing");
                throw new ArgumentNullException();
            }

            //-------------------------------------------------------
            Console.Clear();
            Console.WriteLine($"ID: {project.ProjectID}");
            Console.WriteLine();
            Console.WriteLine($"Project name: {project.Name}");
            Console.WriteLine();
            Console.WriteLine($"Project description: {project.Description}");
            Console.WriteLine();
            Console.WriteLine($"Project start date: {project.StartDate}");
            Console.WriteLine();
            Console.WriteLine($"Project end date: {project.EndDate}");
            Console.WriteLine();

            Console.WriteLine("Employees for current project: ");
            Console.WriteLine();

            foreach (var emp in project.Employees)
            {
                Console.WriteLine($"{emp.FirstName} {emp.LastName}");
            }

            while (true)
            {
                var key = Console.ReadKey();

                switch (key.Key.ToString())
                {
                case "Escape":
                    var backCommand = new BackToProjectMenu(context);
                    backCommand.ReturnToBaseMenu();
                    break;
                }
            }
        }
コード例 #2
0
        public void ListAll(SoftUniEntities context)
        {
            int pageSize = 14;

            var projects = context.Projects.ToList();
            int page     = 0;
            int maxPages = (int)Math.Ceiling(projects.Count / (double)pageSize);
            int pointer  = 1;

            while (true)
            {
                Console.BackgroundColor = ConsoleColor.Black;
                Console.ForegroundColor = ConsoleColor.White;

                Console.Clear();
                Console.WriteLine($" ID | Project Name (Page {page + 1} of {maxPages})");
                Console.WriteLine("----+----------------------------");

                int current = 1;
                foreach (var proj in projects.Skip(pageSize * page).Take(pageSize))
                {
                    Console.BackgroundColor = ConsoleColor.Black;
                    Console.ForegroundColor = ConsoleColor.White;
                    if (current == pointer)
                    {
                        Console.BackgroundColor = ConsoleColor.White;
                        Console.ForegroundColor = ConsoleColor.Black;
                    }
                    Console.WriteLine($"{proj.ProjectID,4}| {proj.Name}");
                    current++;
                }

                var key = Console.ReadKey();

                switch (key.Key.ToString())
                {
                case "Enter":
                    //var currentProject = projects.Skip(pageSize * page + pointer - 1).First();
                    //ShowDetails(currentProject);
                    //Console.WriteLine("Enter pressed");
                    break;

                case "UpArrow":
                    if (pointer > 1)
                    {
                        pointer--;
                    }
                    else if (page > 0)
                    {
                        page--;
                        pointer = pageSize;
                    }
                    break;

                case "DownArrow":
                    if (pointer < pageSize)
                    {
                        pointer++;
                    }
                    else if (page + 1 <= maxPages)
                    {
                        page++;
                        pointer = 1;
                    }
                    break;

                case "Escape":
                    var backCommand = new BackToProjectMenu(context);
                    backCommand.ReturnToBaseMenu();
                    break;
                }
            }
        }