DBHelper.cs 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. using RestSharp;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.IO;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using System.Xml;
  9. using System.Xml.Linq;
  10. namespace HH.YiDaSyncNC.Helper
  11. {
  12. class DBHelper
  13. {
  14. #region 写日志
  15. /// <summary>
  16. /// 写入日志
  17. /// </summary>
  18. /// <param name="sLog">内容</param>
  19. /// <param name="sOption">标题</param>
  20. /// <param name="sSrc">路径</param>
  21. public static void WriteLog(string sLog, string sOption = "OP", string sSrc = "/Logs/")
  22. {
  23. var now = DateTime.Now;
  24. StreamWriter sr = null;
  25. var filePath = AppDomain.CurrentDomain.BaseDirectory + sSrc; // 文件路径
  26. var file = filePath + "Log_" + DateTime.Now.ToString("yyyy_MM_dd") + ".log"; // 文件
  27. if (!Directory.Exists(filePath)) Directory.CreateDirectory(filePath); // 判断是否存在目录,不存在则创建
  28. if (!File.Exists(file))
  29. {
  30. sr = File.CreateText(file);//创建日志文件
  31. }
  32. else
  33. {
  34. sr = File.AppendText(file);//追加日志文件
  35. }
  36. sr.WriteLine($"{DateTime.Now}:【{sOption}】:{sLog}");//日志格式
  37. if (sr != null) sr.Close(); //关闭文件流
  38. }
  39. #endregion
  40. #region 生成报文数据方法
  41. /// <summary>
  42. /// 生成报文数据方法
  43. /// </summary>
  44. public static XmlElement ToXmlElementMethod(XElement xElement)
  45. {
  46. if (xElement == null) return null;
  47. XmlElement xmlElement = null;
  48. XmlReader xmlReader = null;
  49. try
  50. {
  51. xmlReader = xElement.CreateReader();
  52. var doc = new XmlDocument();
  53. xmlElement = doc.ReadNode(xElement.CreateReader()) as XmlElement;
  54. }
  55. catch (Exception ex)
  56. {
  57. throw new Exception(ex.Message);
  58. }
  59. finally
  60. {
  61. if (xmlReader != null) xmlReader.Close();
  62. }
  63. return xmlElement;
  64. }
  65. #endregion
  66. #region 调用传输凭证接口
  67. /// <summary>
  68. /// 调用传输凭证接口
  69. /// </summary>
  70. /// <param name="xmlstring">xml字符串参数</param>
  71. /// <param name="url">接口地址</param>
  72. /// <returns></returns>
  73. public static string SendNsg(string xmlstring, string url)
  74. {
  75. string responseMsg = "";
  76. try
  77. {
  78. var options = new RestClientOptions(url)
  79. {
  80. MaxTimeout = -1,
  81. };
  82. var client = new RestClient(options);
  83. var request = new RestRequest(url, Method.Post);
  84. request.AddHeader("Content-Type", "application/xml");
  85. var body = xmlstring;
  86. request.AddParameter("application/xml", body, ParameterType.RequestBody);
  87. RestResponse response = client.Execute(request);
  88. responseMsg = response.Content;//获取返回Response消息
  89. }
  90. catch (Exception ex)
  91. {
  92. throw new Exception(ex.Message);
  93. }
  94. return responseMsg;
  95. }
  96. #endregion
  97. }
  98. }