| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- using System;
- using Abp.Application.Services;
- using Abp.Runtime.Caching;
- using IwbZero.AppServiceBase;
- using IwbZero.ToolCommon.StringModel;
- using WeEngine.Packages;
- namespace WeEngine
- {
- /// <summary>
- /// 演练实施
- /// </summary>
- public class EngineRunAppService: IwbZeroAppServiceBase, IEngineRunAppService
- {
- public EngineRunAppService(ICacheManager cacheManager, PackageRunner packageRunner)
- {
- PackageRunner = packageRunner;
- CacheManager = cacheManager;
- }
- public PackageRunner PackageRunner { get; }
- /// <summary>
- /// 开启训练营
- /// </summary>
- /// <returns></returns>
- 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);
- }
- }
|