public Task ActivateProject(OneDasCampaignDescription campaignDescription) { string filePath; OneDasProjectSettings projectSettings; return(Task.Run(() => { campaignDescription.Validate(); // Improve: Make more flexible, renaming of file is impossible like that filePath = Path.Combine(_webServerOptions.BaseDirectoryPath, "project", $"{ campaignDescription.PrimaryGroupName }_{ campaignDescription.SecondaryGroupName }_{ campaignDescription.CampaignName }_{ campaignDescription.Guid }.json"); projectSettings = _projectSerializer.Load(filePath); _webServerOptions.CurrentProjectFilePath = filePath; _webServerOptions.Save(BasicBootloader.ConfigurationDirectoryPath); _engine.ActivateProject(projectSettings, 2); this.Clients.All.SendActiveProject(projectSettings); })); }
private void TryStartOneDasEngine(OneDasEngine oneDasEngine, string projectFilePath) { if (File.Exists(projectFilePath)) { Task.Run(() => { IOneDasProjectSerializer oneDasProjectSerializer; oneDasProjectSerializer = _serviceProvider.GetRequiredService <IOneDasProjectSerializer>(); try { oneDasEngine.ActivateProject(oneDasProjectSerializer.Load(projectFilePath), 4); oneDasEngine.Start(); } catch (Exception ex) { oneDasEngine.HandleException(ex); } }); } }