Example #1
0
        /// <summary>
        /// Изменить диапазон дней.
        /// </summary>
        /// <param name="numberOfPairsPerDay">На какой изменить.</param>
        /// <param name="dateBegin">Дата начала диапазона.</param>
        /// <param name="dateEnd">Дата окончания диапазона.</param>
        public void AddDayMany(HowDays numberOfPairsPerDay, DateTime dateBegin, DateTime dateEnd)
        {
            int beginInd = Array.FindIndex(DaysOfStudies, d => d.Date.Date == dateBegin.Date);
            int endInd   = Array.FindIndex(DaysOfStudies, d => d.Date.Date == dateEnd.Date);

            for (int i = beginInd; i <= endInd; i++)
            {
                DaysOfStudies[i].Study = numberOfPairsPerDay;
            }
        }
Example #2
0
 /// <summary>
 /// У указанного дня недели устанавливает тип дня.
 /// </summary>
 /// <param name="dayOfWeek">День недели.</param>
 /// <param name="numberOfPairsPerDay">Тип дня(выходной, учебный..)</param>
 public void AddDayWeek(DayOfWeek dayOfWeek, HowDays numberOfPairsPerDay)
 {
     for (int i = 0; i < DaysOfStudies.Length; i++)
     {
         if (DaysOfStudies[i].Date.DayOfWeek == dayOfWeek)
         {
             DaysOfStudies[i].Study = numberOfPairsPerDay;
             i += 6;
         }
     }
 }
Example #3
0
        /// <summary>
        /// Изменить один день Консоль.
        /// </summary>
        /// <param name="numberOfPairsPerDay">На какой изменить.</param>
        private void AddDayOneConsole(HowDays numberOfPairsPerDay)
        {
            char characterInput;

            do
            {
                DateTime date = DateValidationCheckConsole("Введите дату между", BeginSemestr, EndSemestr);
                AddDayOne(numberOfPairsPerDay, date);
                Console.WriteLine($"Введите 'y' если хотите добавить еще один день.");
                characterInput = Console.ReadKey(true).KeyChar;
            } while (characterInput == 'y');
        }
Example #4
0
        /// <summary>
        /// Функция изменения типа дней.!!! Рефакторинг
        /// </summary>
        /// <param name="howDays">На какой день поменять.</param>
        private void AddDayConsole(HowDays howDays)
        {
            Console.WriteLine();
            string dayIs = "сокращенных дней";

            if (howDays == HowDays.WorkingDay)
            {
                dayIs = "рабочих дней";
            }
            if (howDays == HowDays.DayOff)
            {
                dayIs = "выходных дней";
            }
            List <KeyValuePair <char, string> > command = new List <KeyValuePair <char, string> >()
            {
                new KeyValuePair <char, string>('0', "выход"),
                new KeyValuePair <char, string>('1', "добавления одного"),
                new KeyValuePair <char, string>('2', "добавления диапазона"),
                new KeyValuePair <char, string>('3', "добавление дню недели")
            };

            Console.WriteLine($"Возможные команды для добавления {dayIs}.");
            Console.WriteLine("Введите:");
            foreach (var item in command)
            {
                Console.WriteLine($"'{item.Key}' - {item.Value}.");
            }
            char characterInput;

            do
            {
                characterInput = Console.ReadKey(true).KeyChar;
            } while (!command.Exists(x => x.Key == characterInput));

            Console.WriteLine($"Вы ввели '{command.Find(x => x.Key == characterInput).Key}' - {command.Find(x => x.Key == characterInput).Value}.");
            if (characterInput == command[0].Key)
            {
                return;
            }
            if (characterInput == command[1].Key)
            {
                AddDayOneConsole(howDays);
            }
            if (characterInput == command[2].Key)
            {
                AddDayManyConsole(howDays);
            }
            if (characterInput == command[3].Key)
            {
                AddDayWeekConsole(howDays);
            }
            AddDayConsole(howDays);
        }
Example #5
0
        /// <summary>
        /// Изменить Несколько дней Консоль.
        /// </summary>
        /// <param name="numberOfPairsPerDay">На какой изменить.</param>
        private void AddDayManyConsole(HowDays numberOfPairsPerDay)
        {
            char characterInput;

            do
            {
                DateTime dateBegin = DateValidationCheckConsole("Введите дату начала диапазона между", BeginSemestr, EndSemestr);
                DateTime dateEnd   = DateValidationCheckConsole("Введите дату окончания диапазона между", dateBegin, EndSemestr);
                AddDayMany(numberOfPairsPerDay, dateBegin, dateEnd);
                Console.WriteLine($"Введите 'y' если хотите добавить еще один диапазон дней.");
                characterInput = Console.ReadKey(true).KeyChar;
            } while (characterInput == 'y');
        }
Example #6
0
        /// <summary>
        /// Изменить один день недели Консоль.
        /// </summary>
        /// <param name="numberOfPairsPerDay">На какой изменить.</param>
        private void AddDayWeekConsole(HowDays numberOfPairsPerDay)
        {
            var cultureDataFormat = DateTimeFormatInfo.CurrentInfo;

            cultureDataFormat.FirstDayOfWeek = DayOfWeek.Monday;
            List <KeyValuePair <int, string> > dayweek = new List <KeyValuePair <int, string> > ();

            for (var i = (int)cultureDataFormat.FirstDayOfWeek; i < (int)(7 + cultureDataFormat.FirstDayOfWeek); i++)
            {
                dayweek.Add(new KeyValuePair <int, string>(i % 7, cultureDataFormat.AbbreviatedDayNames[i % 7]));
            }
            char characterInput;

            do
            {
                characterInput = ' ';
                Console.WriteLine("Введите день недели из:");
                foreach (var item in dayweek)
                {
                    Console.Write($"{item.Value,4}");
                }
                string day = Console.ReadLine();
                int    ind = dayweek.FindIndex(x => x.Value == day);
                if (ind != -1)
                {
                    AddDayWeek((DayOfWeek)dayweek[ind].Key, numberOfPairsPerDay);
                    Console.WriteLine($"Введите 'y' если хотите добавить еще один день недели.");
                    characterInput = Console.ReadKey(true).KeyChar;
                }
                else
                {
                    Console.WriteLine("Нет такого дня недели! Попробуйте еще раз");
                    characterInput = 'y';
                }
            } while (characterInput == 'y');
        }
Example #7
0
 /// <summary>
 /// У указанного дня устанавливает тип дня.
 /// </summary>
 /// <param name="numberOfPairsPerDay">На какой изменить.</param>
 /// <param name="date">День.</param>
 public void AddDayOne(HowDays numberOfPairsPerDay, DateTime date)
 {
     DaysOfStudies.First(d => d.Date.Date == date.Date).Study = numberOfPairsPerDay;
 }
 public DaysOfStudy(DateTime date, HowDays study)
 {
     Date  = date;
     Study = study;
 }