public UserSettingControlVM(Model.IDutyOfficerRepository _dutyOfficerRepository) { dutyOfficerRepository = _dutyOfficerRepository; Messenger.Default.Register <Model.DutyOfficer>(this, HandleDutyOfficer); SaveCommand = new RelayCommand(() => { dutyOfficerRepository.SaveDutyOfficerSettings(DutyOfficer); DialogWindowVM.CloseWindow(); }); CancelCommand = new RelayCommand(() => { DialogWindowVM.CloseWindow(); }); UnLoadedCommand = new RelayCommand(() => { ViewModelLocator.Cleanup(); }); }
public EditEmergencySituationControlVM(Model.IEmergencySituationRepositiry _emergencySituationRepositiry, Model.IDutyOfficerRepository _dutyOfficerRepository, Model.IVechicleRepository _vechicleRepository) { vechicleRepository = _vechicleRepository; emergencySituationRepositiry = _emergencySituationRepositiry; dutyOfficerRepository = _dutyOfficerRepository; Messenger.Default.Register <Model.DutyOfficer>(this, HandleDutyOfficer); Messenger.Default.Register <int>(this, HandleEmergencyID); Vechicle2Emergency = new ObservableCollection <Model.Vechicle2Emergency>(); SuperiorOfficers = new ObservableCollection <Model.SuperiorOfficer>(); NeighborhoodList = new ObservableCollection <string>(); FillOutNeighborhoodList(); CurrentVechicle2Emergency = new Model.Vechicle2Emergency(); RegionList = new List <string> { "Брестская область", "Витебская область", "Гомельская область", "Гродненская область", "Минская область", "Могилевская область", "г.Минск" }; KindEmergencyList = new List <string> { "Загорание частного жилого дома", "Загорание частного нежилого дома", "Загорание дачного дома", "Загорание бытовок,вагончиков", "Загорание в гараже", "Загорание в квартире", "Загорание в административном здании", "Загорание на промышленном предприятии", "Загорание частного жилого дома", "Загорание на железнодорожном транспорте", "Загорание в сельскохозяйственной отрасли", "Загорание в учреждении образования", "Загорание в гостиницах, общежитиях", "Загорание автомобиля", "Загорание леса, травы и кустарников", "Загорание торфяника", "Загорание полигона ТБО", "Взрыв", "Обрушение", "ДТП", "Авария ЖКХ", "Происшествие по ЛС", "Прочее" }; SelectionRegionCommand = new RelayCommand(() => { switch (EmergencySituation.Region) { case "Брестская область": { NeighborhoodList.Clear(); NeighborhoodList.Add("Барановичский район"); NeighborhoodList.Add("Берёзовский район"); NeighborhoodList.Add("Брестский район"); NeighborhoodList.Add("Ганцевичский район"); NeighborhoodList.Add("Дрогичинский район"); NeighborhoodList.Add("Жабинковский район"); NeighborhoodList.Add("Ивановский район"); NeighborhoodList.Add("Ивацевичский район"); NeighborhoodList.Add("Каменецкий район"); NeighborhoodList.Add("Кобринский район"); NeighborhoodList.Add("Лунинецкий район"); NeighborhoodList.Add("Ляховичский район"); NeighborhoodList.Add("Малоритский район"); NeighborhoodList.Add("Пинский район"); NeighborhoodList.Add("Пружанский район"); NeighborhoodList.Add("Столинский район"); NeighborhoodList.Add("г.Брест"); } break; case "Витебская область": { NeighborhoodList.Clear(); NeighborhoodList.Add("Бешенковичский район"); NeighborhoodList.Add("Браславский район"); NeighborhoodList.Add("Верхнедвинский район"); NeighborhoodList.Add("Витебский район"); NeighborhoodList.Add("Глубокский район"); NeighborhoodList.Add("Городокский район"); NeighborhoodList.Add("Докшицкий район"); NeighborhoodList.Add("Дубровенский район"); NeighborhoodList.Add("Лепельский район"); NeighborhoodList.Add("Лиозненский район"); NeighborhoodList.Add("Миорский район"); NeighborhoodList.Add("Оршанский район"); NeighborhoodList.Add("Полоцкий район"); NeighborhoodList.Add("Поставский район"); NeighborhoodList.Add("Россонский район"); NeighborhoodList.Add("Сенненский район"); NeighborhoodList.Add("Толочинский район"); NeighborhoodList.Add("Ушачский район"); NeighborhoodList.Add("Чашникский район"); NeighborhoodList.Add("Шарковщинский район"); NeighborhoodList.Add("Шумилинский район"); NeighborhoodList.Add("г.Витебск"); } break; case "Гомельская область": { NeighborhoodList.Clear(); NeighborhoodList.Add("Брагинский район"); NeighborhoodList.Add("Буда-Кошелевский район"); NeighborhoodList.Add("Ветковский район"); NeighborhoodList.Add("Гомельский район"); NeighborhoodList.Add("Добрушский район"); NeighborhoodList.Add("Ельский район"); NeighborhoodList.Add("Житковичский район"); NeighborhoodList.Add("Жлобинский район"); NeighborhoodList.Add("Калинковичский район"); NeighborhoodList.Add("Кормянский район"); NeighborhoodList.Add("Лельчицкий район"); NeighborhoodList.Add("Лоевский район"); NeighborhoodList.Add("Мозырский район"); NeighborhoodList.Add("Наровлянский район"); NeighborhoodList.Add("Октябрьский район"); NeighborhoodList.Add("Петриковский район"); NeighborhoodList.Add("Речицкий район"); NeighborhoodList.Add("Рогачевский район"); NeighborhoodList.Add("Светлогорский район"); NeighborhoodList.Add("Хойникский район"); NeighborhoodList.Add("Чечерский район"); NeighborhoodList.Add("г.Гомель"); } break; case "Гродненская область": { NeighborhoodList.Clear(); NeighborhoodList.Add("Берестовицкий район"); NeighborhoodList.Add("Волковысский район"); NeighborhoodList.Add("Вороновский район"); NeighborhoodList.Add("Гродненский район"); NeighborhoodList.Add("Дятловский район"); NeighborhoodList.Add("Зельвенский район"); NeighborhoodList.Add("Ивьевский район"); NeighborhoodList.Add("Кореличский район"); NeighborhoodList.Add("Лидский район"); NeighborhoodList.Add("Мостовский район"); NeighborhoodList.Add("Новогрудский район"); NeighborhoodList.Add("Островецкий район"); NeighborhoodList.Add("Ошмянский район"); NeighborhoodList.Add("Свислочский район"); NeighborhoodList.Add("Слонимский район"); NeighborhoodList.Add("Сморгонский район"); NeighborhoodList.Add("Щучинский район"); NeighborhoodList.Add("г.Гродно"); } break; case "Минская область": { NeighborhoodList.Clear(); NeighborhoodList.Add("Березинский район"); NeighborhoodList.Add("Борисовский район"); NeighborhoodList.Add("Вилейский район"); NeighborhoodList.Add("Воложинский район"); NeighborhoodList.Add("Дзержинский район"); NeighborhoodList.Add("Клецкий район"); NeighborhoodList.Add("Копыльский район"); NeighborhoodList.Add("Крупский район"); NeighborhoodList.Add("Логойский район"); NeighborhoodList.Add("Любанский район"); NeighborhoodList.Add("Минский район"); NeighborhoodList.Add("Молодечненский район"); NeighborhoodList.Add("Мядельский район"); NeighborhoodList.Add("Несвижский район"); NeighborhoodList.Add("Пуховичский район"); NeighborhoodList.Add("Слуцкий район"); NeighborhoodList.Add("Смолевичский район"); NeighborhoodList.Add("Солигорский район"); NeighborhoodList.Add("Стародорожский район"); NeighborhoodList.Add("Столбцовский район"); NeighborhoodList.Add("Узденский район"); NeighborhoodList.Add("Червенский район"); } break; case "Могилевская область": { NeighborhoodList.Clear(); NeighborhoodList.Add("Белыничский район"); NeighborhoodList.Add("Бобруйский район"); NeighborhoodList.Add("Быховский район"); NeighborhoodList.Add("Глусский район"); NeighborhoodList.Add("Горецкий район"); NeighborhoodList.Add("Дрибинский район"); NeighborhoodList.Add("Кировский район"); NeighborhoodList.Add("Климовичский район"); NeighborhoodList.Add("Кличевский район"); NeighborhoodList.Add("Костюковичский район"); NeighborhoodList.Add("Краснопольский район"); NeighborhoodList.Add("Кричевский район"); NeighborhoodList.Add("Круглянский район"); NeighborhoodList.Add("Могилевский район"); NeighborhoodList.Add("Мстиславский район"); NeighborhoodList.Add("Осиповичский район"); NeighborhoodList.Add("Славгородский район"); NeighborhoodList.Add("Хотимский район"); NeighborhoodList.Add("Чаусский район"); NeighborhoodList.Add("Чериковский район"); NeighborhoodList.Add("Шкловский район"); NeighborhoodList.Add("г.Могилев"); } break; case "г.Минск": { NeighborhoodList.Clear(); NeighborhoodList.Add("Заводской район"); NeighborhoodList.Add("Ленинский район"); NeighborhoodList.Add("Московский район"); NeighborhoodList.Add("Октябрьский район"); NeighborhoodList.Add("Партизанский район"); NeighborhoodList.Add("Первомайский район"); NeighborhoodList.Add("Советский район"); NeighborhoodList.Add("Фрунзенский район"); NeighborhoodList.Add("Центральный район"); } break; } }); SaveCommand = new RelayCommand(() => { try { MyMessageBox _myMessageBox = new MyMessageBox(); if (checkString != FillCheckStringFromDB(EmergencyID)) { Messenger.Default.Send("Информация о ЧС была обновлена.\nОткройте заново для редактирования\nактуальных сведений."); _myMessageBox.Show(); } else { EmergencySituation.EditLog += $"\n {DateTime.Now.ToShortDateString()} {DateTime.Now.ToString("HH:mm:ss")} редактировал {DutyOfficer.NameDutyOfficer}"; emergencySituationRepositiry.EditEmergency(EmergencySituation, SuperiorOfficers, Vechicle2Emergency, ReceivedMessage, Victim); DialogWindowVM.CloseDialogWindow(); } } catch (Exception) { MyMessageBox _myMessageBox = new MyMessageBox(); Messenger.Default.Send("Проверьте правильность \nвведенных данных"); _myMessageBox.Show(); } }); CancelCommand = new RelayCommand(() => { DialogWindowVM.CloseWindow(); }); AddRowCommand = new RelayCommand(() => { Vechicle2Emergency.Add(new Model.Vechicle2Emergency()); IsButtonMinusEnable = true; }); AddSpecialReportCommand = new RelayCommand(() => { OpenFileDialog saveFileDialog = new OpenFileDialog(); saveFileDialog.Filter = "Text files (*.doc,*.docx)|*.doc;*.docx|All files (*.*)|*.*"; if (saveFileDialog.ShowDialog() == true) { PathSpecialReport = Path.GetFileName(saveFileDialog.FileName); IsButtonDeleteReportEnable = true; EmergencySituation.SpecialReport = File.ReadAllBytes(saveFileDialog.FileName); } }); DeleteRowCommand = new RelayCommand(() => { Vechicle2Emergency.Remove(CurrentVechicle2Emergency); if (Vechicle2Emergency.Count == 0) { IsButtonMinusEnable = false; } }); CheckedSuperiorOfficerCommand = new RelayCommand(() => { CurrentSuperiorOfficer.StatusOfReport = true; string timeReport = DateTime.Now.ToString("HH:mm:ss"); CurrentSuperiorOfficer.TimeReport = new TimeSpan(int.Parse(timeReport.Split(':')[0]), // hours int.Parse(timeReport.Split(':')[1]), int.Parse(timeReport.Split(':')[2])); }); UnCheckedSuperiorOfficerCommand = new RelayCommand(() => { CurrentSuperiorOfficer.StatusOfReport = false; CurrentSuperiorOfficer.TimeReport = null; }); UnLoadedCommand = new RelayCommand(() => { ViewModelLocator.Cleanup(); }); OpenSpecialReportCommand = new RelayCommand(() => { if (PathSpecialReport != "Ссылка на документ отсутствует") { string fileName = PathSpecialReport; var bytes = EmergencySituation.SpecialReport; try { using (FileStream fs = new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.None)) { foreach (var b in bytes) { fs.WriteByte(b); } } Process prc = new Process(); prc.StartInfo.FileName = fileName; //prc.EnableRaisingEvents = true; //prc.Exited += Prc_Exited; prc.Start(); } catch (Exception) { MyMessageBox _myMessageBox = new MyMessageBox(); Messenger.Default.Send("Данный файл уже открыт"); _myMessageBox.Show(); } } }); DeleteSpecialReportCommand = new RelayCommand(() => { PathSpecialReport = "Ссылка на документ отсутствует"; IsButtonDeleteReportEnable = false; EmergencySituation.SpecialReport = null; }); }