JsonToDataset

      private DataSet JsonToDataset(string json)
        {

            string newJson = "{\"root\":" + json + "}";

            //将JSON转成XML
            XmlDocument doc = JsonConvert.DeserializeXmlNode(newJson, "root");
            //将XML转成DataSet
            StringReader sr = new StringReader(doc.InnerXml);
            DataSet ds = new DataSet();
            ds.ReadXml(sr);
            return ds;
        }
/// <summary>
        /// /在这里请求该人员的历史理赔记录接口Historical Claim Record
        /// </summary>
        /// <param name="requestData"></param>

        private void GetHistoricalClaimRecordFromMX_ELR(string requestData = "")
        {
            System.DateTime startTime = System.TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区
                                                                                                                      //时间戳毫秒值,例:1599553199018
            long currenttimemillis = (long)(DateTime.Now - startTime).TotalMilliseconds;
            string timestamp = currenttimemillis.ToString();
            //签名 加密sign 字段  签名方式 :时间戳 + 秘钥的md5值 Sign = Md5(timestamp + key)

            string sign = timestamp + token;
            string signature = HttpOther.Md5Encrypt(sign);
            //signature = signature.ToUpper();
            string url = send_url_history + "?timestamp=" + timestamp + "&sign=" + signature;//生成镁信要求代签名字符串             

            string strJsonData = requestData.ToString();

            //回传
            string Recontent = HttpPost(url, strJsonData);//返回内容

            //开始解析 将jasn转换成DataSet
            DataSet dsJson = JsonToDataset(Recontent);
            //响应参数
            JObject reJsonData = JObject.Parse(Recontent);
        
            string reMsg = "";
            LogInfo loginfo = new LogInfo();

            string resultCode = reJsonData["code"].ToString();//200000-成功 其他-失败
            string resultMsg = reJsonData["message"].ToString();//错误消息
            string result = reJsonData["result"].ToString();//返回结果

        }

