using RestSharp; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml; using System.Xml.Linq; namespace HH.YiDaSyncNC.Helper { class DBHelper { #region 写日志 /// /// 写入日志 /// /// 内容 /// 标题 /// 路径 public static void WriteLog(string sLog, string sOption = "OP", string sSrc = "/Logs/") { var now = DateTime.Now; StreamWriter sr = null; var filePath = AppDomain.CurrentDomain.BaseDirectory + sSrc; // 文件路径 var file = filePath + "Log_" + DateTime.Now.ToString("yyyy_MM_dd") + ".log"; // 文件 if (!Directory.Exists(filePath)) Directory.CreateDirectory(filePath); // 判断是否存在目录,不存在则创建 if (!File.Exists(file)) { sr = File.CreateText(file);//创建日志文件 } else { sr = File.AppendText(file);//追加日志文件 } sr.WriteLine($"{DateTime.Now}:【{sOption}】:{sLog}");//日志格式 if (sr != null) sr.Close(); //关闭文件流 } #endregion #region 生成报文数据方法 /// /// 生成报文数据方法 /// public static XmlElement ToXmlElementMethod(XElement xElement) { if (xElement == null) return null; XmlElement xmlElement = null; XmlReader xmlReader = null; try { xmlReader = xElement.CreateReader(); var doc = new XmlDocument(); xmlElement = doc.ReadNode(xElement.CreateReader()) as XmlElement; } catch (Exception ex) { throw new Exception(ex.Message); } finally { if (xmlReader != null) xmlReader.Close(); } return xmlElement; } #endregion #region 调用传输凭证接口 /// /// 调用传输凭证接口 /// /// xml字符串参数 /// 接口地址 /// public static string SendNsg(string xmlstring, string url) { string responseMsg = ""; try { var options = new RestClientOptions(url) { MaxTimeout = -1, }; var client = new RestClient(options); var request = new RestRequest(url, Method.Post); request.AddHeader("Content-Type", "application/xml"); var body = xmlstring; request.AddParameter("application/xml", body, ParameterType.RequestBody); RestResponse response = client.Execute(request); responseMsg = response.Content;//获取返回Response消息 } catch (Exception ex) { throw new Exception(ex.Message); } return responseMsg; } #endregion } }