private void AddClasses(object sender, RoutedEventArgs e) { try { int timeIndex = -1; StudentsClass sClass; sClass = (StudentsClass)ClasseslistBox.SelectedItem; ClassRoom classRoom; if (UpperWeekradioButton.IsChecked == true) { timeIndex = 0; timeIndex += DaycomboBox.SelectedIndex * 6; timeIndex += TimecomboBox.SelectedIndex; } if (LowerWeekradioButton.IsChecked == true) { timeIndex = 0; timeIndex += 36; timeIndex += DaycomboBox.SelectedIndex * 6; timeIndex += TimecomboBox.SelectedIndex; } classRoom = (ClassRoom)ClassRoomlistView.Items[0]; bool freeClassroom = true, existAddClassInLVIP = false; foreach (var item in setting.LVIP) { //Проверка не занята ли аудитория в это время if (item.Room == classRoom && item.Time == timeIndex) { freeClassroom = false; break; } } if (sClass != null) { if (classRoom != null && timeIndex != -1) { if (freeClassroom) { foreach (var item in setting.LVIP) { if (item.sClass == sClass) { item.Room = classRoom; item.Time = timeIndex; existAddClassInLVIP = true; MessageBox.Show("Всё ок"); } } } else { MessageBox.Show("В это время в этой аудитории уже стоит пара"); } if (freeClassroom) { if (!existAddClassInLVIP) { FixedClasses vi = new FixedClasses(sClass, timeIndex, classRoom); setting.LVIP.Add(vi); MessageBox.Show("Всё ок"); } } else { MessageBox.Show("В это время в этой аудитории уже стоит пара"); } } } setting.LVIPB = new List<VIPClasesBin>(); foreach (var item in setting.LVIP) { VIPClasesBin vipClasesBin = new VIPClasesBin(Array.FindIndex(CurrentBase.EStorage.Classes, c => c == item.sClass), item.Time, Array.FindIndex(CurrentBase.EStorage.ClassRooms, c => c == item.Room)); setting.LVIPB.Add(vipClasesBin); } BinaryFormatter formatter = new BinaryFormatter(); using (FileStream fs = new FileStream("Setting.dat", FileMode.Create)) { formatter.Serialize(fs, setting.LVIPB); } } catch { } }
private void RemoveClasses(object sender, RoutedEventArgs e) { StudentsClass sClass; sClass = (StudentsClass)ClasseslistBox.SelectedItem; if (sClass != null) { for (int indexVip = 0; indexVip < setting.LVIP.Count; indexVip++) { if (setting.LVIP[indexVip].sClass == sClass) { setting.LVIP.RemoveAt(indexVip); DaycomboBox.SelectedIndex = -1; TimecomboBox.SelectedIndex = -1; InfoGrooplistView.ItemsSource = null; ClassRoomlistView.Items.Clear(); indexVip--; } } setting.LVIPB = new List<VIPClasesBin>(); foreach (var item in setting.LVIP) { VIPClasesBin vipClasesBin = new VIPClasesBin(Array.FindIndex(CurrentBase.EStorage.Classes, c => c == item.sClass), item.Time, Array.FindIndex(CurrentBase.EStorage.ClassRooms, c => c == item.Room)); setting.LVIPB.Add(vipClasesBin); } BinaryFormatter formatter = new BinaryFormatter(); using (FileStream fs = new FileStream("Setting.dat", FileMode.Create)) { formatter.Serialize(fs, setting.LVIPB); } } }