# 常用方法 ## WnPlatform程序集 ### AppClient类 #### ActiveForm ```csharp static void ActiveForm(DataRow funcFrame, Form parentForm, string startMode); ``` 方法用于根据配置信息获得一个模块的主窗体并打开,同时记录模块打开日志 参数: - funcFrame:模块对应的菜单配置信息 - parentForm:模块以卡片页形式打开时,用作模块的MdiParent窗体 - startMode:启动模块的模式 - 1:通过菜单或者用户自定义代码打开的模块 - 2:打开的是链接报表 - 3:打开的是链接模块 #### GetForm ```csharp static Form GetForm(DataRow funcInfo, bool isDesktopTool, Form parentForm, string startMode); ``` 方法用于根据配置信息获取一个窗体 参数: - funcInfo:配置信息 - isDesktopTool:窗体是否是桌面 工具窗体 - parentForm:如果窗体是链接报表或者链接模块窗体是,需要从该窗体中传递参数信息、 - startMode:启动窗体的模式 - 1:正常窗体 - 2:链接报表 - 3:链接模块 #### GetPlugin ```csharp static IPlugin GetPlugin(string pluginCode); ``` 方法用于根据模块插件代码获取模块插件类实例 参数: pluginCode:插件代码,并且有一定的约定规范。即插件代码最前端需要列出程序集需要应用的dll,dll名称前加//,并添加到#region dll应用和#endregion之间 示例代码 ```csharp #region dll引用 // System.Windows.Forms // Pemsoft.Client.SYS.WnControl #endregion using System.Windows.Forms; using Pemsoft.Client.SYS.WnControl; public class Test:IPlugin { //具体代码实现 } ``` ### AppServer类 #### CallHandler **应用层访问重载** ```csharp //应用层访问重载 static object CallHandler(string handlerName, string queryType, object args); static object CallHandler(string handlerName, string queryType, object args, int httpTimeOut); static object CallHandler(string facadeAlias, string handlerName, string queryType, object args); static object CallHandler(string facadeAlias, string handlerName, string queryType, object args, int httpTimeout); ``` 方法用于通过访问应用层的方式操作数据库 参数: - facadeAlias:要访问的应用层别名,默认是当前登录的应用层 - handlerName:要访问的处理器别名 - queryType:要执行的方法名 - args:方法参数 - httpTimeout:超时时间,单位是秒,有两个作用 - 客户端与应用层连接的超时时间 - 数据库执行的超时时间 **本地直连重载** ```csharp //本地直连重载 static object CallHandler(string methodName, string args, object sqlTimeout); ``` 方法用于客户端直连数据库的方式操作数据库 参数: - methodName:要执行的方法名 - args:方法的参数 - sqlTimeout:数据库执行超时时间,单位是秒 #### SaveModuleOpLog ```csharp static bool SaveModuleOpLog(string moduleId, string opDescCode, Hashtable htParam); ``` 方法用于保存模块的操作日志 参数: - moduleId:模块标识,用于记录当前日志是哪个模块的 - opDescCode:日志以多语言的方式记录,此处是多语言代码,记录日志时根据代码获取具体的多语言描述信息 - htParam:记录日志关键字信息,用于替换描述信息中的关键字 #### GetData ```csharp static object GetData(); static object GetData(string facadeAlias); ``` 方法用于获取日期信息,时间部分为0:00:00 参数: facadeAlias:应用层别名,用于指定获取哪个应用层的日期,默认为当前登录的应用层 #### GetDataTime ```csharp static object GetDataTime(); static object GetDataTime(string facadeAlias); ``` 方法用于获取日期信息,包括时间部分 参数: facadeAlias:应用层别名,用于指定获取哪个应用层的日期,默认为当前登录的应用层 ### AuxData类 #### GetComboString ```csharp static string GetComboString(string auxDataTypeCode); ``` 方法用于从辅助资料获取指定的辅助资料配置信息,并拼接成WnCombo的数据源字符串格式 参数: auxDataTypeCode:辅助资料代码,允许包含远程应用层别名,格式为:`[facadeAlias|]auxDataTypeCode` #### GetLookupString ```csharp static string GetLookupString(string auxDataTypeCode); ``` 方法用于从辅助资料获取指定的辅助资料配置信息,并拼接成WnLookup的数据源字符串格式 参数: auxDataTypeCode:辅助资料代码,允许包含远程应用层别名,格式为:`[facadeAlias|]auxDataTypeCode` ### ControlHelper类 #### CenterShow ```csharp static void CenterShow(object obj) ``` 方法用于让指定对象在父容器中居中显示 参数: obj:要居中显示的对象,确保调用方法前obj已经实例化,否则报错 ### DialogBox类 该类提供了消息对话框方法 ```csharp static void ShowError(string message); //提示错误信息 static void ShowWarning(string message); //提示警告信息 static void ShowMessage(string message); //提示消息信息 static DialogResult AskYesNo(string message); //提示询问信息,按钮是是和否 static DialogResult AskYesNoCancel(string message); //提示询问信息,按钮是是、否和取消 static DialogResult AskOkCancel(string message); //提示询问信息,按钮是确定和取消 ``` 参数: message:要提示的信息 ### HelpInfo类 该类提供了查看和编辑帮助信息的方法 ```csharp static void Show(string funcFrameGuid); //查看帮助信息 static void Edit(string funcFrameGuid); //编辑帮助信息 ``` 参数: funcFrameGuid:模块对应的功能架构内码 ### MultiLanguage类 该类提供了从多语言配置文件中获取多语言信息的方法 ```csharp static string GetContent(string code) ``` 参数: code:多语言代码 ### PrintService类 打印服务类,提供了打印相关方法 #### PrintDesign ```csharp static void PrintDesign(object printDataSource, string moduleId, string printCode) ``` 方法用于打开报表打印设计界面,进行打印设计 参数: - printDataSource:报表数据源,用于进行打印设计使用 - moduleId:模块标识,用于获取或保存打印方案 - printCode:打印代码,用于获取或保存打印方案 #### PrintingWithResult ```csharp static bool PrintingWithResult(object printDataSource, string moduleId, string printCode, bool isPreview, string dataRightCode); static bool PrintingWithResult(object printDataSource, string moduleId, string printCode, bool isPreview, bool isQuickPrint, string dataRightCode); static bool PrintingWithResult(object printDataSource, string moduleId, string printCode, bool isPreview, bool isQuickPrint, string dataRightCode, string printerName); ``` 方法用于打印,并返回是否点击了打印按钮 参数: - printDataSource:要打印的数据源 - moduleId:模块标识,用于获取打印方案 - printCode:打印代码,用于获取打印方案 - isPriview:是否显示打印预览 - isQuickPrint:是否快速打印,即是否打开打印机打印设置界面 - dataRightCode:数据权限代码,用于对打印方案进行数据授权,为空则代表不进行权限管控 - printerName:用于指定要用的打印机的名称 #### Printing ```csharp static void Printing(object printDataSource, string moduleId, string printCode, bool isPreview, string dataRightCode); static void Printing(object printDataSource, string moduleId, string printCode, bool isPreview, bool isQuickPrint, string dataRightCode); static void Printing(object printDataSource, string moduleId, string printCode, bool isPreview, bool isQuickPrint, string dataRightCode, string printerName); ``` 方法用于打印,不返回是否点击了打印按钮 参数: - printDataSource:要打印的数据源 - moduleId:模块标识,用于获取打印方案 - printCode:打印代码,用于获取打印方案 - isPriview:是否显示打印预览 - isQuickPrint:是否快速打印,即是否打开打印机打印设置界面 - dataRightCode:数据权限代码,用于对打印方案进行数据授权,为空则代表不进行权限管控 - printerName:用于指定要用的打印机的名称 #### PrintTag ```csharp static bool PrintTag(DataTable printDataSource, string moduleId, string printCode, string dataRightCode); static bool PrintTag(DataTable printDataSource, string moduleId, string printCode, string dataRightCode, string printerName) ``` 方法用于条码打印机打印条码 参数: - printDataSource:打印数据源 - moduleId:模块标识,用户获取打印方案信息 - printCode:打印代码,用于获取打印方案 - dataRightCode:数据权限代码,用于对打印方案进行数据授权,为空则代表不进行权限管控 - printerName:用于指定要用的打印机的名称 ### Prompt类 该类用于管理进度条提示信息 #### Prompt ```csharp public Prompt(); public Prompt(string caption, string description); ``` 构造函数,用于实例化Prompt类实例 参数: - caption:进度条提示内容的标题 - description:进度条详细的提示信息 #### Start ```csharp void Start(); void Start(int delay); ``` 方法用于开启一个进度条 参数: delay:用于延时关闭进度条,如果Start和Abort之间的时间间隔太短,可能会造成进度条无法关闭。所以添加该参数,用于指定,当调用Abort方法的时候,如果还没有到指定的延时时间,则不关闭进度条,到了指定的延时时间后在关闭。同理,到了指定的延时时间,如果还没有调用Abort方法也不关闭进度条 #### Abort ```csharp void Abort(); ``` 方法用于关闭进度条 ## WnUtility程序集 ### Bill类 该类用户获取表单的单据编号 ```csharp static string GetBillNo(string billTypeCode); static string GetBillNo(string billTypeCode, string keyValues); static string GetBillNo(string billTypeCode, DateTime billDate); static string GetBillNo(string billTypeCode string keyValues, DateTime billDate); static string GetBillNo(string billTypeCode string keyValues, DateTime? billDate, string facadeAlias); ``` 参数: - billTypeCode:表单类型代码 - keyValues:关键字,用于替换单据编号规则中的关键字 - billDate:单据日期,用于指定要获取的单据编号的日期。默认为当前日期 - facadeAlias:应用层别名,默认为当前应用层 ### ComServer类 用户进行串口操作,例如码表等 #### ComServer ```csharp public ComServer(); public ComServer(string port, object baudRate, object dataBits, object stopBits, string parity); ``` 构造函数,实例化串口类SerialPort类 参数: - port:串口号 - baudRate:波特率 - dataBits:数据位数 - stopBits:停止位数据,0:没有,1:一个,2:连个,3:一个半 - parity:奇偶校验位,N:没有,O:奇校验,E:偶校验,M:将校验位保留为1,S:将奇偶校验位保留为0 #### GetWatchValue ```csharp decimal GetWatchValue(); decimal GetWatchValue(string agreement); ``` 方法用于获取码表串口值 参数: agreement:通信协议 ### FileServer类 文件服务接口类 #### ManageDir ```csharp bool ManageDir(string handleType, string dirPath, DataTable dtFileDir); ``` 方法用于管理文件目录,新增或者删除 参数: - handleType:操作类型,Add:新增,Delete:删除 - dirPath:文件目录路径 - dtFileDir:用于更新数据库信息的DataTable #### UploadFile ```csharp bool UploadFile(string dirCode, bool isEcrypt, bool isAllowDownload, string uploadModuleID); bool UploadFile(string dirCode, bool isEcrypt, bool isAllowDownload, string uploadModuleID, string filePath, string fileName); ``` 方法用于上传文件 参数: - dirCode:文件目录代码,用于获取文件目录信息 - isEncrypt:文件上传时是否加密 - isAllowDownload:文件上传后是否允许下载 - uploadModuleID:上传文件的模块标识 - filePath:用于指定要上传的文件的路径 - fileName:用于指定要上传的文件的名称 #### DownloadFile ```csharp bool DownloadFile(string dirCode, bool isEcrypt, string fileGuid, string fileName); bool DownloadFile(string dirCode, bool isEcrypt, string fileGuid, string fileName, string filePath); ``` 方法用于下载文件 参数: - dirCode:文件目录代码,用于获取文件目录信息 - isEncrypt:文件下载时是否解密 - fileGuid:文件内码,用于获取要下载的文件 - fileName:文件名 - filePath:文件自动保存时的保存路径 #### DeleteFile ```csharp bool DeleteFile(string dirCode, string fileGuid); ``` 方法用于删除文件 参数: - dirCode:文件目录代码,用于获取文件目录信息 - fileGuid:文件内码,用于获取要删除的文件 #### RecycleFile ```csharp string RecycleFile(string fileGuid); ``` 方法用于把文件加到回收站 参数: fileGuid:用于获取要回收的文件对应的记录 #### RestoreFile ```csharp string RestoreFile(string fileGuid); ``` 方法用于从回收站还原文件 参数: fileGuid:用于获取要还原的文件对应的记录 #### OpenFile ```csharp bool OpenFile(string dirCode, bool isEncrypt, string fileGuid, string fileName) ``` 在线打开文件,支持:doc、docx、xls、xlsx、ppt(部分支持)、pptx、pdf等 参数: - dirCode:文件目录代码,用于获取文件目录信息 - isEncrypt:文件下载时是否解密 - fileGuid:文件内码,用于获取要下载的文件 - fileName:文件名 ### WnTreeGridSettingHelper类 TreeGrid界面设置类 ```csharp static void ShowSettingForm(WnForm wnForm); //打开界面设计WnTreeGrid布局 static bool InitWnTreeGrid(this WnTreeGrid wnTreeGrid); //初始化WnTreeGrid布局 ```