Beispiel #1
0
        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");
            }
        }
Beispiel #2
0
        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();
        }