Esempio n. 1
0
        private async Task ApplyInternal(bool reset = true)
        {
            try
            {
                using (MessageView.ShowLoad("Применение изменений..."))
                {
                    Repository.SaveScenario(_clonedScenario);
                    StatisticsManager.ReRegister(_clonedScenario);
                    await _clonedScenario.Initialize();

                    _clonedScenario.AfterInitilize();
                }

                IsModified = false;

                if (reset)
                {
                    if (await SetScenario(_clonedScenario))
                    {
                        Applied?.Invoke();
                    }
                }
                else
                {
                    _originalSenario = _clonedScenario; //crutch
                    Applied?.Invoke();
                }
            }
            catch (Exception e)
            {
                Log.Error($"Ошибка инициализации сценария [{_clonedScenario.Name}]", e);
            }
        }
 private void NewScenario(ScenarioBase newScenario)
 {
     newScenario.InitializeAsync((res) => {
         if (res)
         {
             newScenario.AfterInitilize();
         }
     });
     newScenario.Name = "Новый сценарий";
     _repository.AddScenario(newScenario);
     switchesGrid.Add(newScenario);
     constructorsResolver.SetScenario(newScenario);
 }
Esempio n. 3
0
        private async Task NewScenario(ScenarioBase newScenario)
        {
            BeginInitScenario();
            if (await newScenario.Initialize())
            {
                newScenario.AfterInitilize();
            }

            newScenario.Name = "Новый сценарий";
            _repository.AddScenario(newScenario);
            switchesGrid.Add(newScenario);
            await constructorsResolver.SetScenario(newScenario);

            EndInitScenario();
        }
Esempio n. 4
0
 private void ApplyInternal(bool reset = true)
 {
     try
     {
         Repository.SaveScenario(_clonedScenario);
         StatisticsManager.ReRegister(_clonedScenario);
         _clonedScenario.InitializeAsync();
         _clonedScenario.AfterInitilize();
         IsModified = false;
         if (reset)
         {
             SetScenario(_clonedScenario, Applied);
         }
         else
         {
             _originalSenario = _clonedScenario; //crutch
             Applied?.Invoke();
         }
     }
     catch (Exception e)
     {
         Log.ErrorFormat(e, "Ошибка инициализации сценария {0}", _clonedScenario.Name);
     }
 }