/// <summary> /// 保存 /// </summary> public void SaveProject(string dir, ConfigWriter write) { using (WorkModelScope.CreateScope(WorkModel.Saving)) { dir = write.SaveProject(this, dir); SaveTypedefs(dir, write); SaveNotifies(dir, write); } }
public void ApiArgToClient() { var apiProject = Solution.Projects.FirstOrDefault(p => p?.Name == "CmdArg"); if (apiProject == null) { Solution.Projects.Add(apiProject = new ProjectConfig { Name = "CmdArg", Caption = "命令调用参数" }); } foreach (var item in Solution.ApiItems) { var friend = GlobalConfig.GetEntity(item.CallArg); if (friend == null) { item.ResultArg = null; continue; } var kw = friend.Caption.MulitReplace2("", "查询", "请求", "结构", "应答", "操作"); var result = GlobalConfig.GetEntity(p => p != friend && p.Caption.Contains(kw)); if (result != null) { item.ResultArg = result.Name; } friend.Tag = Solution.Tag + "," + friend.Name; if (friend.Properties.Count == 0) { item.ResultArg = null; continue; } if (friend.Properties.Any(p => p.Name == "ClientNo")) { item.IsUserCommand = true; } FindApiClientArg(friend, item, apiProject); } ConfigWriter writer = new ConfigWriter { Solution = Solution, Directory = Path.GetDirectoryName(Solution.FileName) }; writer.SaveApies(); writer.SaveProject(apiProject, false); }
/// <summary> /// 通知参数处理 /// </summary> public void NotifyArgToClient() { var apiProject = Solution.Projects.FirstOrDefault(p => p.Name == "NofityData"); if (apiProject == null) { Solution.Projects.Add(apiProject = new ProjectConfig { Name = "NofityData", Caption = "消息通知数据" }); } foreach (var item in Solution.NotifyItems) { var friend = GlobalConfig.GetEntity(item.NotifyEntity); if (friend == null) { item.ClientEntity = null; continue; } if (item.IsCommandResult) { FindNityfyApi(item, friend); } else { item.CommandId = null; } friend.Tag = Solution.Tag + "," + friend.Name; if (friend.Properties.Count == 0) { item.ClientEntity = null; continue; } FindNitifyClientEntity(friend, apiProject, item); } ConfigWriter writer = new ConfigWriter { Solution = Solution, Directory = Path.GetDirectoryName(Solution.FileName) }; writer.SaveNotifies(); writer.SaveProject(apiProject, false); }