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); }
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(); }
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); } }