示例#1
0
        public static void AddTask()
        {
            //ConsoleClr consoleClr = new ConsoleClr();

            Console.WriteLine("Wpisz zdarzenie według jednego z poniższych schematów:");
            Console.WriteLine("- opis; data rozpoczęcia (YYYY-MM-DD-hh-mm-ss); data zakończenia (YYYY-MM-DD); [ważność - opcjonalnie] ");
            Console.WriteLine("- opis; data rozpoczęcia (YYYY-MM-DD-hh-mm-ss); [ważność - opcjonalnie] - zdarzenie całodniowe");

            string text = Console.ReadLine();

            string[] temp = text.Split(';');

            if (temp.Length < 2 || temp.Length > 4)
            {
                consoleClr.WriteLine("Niepoprawny format wpisanego zdarzenia.", ConsoleColor.Red);
                return;
            }

            Task tempTask = new Task
            {
                //Dodanie opisu
                Description = temp[0]
            };

            //Dodanie daty rozpoczęcia
            if (DateHelper.CheckDate(temp[1]) == false)
            {
                consoleClr.WriteLine("Niepoprawny format daty rozpoczęcia zdarzenia.", ConsoleColor.Red);
                return;
            }
            tempTask.StartTime = DateHelper.StringToDate(temp[1]);

            if (temp.Length == 2)
            {
                tempTask.EndTime     = null;
                tempTask.IsDaily     = true;
                tempTask.IsImportant = false;

                tasksList.Add(tempTask);
                CommentsSuccess("Dodanie");
                return;
            }

            //Sprawdzenie czy całodniowe
            if (temp.Length == 3)
            {
                if (DateHelper.CheckDate(temp[2]) == false)
                {
                    if (temp[2].Contains("-") == true)
                    {
                        consoleClr.WriteLine("Niepoprawny format daty zakończenia zdarzenia.", ConsoleColor.Red);
                        return;
                    }
                    else
                    {
                        tempTask.EndTime     = null;
                        tempTask.IsDaily     = true;
                        tempTask.IsImportant = true;

                        tasksList.Add(tempTask);
                        CommentsSuccess("Dodanie");
                        return;
                    }
                }
            }

            tempTask.EndTime = DateHelper.StringToDate(temp[2]);
            tempTask.IsDaily = false;
            if (temp.Length == 4)
            {
                tempTask.IsImportant = true;
            }

            tasksList.Add(tempTask);
            CommentsSuccess("Dodanie");
            return;
        }
        static void Main(string[] args)
        {
            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
            Console.InputEncoding  = Encoding.GetEncoding(852);
            Console.OutputEncoding = Encoding.UTF8;

            Console.WriteLine("!!!Witamy w programie \"Task\"!!!");
            ConsoleClr consoleClr = new ConsoleClr();

            Commands.Load();

            bool keepOnLooping = true;

            do
            {
                consoleClr.WriteLine("Wpisz polecenie (z listy poniżej):", ConsoleColor.Blue);
                Console.WriteLine("AddTasks / a - Dodanie zdarzenia do listy");
                Console.WriteLine("ShowTasks - Wyświetlenie zdarzeń z listy");
                Console.WriteLine("RemoveTasks - Usunięcie zdarzenia do listy");
                Console.WriteLine("Save / s  - Zapisanie listy");
                Console.WriteLine("Load / l - Załadowanie zapisanej listy");
                Console.WriteLine("exit - Wyjście z programu");

                string command = Console.ReadLine();

                switch (command)
                {
                case "exit":
                    keepOnLooping = false;
                    break;

                case "AddTasks":
                case "a":
                    Commands.AddTask();
                    break;

                case "ShowTasks":
                    Commands.ShowTasks();
                    break;

                case "RemoveTasks":
                    Commands.RemoveTasks();
                    break;

                case "Save":
                case "s":
                    Commands.Save();
                    break;

                case "Load":
                case "l":
                    Commands.Load();
                    break;

                default:
                    consoleClr.WriteLine("Nie ma takiego polecenia.", ConsoleColor.Red);
                    break;
                }
            } while (keepOnLooping);

            consoleClr.WriteLine("Dziękujemy za skorzystanie z naszego programu \"Task\".", ConsoleColor.Yellow);
            Console.ReadKey();
        }