using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Windows.Forms; using Forks.JsonRpc.Client; using Forks.JsonRpc.Client.Data; using Forks.Utils.IO; namespace ClientForWEDS { public static class RpcHelper { private static bool _isInit; public static string Insert(List logList, string ip) { var logName = "RpcLog" + DateTime.Today.ToString("yyyyMMdd") + ".txt"; var path = Application.StartupPath + "\\log\\" + logName ; var resultStr = ""; if (!FS.DirectoryExists(path)) FS.CreateDirectory(Path.GetDirectoryName(path)); using (var textWriter = new StreamWriter(path, true, Encoding.UTF8)) { textWriter.WriteLine("{0} :客户端开始发送数据:------------------------------------", DateTime.Now); try { if (!_isInit) { var url = ConfigUtil.ERPURL; //var url = "http://localhost:2100/MainSystem/"; RpcFacade.Init(url, "AttendClientV2.0"); _isInit = true; } var username = ConfigUtil.UserName;// "system" var strPwd = ConfigUtil.Password; RpcFacade.Login(username, strPwd); var dmos = new List(); foreach (var detail in logList) { var dmo = new RpcObject("/CutUp/Attendance/BO/AttendanceRecord"); dmo.Set("Time", detail.DateTime); dmo.Set("EmployeeID", detail.ID); dmos.Add(dmo); } RpcFacade.Call("/CutUp/Attendance/Rpcs/AttendanceRpc/Insert2", dmos.ToArray(), ip); textWriter.WriteLine(dmos.Count() + "条考勤记录上传成功,考勤机IP:" + ip); } catch (Exception e) { textWriter.WriteLine("内部错误:" + e.Message); resultStr = e.Message; } finally { RpcFacade.Logout(); } } return resultStr; } } }