using System.Collections.Generic; using System.IO; using System.Linq; using IwbZero.AppServiceBase; using WeEngine.Application.Packages.Dto; using WeEngine.Functions; namespace WeEngine.Application.Packages { /// ///演练方案包维护 /// public class EnginePackageAppService : IwbZeroAppServiceBase, IEnginePackageAppService { public EnginePackageAppService() { PackageBasePath = $"{WeEngineConst.DataFileBasePath}Packages/"; } private string PackageBasePath { get; } /// /// 预加载方案包 /// /// public void PreLoadPackage(string packageNo) { CacheManager.GetCache(EngineCacheName.Package).Remove(packageNo); CacheManager.GetPackageXml(packageNo); } /// /// 重新加载方案包 /// /// public void ReLoadPackage(string packageNo) { var path = $"{PackageBasePath}{packageNo}/"; if (Directory.Exists(path)) { Directory.Delete(path, true); } PreLoadPackage(packageNo); } /// /// 查询引擎函数 /// /// public List QueryFunctions() { var funList= new List(); var exprFunList= ExprFunction.LoadByXml(ExprFunction.GetFunXmlNode()); if (exprFunList.Any()) { foreach (var exprFun in exprFunList) { if (exprFun.IsPublic) { funList.Add(new FunctionDto(exprFun)); } } } return funList; } } }