public void GetData(int value) { Console.WriteLine("server"); Icall client = OperationContext.Current.GetCallbackChannel <Icall>(); client.done(4); }
//报价器应收 Add by zp 2013-12-04 public static void Bjq_YsCall(string bjqxh, Icall call, string msg) { if (zlkye > ysje && bjqxh == "上海通导语音报价器型号Ⅳ") { call.Call(DmType.应收, msg); } else if (zlkye > zje && bjqxh == "上海通导语音报价器邵阳第一人民医院") { call.Call(DmType.姓名, msg); call.Call(DmType.总费用, zje.ToString("0.00") + "元"); } else { call.Call(DmType.姓名, msg); call.Call(DmType.应收, ysje.ToString("0.00")); } }
//报价器找零 public static void Bjq_ZlCall(string bjqxh, Icall call, string msg) { if (bjqxh.Trim() == "上海通导语音报价器型号Ⅳ" && cwjz > 0) { string par = ",,,," + ssje.ToString("0.00") + "元"; call.Call(DmType.实收, par); } else if (bjqxh.Trim() == "上海通导语音报价器邵阳第一人民医院" && cwjz > 0 && ssje == 0) { //Add by tck 2013-11 string par = cwjz.ToString("0.00") + "元" + "," + (zlkye - cwjz) + "元"; call.Call(DmType.实收, par); } else { call.Call(ssje.ToString("0.00"), zlje.ToString("0.00")); } }
static string GenIcallDecl(Icall icall) { var sb = new StringBuilder(); var method = icall.Method; sb.Append(MapType(method.ReturnType)); sb.Append($" {icall.Func} ("); int pindex = 0; int aindex = 0; if (method.HasThis) { sb.Append("int"); aindex++; } foreach (var p in method.Parameters) { if (aindex > 0) { sb.Append(","); } sb.Append(MapType(method.Parameters [pindex].ParameterType)); pindex++; aindex++; } if (icall.Handles) { if (aindex > 0) { sb.Append(","); } sb.Append("int"); pindex++; } sb.Append(");"); return(sb.ToString()); }
public static Icall NewCall(string jklx) { Icall _call = null; switch (jklx) { case "SHL-1语音收费报价器": _call = new ts_call(); break; case "led显示屏": _call = new ts_call_led(); break; case "SYC-Q9语音显示器": _call = new ts_call_led_shyc(); break; case "VFD8C语音显示器": _call = new ts_call_led_VFD8C(); break; case "湖南光通显示器": _call = new ts_call_led_HNGT(); break; case "AxCL2005_16W": _call = new ts_call_AxCL2005_16W(); break; case "武汉北院叫号": //戴月文开发的 实际上是武汉中心医院南院叫号,类型名称写错了 _call = new ts_call_whzxyymz(); break; case "武汉中心医院北院叫号": _call = new ts_call_whzxyybymz(); break; case "上海通导语音报价器型号I": _call = new ts_call_vfd_TDKJ_BJ_I(); break; case "上海通导语音报价器型号Ⅳ": //与1型基本通用 ts_call_vfd_TDKJ_BJ_I.kind = 4; _call = new ts_call_vfd_TDKJ_BJ_I(); break; case "FGC01": _call = new ts_call_FGC01A(); break; case "双屏LED": _call = new ts_call_led_cz(); break; case "上海通导语音报价器邵阳第一人民医院": ts_call_vfd_TDKJ_BJ_SYRY.kind = 4; _call = new ts_call_vfd_TDKJ_BJ_SYRY(); break; case "株洲中医院LED显示屏": _call = new ts_call_led_yx(); break; case "ts_call_led_cnfy": //常宁妇幼 _call = new ts_call_led_cnfy(); break; } return(_call); }
void ProcessType(TypeDefinition type) { foreach (var method in type.Methods) { if ((method.ImplAttributes & MethodImplAttributes.InternalCall) == 0) { continue; } if (method.Name == ".ctor") { continue; } var klass_name = method.DeclaringType.FullName; if (!runtime_icalls.ContainsKey(klass_name)) { // Registered at runtime continue; } var klass = runtime_icalls [method.DeclaringType.FullName]; Icall icall = null; // Try name first if (klass.Icalls.ContainsKey(method.Name)) { icall = klass.Icalls [method.Name]; } if (icall == null) { // Then with signature var sig = new StringBuilder(method.Name + "("); int pindex = 0; foreach (var par in method.Parameters) { if (pindex > 0) { sig.Append(","); } var t = par.ParameterType; AppendType(sig, t); pindex++; } sig.Append(")"); if (klass.Icalls.ContainsKey(sig.ToString())) { icall = klass.Icalls [sig.ToString()]; } } if (icall == null) { // Registered at runtime continue; } icall.Method = method; icall.TokenIndex = (int)method.MetadataToken.RID; icall.Assembly = method.DeclaringType.Module.Assembly.Name.Name; icalls.Add(icall); } }