public void SaveSettingsTemplateExecute() { var errors = MainOrionViewModel.Validate(LeonCommunication); if (errors.Count > 0) { var messages = string.Join(Environment.NewLine, errors); System.Windows.MessageBox.Show(messages, "Feil i konfigurasjon", MessageBoxButton.OK, MessageBoxImage.Error); return; } var settings = new Settings(); settings.OrionSetting = MainOrionViewModel; settings.LeonCommunicationSetting = LeonCommunication; if (string.IsNullOrEmpty(m_selectedTemplatesfileName)) { Log.Error("SaveSettingsTemplateExecute filename is empty "); return; } var fileName = m_selectedTemplatesfileName + ".template"; var tempDir = SettingsHelper.GetTemplateDir(); var fileNameFull = Path.Combine(tempDir, fileName); SettingsHelper.SaveSettingsAsTemplate(fileNameFull, settings); System.Windows.MessageBox.Show("Stevnemal lagret", "Konfigurasjon", MessageBoxButton.OK); if (!this.DatabaseSetup.TemplatesfileNames.Contains(m_selectedTemplatesfileName)) { this.DatabaseSetup.TemplatesfileNames.Add(m_selectedTemplatesfileName); this.OnPropertyChanged("TemplatesfileNames"); } if (!this.DatabaseSetup.AvailableTemplates.Contains(m_selectedTemplatesfileName)) { this.DatabaseSetup.AvailableTemplates.Add(m_selectedTemplatesfileName); this.OnPropertyChanged("AvailableTemplates"); } }
public void StartProductionExecute() { SaveSettingsExecute(); var settings = SettingsHelper.GetSettings(); LeonCommunication.NewLeonRegistrations += LeonCommunication_NewLeonRegistrations; Leon = new LeonViewModel(); Leon.LoadFromDb(); LeonCommunication.StartLeonExecute(); OrionTeamsSetupViewModel = new OrionTeamsSetupViewModel(Leon, MainOrionViewModel); this.OrionTeamsSetupViewModel.GenerateOrionTeamsExecute(); OrionCommunicationViewModel = new OrionCommunicationViewModel(OrionTeamsSetupViewModel, MainOrionViewModel); this.OrionCommunicationViewModel.StartOrionCommunication(); this.OrionResultViewModel = new OrionResultViewModel(settings.OrionSetting); this.OrionResultViewModel.LoadFromDb(); this.OrionTeamsSetupViewModel.MoveRegistrations += OrionTeamsSetupViewModel_MoveRegistrations; this.OrionResultViewModel.NewOrionResults += OrionResultViewModel_NewOrionResults; m_orionResultUpdater = new OrionResultUpdater(settings.OrionSetting); m_orionResultUpdater.SetResultTypeOnOrionResult(OrionResultViewModel.OrionResults); this.OrionResultViewModel.StartOrionCommunication(); var minneRange = settings.OrionSetting.OrionViewModels.SelectMany(o => o.RangeViews).SingleOrDefault(r => r.MinneShooting == true); if (minneRange != null) { if (string.IsNullOrEmpty(minneRange.CommunicationSetup.SelectedPath)) { minneRange.CommunicationSetup.SelectedPath = LeonCommunication.CommunicationSetup.SelectedPath; //LeonCommunication.SetMinnePath(minneRange.CommunicationSetup.SelectedPath); } this.m_minneViewModel = new MinneViewModel(minneRange.CommunicationSetup); this.m_minneViewModel.LoadFromDB(); this.m_minneViewModel.StartReadNewRegistrations(); } ProductionMode = true; MainOrionViewModel.SendPropChanged(); }