using System; using Abp.Application.Services; using Abp.Runtime.Caching; using IwbZero.AppServiceBase; using IwbZero.ToolCommon.StringModel; using WeEngine.Packages; namespace WeEngine { /// /// 演练实施 /// public class EngineRunAppService: IwbZeroAppServiceBase, IEngineRunAppService { public EngineRunAppService(ICacheManager cacheManager, PackageRunner packageRunner) { PackageRunner = packageRunner; CacheManager = cacheManager; } public PackageRunner PackageRunner { get; } /// /// 开启训练营 /// /// public void Start(string no) { if (no.IsEmpty()) { CheckErrors("方案包编号不能为空!"); return; } PackageInfo package; try { var xmlNode = CacheManager.GetPackageXml(no); package = (PackageInfo) new PackageInfo().CreateNodeByXmlNode(xmlNode); } catch (Exception e) { CheckErrors($"方案包信息解析失败[{e.Message}]"); return; } if (package==null) { CheckErrors("方案包信息解析失败!"); return; } var np = (PackageInfo)package.Clone(); np.RunningId = "G1"; PackageRunner.Run(np); } } public interface IEngineRunAppService : IApplicationService { void Start(string no); } }