private void btnLoadOnFile_Click(object sender, RoutedEventArgs e) // Загрузить настройки из файла -- [ПОРЯДОК 31 МАРТА 2018]
        {
            OpenFileDialog openFileDialog1 = new OpenFileDialog();

            openFileDialog1.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
            openFileDialog1.Title            = "Выберите файл с расписанием звонков";
            openFileDialog1.Filter           = "Все файлы (*.*)|*.*|Расписание звонков (*.lbRasp)|*.lbRasp";
            openFileDialog1.FilterIndex      = 2;
            openFileDialog1.Multiselect      = false;

            // Загрузить из файла
            if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                RaspZvonkov RaspForLoad = new RaspZvonkov();

                DataContractJsonSerializer jsonSerializerRasps = new DataContractJsonSerializer(typeof(RaspZvonkov));

                try // пытаемся считать
                {
                    using (FileStream fs = new FileStream(openFileDialog1.FileName, FileMode.Open))
                    {
                        RaspForLoad = (RaspZvonkov)jsonSerializerRasps.ReadObject(fs);
                    }
                    newNewLoad(RaspForLoad);
                }
                catch (Exception f)
                {
                    System.Windows.Forms.MessageBox.Show("Ошибка при считывании расписания звонков\n\n" + f.Message + "\n\n------------------------------\n\n" + f.ToString());
                }
            }
        }
 public LessonsViewModel(RaspZvonkov RaspZv)
 {
     for (int i = 1; i < RaspZv.Uroks.Count; i++)
     {
         lst_Lessons.Add(new Lesson()
         {
             Number = i, TimeS = RaspZv.Uroks[i].TimeStart.ToString("hh':'mm"), TimeDo = RaspZv.Uroks[i].TimeEnd.ToString("hh':'mm"), MuzActive = RaspZv.Uroks[i].MuzActive
         });
     }
 }
 public DopsViewModel(RaspZvonkov RaspZv)
 {
     for (int i = 1; i < RaspZv.Dops.Count; i++)
     {
         lst_Dops.Add(new Dop()
         {
             Number = i, Time = RaspZv.Dops[i].Time.ToString("hh':'mm"), Signal = RaspZv.Dops[i].Signal, SignalShow = System.IO.Path.GetFileName(RaspZv.Dops[i].Signal)
         });
     }
 }
        public void newNewLoad(RaspZvonkov Rz) // Сохранение настроек
        {
            RaspZ = Rz;

            Rz = null;
            try
            {
                vmLessons = new LessonsViewModel(RaspZ);
                listViewUroks.DataContext = vmLessons;

                vmDops = new DopsViewModel(RaspZ);
                listViewDops.DataContext = vmDops;

                mdp = new MuzDoPar()
                {
                    Active = RaspZ.Uroks[0].MuzActive, Time = RaspZ.Uroks[0].TimeStart.ToString("hh':'mm")
                };
                cbxMuzBeforeLessons.DataContext = tbxMuzBeforeLessonsTime.DataContext = mdp;

                tbxNameRasp.Text = RaspZ.NameRasp;

                rbDate.IsChecked    = RaspZ.ZvonDate;
                dpDate.SelectedDate = RaspZ.Date;

                rbDniNeledi.IsChecked = RaspZ.ZvonDniNedeli;
                cbxPN.IsChecked       = RaspZ.PN;
                cbxVT.IsChecked       = RaspZ.VT;
                cbxSR.IsChecked       = RaspZ.SR;
                cbxCT.IsChecked       = RaspZ.CT;
                cbxPT.IsChecked       = RaspZ.PT;
                cbxSB.IsChecked       = RaspZ.SB;
                cbxVS.IsChecked       = RaspZ.VS;
            }
            catch (Exception e)
            {
                Logg.Write(e.Message);
                Logg.Write(e.ToString());
                System.Windows.Forms.MessageBox.Show($"Ошибка при загрузке настроек расписания звонков!\n\n{e.Message}\n\n\n{e.ToString()}", "TSPK LessonBell", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
            }
        }
 public WindowEditRasp(MainWindow f, RaspZvonkov Rasp, string LogFile)
 {
     InitializeComponent();
     Logg = new Logger(LogFile);
     newNewLoad(Rasp);
 }