发送

 public static string HttpPost(string posturl, string postData)
        {
            Stream outstream = null;
            Stream instream = null;
            StreamReader sr = null;
            HttpWebResponse response = null;
            HttpWebRequest request = null;
            Encoding encoding = System.Text.Encoding.GetEncoding("utf-8");
            byte[] data = encoding.GetBytes(postData);
            // 准备请求...
            try
            {
                // 设置参数
               
                CookieContainer cookieContainer = new CookieContainer();

               // request.ServerCertificateValidationCallback = delegate { return true; };
               //解决,https 基础链接关闭。
                ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
                ServicePointManager.SecurityProtocol = (SecurityProtocolType)192 | (SecurityProtocolType)768 | (SecurityProtocolType)3072;
                request = WebRequest.Create(posturl) as HttpWebRequest;
                // request.Connection = "keep-alive";
                request.CookieContainer = cookieContainer;
                request.AllowAutoRedirect = true;
                request.Method = "POST";
                request.ContentType = "application/json";
                request.ContentLength = data.Length;


                outstream = request.GetRequestStream();
                outstream.Write(data, 0, data.Length);
                outstream.Close();
                //发送请求并获取相应回应数据
                response = request.GetResponse() as HttpWebResponse;
                //直到request.GetResponse()程序才开始向目标网页发送Post请求
                instream = response.GetResponseStream();
                sr = new StreamReader(instream, encoding);
                //返回结果网页(html)代码
                string content = sr.ReadToEnd();
                string err = string.Empty;
                return content;
            }
            catch (Exception ex)
            {
                string err = ex.Message;
                return err;
            }
        }
     /// <summary>
        /// 拷贝文件夹
        ///By Wang Hw  www.pegete.com.cn 
        /// </summary>
        /// <param name="srcdir"></param>
        /// <param name="desdir"></param>
        private void CopyDirectory(string srcdir, string desdir)
        {
            string folderName = srcdir.Substring(srcdir.LastIndexOf("\\") + 1);

            string desfolderdir = desdir + "\\" + folderName;

            if (desdir.LastIndexOf("\\") == (desdir.Length - 1))
            {
                desfolderdir = desdir + folderName;
            }
            string[] filenames = Directory.GetFileSystemEntries(srcdir);


            foreach (string file in filenames)// 遍历所有的文件和目录
            {
                if (Directory.Exists(file))// 先当作目录处理如果存在这个目录就递归Copy该目录下面的文件
                {

                    string currentdir = desfolderdir + "\\" + file.Substring(file.LastIndexOf("\\") + 1);
                    if (!Directory.Exists(currentdir))
                    {
                        Directory.CreateDirectory(currentdir);
                    }

                    CopyDirectory(file, desfolderdir);

                }
                else // 否则直接copy文件
                {
                    string srcfileName = file.Substring(file.LastIndexOf("\\") + 1);

                    if (srcfileName.ToLower().Contains(".jpg"))
                    {
                        srcfileName = desfolderdir + "\\" + srcfileName;

                        using (FileStream fileName = new FileStream(file, FileMode.Open))
                        {
                            string name = Path.GetFileName(file);


                            Double ii = getImageSize(file);

                            if (ii >= 0.5 && ii < 1)
                            {
                                var img = CompressionImage(fileName, 50L);//压缩图像 by readingzb 2019-04-04
                                if (!Directory.Exists(desfolderdir))
                                {
                                    Directory.CreateDirectory(desfolderdir);
                                }

                                CreateImageFromBytes(desfolderdir + @"\" + name, img);
                                Thread.Sleep(500);
                            }
                            if (ii >= 1)
                            {
                                var img = CompressionImage(fileName, 40L);//压缩图像 by readingzb 2019-04-04
                                if (!Directory.Exists(desfolderdir))
                                {
                                    Directory.CreateDirectory(desfolderdir);
                                }

                                CreateImageFromBytes(desfolderdir + @"\" + name, img);
                                Thread.Sleep(1000);
                            }
                            if (ii > 0 && ii < 0.5)
                            {
                                if (!Directory.Exists(desfolderdir))
                                {
                                    Directory.CreateDirectory(desfolderdir);
                                }
                                File.Copy(file, srcfileName, true);
                            }
                        }
                    }
                    else if (srcfileName.ToLower().Contains(".pdf")
                        || srcfileName.ToLower().Contains(".tif")
                        || srcfileName.ToLower().Contains(".tiff")
                        || srcfileName.ToLower().Contains(".gif")
                        || srcfileName.ToLower().Contains(".bmp")
                        || srcfileName.ToLower().Contains(".jpeg")
                        || srcfileName.ToLower().Contains(".png"))
                    {
                        if (!Directory.Exists(desfolderdir))
                        {
                            Directory.CreateDirectory(desfolderdir);
                        }

                        srcfileName = desfolderdir + "\\" + srcfileName;

                        File.Copy(file, srcfileName, true);
                    }


                }

            }
        }



        //url 下载的路径    
        //FileName  保存的文件名   
        public static void DownLoadFile(String url, String FileName)
        {
            try
            {
                FileStream outputStream = new FileStream(Application.StartupPath + @"\" + FileName, FileMode.Create);
                WebRequest request = WebRequest.Create(url);
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                Stream httpStream = response.GetResponseStream();
                long cl = response.ContentLength;
                int bufferSize = 2048;
                int readCount;
                byte[] buffer = new byte[bufferSize];
                readCount = httpStream.Read(buffer, 0, bufferSize);
                while (readCount > 0)
                {
                    outputStream.Write(buffer, 0, readCount);

                    readCount = httpStream.Read(buffer, 0, bufferSize);
                }
                httpStream.Close();

                outputStream.Close();

                response.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("文件下载失败错误为" + ex.Message.ToString(), "温馨提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
  /// <summary>
        ///功能  : 根据参数生成编码号,支持事务
        ///参数  : string tableName, string fieldName, SqlTransaction tran
        ///返回值: 生成的编码
        /// </summary>
        public static string getNumberByTableAndField(string tableName, string fieldName)
        {
            SqlConnection _con = new SqlConnection(connectionString);
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = _con;
            cmd.CommandText = "WD_getMB";
            cmd.CommandType = CommandType.StoredProcedure;

            SqlParameter param = new SqlParameter("@tableName", SqlDbType.VarChar, 100);
            param.Direction = ParameterDirection.Input;
            param.Value = tableName;
            cmd.Parameters.Add(param);

            param = new SqlParameter("@fieldName", SqlDbType.VarChar, 100);
            param.Direction = ParameterDirection.Input;
            param.Value = fieldName;
            cmd.Parameters.Add(param);

            param = new SqlParameter("@MB", SqlDbType.VarChar, 100);
            param.Direction = ParameterDirection.Output;
            //param.Value = tableName;
            cmd.Parameters.Add(param);
            try
            {
                _con.Open();
                cmd.ExecuteNonQuery();
                string numberStr = cmd.Parameters["@MB"].Value.ToString();
                if (numberStr.IndexOf("error.") == 0)
                    throw new Exception(numberStr.Substring(6));
                return numberStr;

            }
            catch (Exception err)
            {
                throw (err);
            }
            finally
            {
                _con.Close();
                _con = null;

            }
        }
  public void Add_BPO_Document(BPO_ImageZip_MX Model)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("insert into BPO_Document(");
            strSql.Append("ImageZipID,DocumentID,DCNType,RuleDefineID)");
            strSql.Append(" values (");
            strSql.Append("@ImageZipID,@DocumentID,@DCNType,@RuleDefineID)");
            SqlParameter[] parameters = {
                    new SqlParameter("@ImageZipID", SqlDbType.VarChar,20),
                    new SqlParameter("@DocumentID", SqlDbType.VarChar,50),
                    new SqlParameter("@DCNType", SqlDbType.VarChar,50),
                    new SqlParameter("@RuleDefineID", SqlDbType.VarChar,50)


            };

            string DocumentID = DbHelperSQL.getNumberByTableAndField("BPO_Document", "DocumentID");

            parameters[0].Value = Model.ImageZipID;
            parameters[1].Value = DocumentID;

            parameters[2].Value = "2";
            parameters[3].Value = "0000001107";

            DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
        }
USE [BPO_QHSH_CXZF_SH]
GO
/****** Object:  StoredProcedure [dbo].[WD_getMB]    Script Date: 2023/7/3 13:15:40 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO





-- =============================================
-- Author:		
-- Create date: 
-- Description:	为任意一个表生成编号
-- =============================================
ALTER PROCEDURE [dbo].[WD_getMB]
	-- Add the parameters for the stored procedure here
	@tableName  varchar(100), --表名
    @fieldName  varchar(100), --字段名
	@MB         varchar(100) OUTPUT ---生成的编码
AS
BEGIN
  DECLARE @BMGSStr varchar(200)  --编码公式
  DECLARE @BGPOS INT          --取编码编号的开始位置
  DECLARE @CHARNUM INT        --要取的编码的位数
  DECLARE @STR varchar(10)    --存放公式编号
  DECLARE @SubMB varchar(50)  --存放生成的子编码
  if (@tableName is null) or (RTRIM(LTRIM(@tableName))='')
  begin
    set @MB='error.传入的参数表名为空或空串'---传入的参数表名为空或空串
    return  
  end   
  if (@fieldName is null) or (RTRIM(LTRIM(@fieldName))='')
  begin
    set @MB='error.传入的参数字段名为空或空串'---传入的参数字段名为空或空串
    return  
  end     
  select @BMGSStr=BMGS from T_BMB where WLBM=RTRIM(LTRIM(@tableName)) and WLZDM=RTRIM(LTRIM(@fieldName))	
  if (@BMGSStr is null)
  begin
    set @MB='error.没有编码公式'--没有编码公式
    return  
  end
  set @BMGSStr=RTRIM(LTRIM(@BMGSStr))
  if (@BMGSStr='')
  begin
    set @MB='error.没有编码公式'--没有编码公式
    return  
  end
  set @MB=''
  set @BGPOS=1
  BEGIN TRANSACTION
  while(1=1)
  begin
    set @CHARNUM=CHARINDEX('+',@BMGSStr,@BGPOS)-@BGPOS 
    if @CHARNUM<=0 
    begin 
      set @CHARNUM=LEN(@BMGSStr)-@BGPOS+1
      set @STR=RTRIM(LTRIM(SUBSTRING(@BMGSStr,@BGPOS,@CHARNUM)))
      if @STR=''
      begin
        set @MB='error.编码公式不正确' --编码公式不正确
        ROLLBACK TRANSACTION
        return
      end
      else
      begin
        EXEC getSubMB @STR,@SubMB OUTPUT
        if CHARINDEX('error.',@SubMB)>0
        begin
          set @MB=@SubMB
          ROLLBACK TRANSACTION
          return
        end
        set @MB=@MB+@SubMB `在这里插入代码片`
        COMMIT TRANSACTION
        break
      end
    end
    set @STR=RTRIM(LTRIM(SUBSTRING(@BMGSStr,@BGPOS,@CHARNUM)))
    if @STR=''
    begin
      set @MB='error.编码公式不正确' --编码公式不正确
      ROLLBACK TRANSACTION
      return
    end
    EXEC getSubMB @STR,@SubMB OUTPUT
    if CHARINDEX('error.',@SubMB)>0
    begin
      set @MB=@SubMB
      ROLLBACK TRANSACTION
      return
    end
    set @MB=@MB+@SubMB  
    set @BGPOS=@BGPOS+@CHARNUM+1
  end
END








  public static string HttpPost(string posturl, string postData)
        {
            Stream outstream = null;
            Stream instream = null;
            StreamReader sr = null;
            HttpWebResponse response = null;
            HttpWebRequest request = null;
            Encoding encoding = System.Text.Encoding.GetEncoding("utf-8");
            byte[] data = encoding.GetBytes(postData);
            // 准备请求...
            try
            {
                // 设置参数
               
                CookieContainer cookieContainer = new CookieContainer();

               // request.ServerCertificateValidationCallback = delegate { return true; };
               
                ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
                ServicePointManager.SecurityProtocol = (SecurityProtocolType)192 | (SecurityProtocolType)768 | (SecurityProtocolType)3072;
                request = WebRequest.Create(posturl) as HttpWebRequest;
                // request.Connection = "keep-alive";
                request.CookieContainer = cookieContainer;
                request.AllowAutoRedirect = true;
                request.Method = "POST";
                request.ContentType = "application/json";
                request.ContentLength = data.Length;


                outstream = request.GetRequestStream();
                outstream.Write(data, 0, data.Length);
                outstream.Close();
                //发送请求并获取相应回应数据
                response = request.GetResponse() as HttpWebResponse;
                //直到request.GetResponse()程序才开始向目标网页发送Post请求
                instream = response.GetResponseStream();
                sr = new StreamReader(instream, encoding);
                //返回结果网页(html)代码
                string content = sr.ReadToEnd();
                string err = string.Empty;
                return content;
            }
            catch (Exception ex)
            {
                string err = ex.Message;
                return err;
            }
        }

        /// <summary>
        /// 对字符串md5加密
        /// </summary>
        /// <param name="source">源字符串</param>
        /// <param name="encoding">编码类型</param>
        /// <returns>加密后的十六进制字符串</returns>
        public static string Md5Encrypt(string source, Encoding encoding = null)
        {
            if (encoding == null) encoding = Encoding.UTF8;

            byte[] byteArray = encoding.GetBytes(source);
            using (HashAlgorithm hashAlgorithm = new MD5CryptoServiceProvider())
            {
                byteArray = hashAlgorithm.ComputeHash(byteArray);
                StringBuilder stringBuilder = new StringBuilder();
                foreach (byte item in byteArray)
                {
                    stringBuilder.AppendFormat("{0:x2}", item);
                }
                hashAlgorithm.Clear();
                return stringBuilder.ToString();
            }
        }
        public static string PasswordEncryption1(string pwd)
        {
            //创建SHA1加密算法对象
            SHA1 sha1 = SHA1.Create();
            //将原始密码转换为字节数组
            byte[] originalPwd = Encoding.UTF8.GetBytes(pwd);
            //执行加密
            byte[] encryPwd = sha1.ComputeHash(originalPwd);
            //将加密后的字节数组转换为大写字符串
            return string.Join("", encryPwd.Select(b => string.Format("{0:x2}",
           b)).ToArray()).ToUpper();
        }
        ///<summary>
        /// 随机字符串 
        ///</summary>
        /// <param name="length">长度</param>
        ///<returns></returns>
        public static string GetRandomString(int length)
        {
            byte[] b = new byte[32];
            RandomNumberGenerator.Create().GetBytes(b);
           System.Random random = new System.Random(BitConverter.ToInt32(b, 0));
            string str = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
            string returnStr = string.Empty;
            for (int i = 0; i < length; i++)
            {
                returnStr += str.Substring(random.Next(0, str.Length - 1), 1);
            }
            return returnStr;
        }
        private DataSet JsonToDataset(string json)
        {

            string newJson = "{\"root\":" + json + "}";

            //将JSON转成XML
            XmlDocument doc = JsonConvert.DeserializeXmlNode(newJson, "root");
            //将XML转成DataSet
            StringReader sr = new StringReader(doc.InnerXml);
            DataSet ds = new DataSet();
            ds.ReadXml(sr);
            return ds;
        }


        public bool WriteLog(string filePath, string DocumentId, string log_info)
        {
            if (log_info == "")
            {
                log_info = "\r\n" + "[" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "]" + "---" + DocumentId + "---案件:发送成功。" + "\r\n";
            }
            if (!Directory.Exists(filePath))
            {
                Directory.CreateDirectory(filePath);
            }

            FormMainFuture.FormMainFutureStatic.ProcessShowLog(log_info);

            bool flag = true;
            File.AppendAllText(filePath + "\\" + DateTime.Now.ToString("yyyy-MM-dd") + "镁信发送案件日志.txt", log_info);
            log = "";
            return flag;

        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是刘彦宏吖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值