public void Load() // Загрузить - считать из config.ini [MAIN] { var defaultSettings = new MainSettings(); VolumeWmpMusic = ReadValue("Main", "VolumeMusic", s => Convert.ToInt32(s), defaultSettings.VolumeWmpMusic); VolumeWmpDop = ReadValue("Main", "VolumeDop", s => Convert.ToInt32(s), defaultSettings.VolumeWmpDop); MuzYmni = ReadValue("Main", "MuzYmni", s => Convert.ToBoolean(s), defaultSettings.MuzYmni); MuzRandom = ReadValue("Main", "MuzRandom", s => Convert.ToBoolean(s), defaultSettings.MuzRandom); PlayMuzNaPeremenax = ReadValue("Main", "PlayMuzNaPeremenax", s => Convert.ToBoolean(s), defaultSettings.PlayMuzNaPeremenax); PlayDops = ReadValue("Main", "PlayDops", s => Convert.ToBoolean(s), defaultSettings.PlayDops); AutoRun = ReadValue("Main", "AutoRun", s => Convert.ToBoolean(s), defaultSettings.AutoRun); RunMinimized = ReadValue("Main", "RunMinimized", s => Convert.ToBoolean(s), defaultSettings.RunMinimized); MelodyStart = ReadValue("Main", "MelodyStart", s => s, defaultSettings.MelodyStart); MelodyEnd = ReadValue("Main", "MelodyEnd", s => s, defaultSettings.MelodyEnd); FolderMusic = ReadValue("Main", "FolderMusic", s => s, defaultSettings.FolderMusic); ActiveOtherPlayer = ReadValue("Main", "ActiveOtherPlayer", s => Convert.ToBoolean(s), defaultSettings.ActiveOtherPlayer); OtherPlayer = ReadValue("Main", "OtherPlayer", s => s, defaultSettings.OtherPlayer); PoslednixPesen = ReadValue("Main", "PoslednixPesen", s => Convert.ToInt32(s), defaultSettings.PoslednixPesen); ModePlayMusic = ReadValue("Main", "ModePlayMusic", s => Convert.ToInt32(s), defaultSettings.ModePlayMusic); YsilNoControl = ReadValue("Main", "YsilNoControl", s => Convert.ToBoolean(s), defaultSettings.YsilNoControl); YsilAuto = ReadValue("Main", "YsilAuto", s => Convert.ToBoolean(s), defaultSettings.YsilAuto); YsilHands = ReadValue("Main", "YsilHands", s => Convert.ToBoolean(s), defaultSettings.YsilHands); YsilTime = ReadValue("Main", "YsilTime", s => Convert.ToBoolean(s), defaultSettings.YsilTime); YsilTimeOn = ReadValue("Main", "YsilTimeOn", s => TimeSpan.Parse(s), defaultSettings.YsilTimeOn); YsilTimeOff = ReadValue("Main", "YsilTimeOff", s => TimeSpan.Parse(s), defaultSettings.YsilTimeOff); ComPort = ReadValue("Main", "ComPort", s => s, defaultSettings.ComPort); DateTime emptyDate = new DateTime(); for (int i = 0; INI.KeyExistsINI("KanukulStart" + i, "Main"); i++) { var newKanuk = new Kanukyli(ReadValue("Main", "KanukulStart" + i, s => Convert.ToDateTime(s), emptyDate), ReadValue("Main", "KanukulEnd" + i, s => Convert.ToDateTime(s), emptyDate)); // если обе даты не стандартные т.е. считались норм if (newKanuk.DateStart != emptyDate && newKanuk.DateEnd != emptyDate) { Kanikuls.Add(newKanuk); } } for (int i = 0; INI.KeyExistsINI("Holiday" + i, "Main"); i++) { var newHolid = new Holiday(ReadValue("Main", "Holiday" + i, s => Convert.ToDateTime(s), emptyDate)); // если дата не стандартная т.е. считалась норм if (newHolid.Date != emptyDate) { Holidays.Add(newHolid); } } }
// =================================================================================================================================================== private void AddKanikylu_Click(object sender, RoutedEventArgs e) // Добавить каникулы { if (dpStartKanikylu.SelectedDate != null && dpEndKanikylu.SelectedDate != null) { DateTime DateStartK = (DateTime)dpStartKanikylu.SelectedDate; DateTime DateEndK = (DateTime)dpEndKanikylu.SelectedDate; if (DateEndK < DateStartK || DateStartK == DateEndK) { ShowMBinNewThread(MessageBoxIcon.Exclamation, "Выбранные Вами каникулы не были добавлены в список!\n\nДата конца каникул не может быть раньше или равна дате начала!"); // неправильно задано } else { Kanukyli NewK = new Kanukyli(DateStartK, DateEndK); // Объект каникулы с этими датами bool YjeEst = false; for (int i = 0; i < HolidaysTwoDate.Count; i++) { if ((HolidaysTwoDate[i].DateStart == DateStartK && HolidaysTwoDate[i].DateEnd == DateEndK) || (DateStartK >= HolidaysTwoDate[i].DateStart && DateStartK <= HolidaysTwoDate[i].DateEnd || DateEndK >= HolidaysTwoDate[i].DateStart && DateEndK <= HolidaysTwoDate[i].DateEnd)) { YjeEst = true; ListViewHolidaysTwoDate.SelectedIndex = i; ShowMBinNewThread(MessageBoxIcon.Asterisk, $"Выбранные Вами каникулы уже есть в списке [№ {i+1}] или они пересекаются с этими каникулами!"); break; } } if (!YjeEst) // если таких каникул нет { bool NowHolidayLi = NowHoliday(); HolidaysTwoDate.Add(NewK); Log.Write($"[Каникулы] Добавлены каникулы: [{NewK.DateStart.ToShortDateString() + " — " + NewK.DateEnd.ToShortDateString()}]"); if (NowHolidayLi != NowHoliday()) { GetTimeBells("Добавлен выходной день"); } SortKanukyls(HolidaysTwoDate); SaveAllHolidays(); } } } }