123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- using Newtonsoft.Json.Linq;
- using PTMedicalInsurance.Variables;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Reflection;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace PTMedicalInsurance.Helper
- {
- class InvokeComCenter : IInvokeCenter
- {
- string progID1 = "ybjk.interface";
- System.Type YinHaiComType;
- object YinHaiComInstance;
- public int Business(string infno, ref string input, ref string output)
- {
- YinHaiComType = System.Type.GetTypeFromProgID(progID1);
- JObject jo = new JObject();
- jo.Add("transNo", infno);
- jo.Add("transType", "passwordCheck");
- jo.Add("timestamp", DateTime.Now.ToString("yyyyMMddHHmmss"));
- jo.Add("businessType", Global.pat.card.ecBizType);
- jo.Add("data", JObject.Parse(input));
- string inpar = jo.ToString();
-
- try
- {
- // 创建Com的实例
- if (YinHaiComType != null)
- {
- //创建实例
- YinHaiComInstance = Activator.CreateInstance(YinHaiComType);
- //设置需要设置的参数值
- //设置需要设置的参数值
- object[] ParamArray = new object[3];
- ParamArray[0] = infno;
- ParamArray[1] = inpar;
- ParamArray[2] = "";
- ParameterModifier[] ParamMods = new ParameterModifier[1];
- ParamMods[0] = new ParameterModifier(3); // 初始化为接口参数的个数
- //ParamMods[0][0] = false;
- //ParamMods[0][1] = false;
- ParamMods[0][2] = true;
- YinHaiComType.InvokeMember("xjyb_call", // 接口函数名
- BindingFlags.Default | BindingFlags.InvokeMethod,
- null,
- YinHaiComInstance, // 调用的COM组件
- ParamArray, // 参数数组
- ParamMods, // 指定返回参数的ParameterModifier数组
- null,
- null);
- output = ParamArray[2].ToString();
- return 0;
- }
- else
- {
- output = "YinHaiComType加载失败!";
- return 1;
- }
- }
- catch (Exception ex)
- {
- string outMes = ex.Message;
- if (ex.InnerException != null)
- {
- outMes += ex.InnerException.Message;
- }
- output = outMes;
- return -1;
- }
- finally
- {
- Global.writeLog("InvokeComCenter.Business", inpar,output);
- }
- }
- public int BusinessExt(string inputData, ref string outputData, ref string pErrMsg)
- {
- throw new NotImplementedException();
- }
- public int DownloadFile(string inputData, ref string outputData)
- {
- throw new NotImplementedException();
- }
- public int Init(ref string pErrMsg)
- {
- return 0;
- }
- public int UploadFile(string inputData, ref string outputData, ref string pErrMsg)
- {
- throw new NotImplementedException();
- }
- }
- }
|