ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Jsonhelper类

2021-10-23 10:32:56  阅读:170  来源: 互联网

标签:Rows Jsonhelper items auxItemModel ToString Result dataitems


  public static class JsonHelper
        {
            #region json转对象
            /// <summary>
            /// json转对象
            /// </summary>
            /// <param name="JsonText"></param>
            /// <returns></returns>
            public static T JsonToObject<T>(string JsonText) where T : class
            {
                if (string.IsNullOrWhiteSpace(JsonText))
                {
                    return null;
                }
                return JsonConvert.DeserializeObject<T>(JsonText);
            }
            public static List<T> JsonToListObject<T>(string JsonText) where T : class
            {
                if (string.IsNullOrWhiteSpace(JsonText))
                {
                    return null;
                }
                return JsonConvert.DeserializeObject<List<T>>(JsonText);
            }
            #endregion

            #region 对象转json
            /// <summary>
            /// 对象转json
            /// </summary>
            /// <param name="Object"></param>
            /// <returns></returns>
            public static string ObjectToJson(object Object)
            {
                if (Object == null)
                {
                    return null;
                }
                return JsonConvert.SerializeObject(Object);
            }
            #endregion
        }
    }

 上边需要添加nuget  Newtonsoft.Json的v包 下边不需要

  JavaScriptSerializer js = new JavaScriptSerializer();   //实例化一个能够序列化数据的类  0成功 -1失败
   ToJsonMy list = js.Deserialize<ToJsonMy>(str);

 

      public void PostDZFP()
        {
            string SMBH = "913001012";
            #region 赋值
            DataTable dt = DbHelperOra.Query("SELECT (SELECT XINGM FROM GLASS_HUIYXX WHERE HUIYBH=A.HUIYBH) XINGM,A.SHOUKDBH,A.SHISJE JINE,MONEY2CHINESE(A.SHISJE) DXJE,(SELECT XINGM FROM GLASS_USER WHERE BIANH=A.SHOUKR) CAOZY FROM GLASS_SHOUKD A WHERE SHOUKDBH='" + SKDBM + "'").Tables[0];
            DataTable dataitems = DbHelperOra.Query("SELECT A.SHANGPBH SP,B.MINGC MC,B.DANW DW,A.ZHUJ ZJ,A.QIUJ QJ,B.TIAOM TM,B.SPLEIX SPLX,( select LEIXMC from glass_spleix where LEIXBH=B.SPLEIX) SPLXMC,A.SHUL SL,A.DANJ DJ,A.ZHEK ZK,A.ZHEHDJ ZHDJ,A.ZHEHXJ ZHXJ,A.MOLING ML,A.HEJ XJ,(CASE A.ISZS WHEN 0 THEN '否' ELSE '是' END) ISZS,A.BEIZHU BZ FROM GLASS_XIAOSMX A,GLASS_SPXX B WHERE A.SHANGPBH=B.BIANH AND A.XIAOSDBH='" + XSDBH + "'").Tables[0];
            List<auxItemModel> ListauxItemModel = new List<auxItemModel>();
            for (int i = 0; i < dataitems.Rows.Count; i++)
            {
                auxItemModel auxItemModel = new PankuSoft.Model.auxItemModel();
                auxItemModel.auxItemCode = SMBH; //dataitems.Rows[i]["SP"].ToString();
                auxItemModel.auxItemName = dataitems.Rows[i]["MC"].ToString();
                auxItemModel.auxItemRelatedCode = SMBH;//dataitems.Rows[i]["SPLX"].ToString(); ;
                auxItemModel.auxItemRelatedName = dataitems.Rows[i]["SPLXMC"].ToString(); 
                auxItemModel.auxItemQuantity = dataitems.Rows[i]["SL"].ToString();
                auxItemModel.auxItemUnit = dataitems.Rows[i]["DW"].ToString();
                auxItemModel.auxItemStd = dataitems.Rows[i]["DJ"].ToString();
                auxItemModel.auxItemAmount = dataitems.Rows[i]["XJ"].ToString();
                auxItemModel.auxItemRemark = dataitems.Rows[i]["BZ"].ToString();
                ListauxItemModel.Add(auxItemModel);
            }
            List<DZPJCREATEINVOICEITEMS> ListItem = new List<DZPJCREATEINVOICEITEMS>() ;
            DZPJCREATEINVOICEITEMS items = new DZPJCREATEINVOICEITEMS();
            items.itemCode = SMBH;
            items.itemName = "视光门诊";
            items.itemStd = Math.Round((Convert.ToDecimal(dt.Rows[0]["JINE"].ToString())/2),2).ToString();
            items.itemUnit = "元";
            items.itemAmount = dataitems.Rows.Count.ToString();
            items.amount = dt.Rows[0]["JINE"].ToString();
            items.note = dataitems.Rows[0]["BZ"].ToString();
            items.auxItem = ListauxItemModel;
            ListItem.Add(items);
            DZPJCREATEINVOICE DZPJKP = new DZPJCREATEINVOICE()
            {
                reqSource = "2",
                placeCode = "",
                patType = "1",
                patNumber = SKDBM,
                email = "",
                phone = "",
                idcardNo = "",
                type = "1",
                payerPartyType = "1",
                payerPartyCode = "",
                payerPartyName = dt.Rows[0]["XINGM"].ToString(),
                payerAcct = "",
                payerOpBk = "",
                payMode = cmb_FKFS.Text == "支付宝" ? "4" : cmb_FKFS.Text == "微信" ? "4" : "1",
                recName = "",
                recOpBk = "",
                recAcct = "",
                totalAmount = dt.Rows[0]["JINE"].ToString(),
                repCreater = dt.Rows[0]["CAOZY"].ToString(),
                checker = dt.Rows[0]["CAOZY"].ToString(),
                mainExt = new object { },
                items = ListItem
            };
            DZPJRequestModel DZPJModel = new DZPJRequestModel()
            {
                method = DZPJ.createInvoice,
                content = JsonHelper.ObjectToJson(DZPJKP),
                operatorCode = Common.userBH,
                operatorName = Common.userMC,
                requestId = DateTime.Now.ToString("yyyyMMddHHmmss") + "_" + SKDBM,
                security = ""
            };
            #endregion
            string PostUrl = ini.IniReadValue("DZFPURL", "ADDRESS");
            var data = JsonHelper.JsonToObject<DZPJResponseModel>(HttpRespost.Post(DZPJModel, PostUrl)) as DZPJResponseModel;
            if (data.code == "0")
            {
                XtraMessageBox.Show("电子票据开具失败,请开先纸质票,然后联系管理员!", "提示");
                if (DialogResult.OK==XtraMessageBox.Show("是否开纸质凭证","提示",MessageBoxButtons.OKCancel))
                {
                    if (cmb_FKFS.Text == "微信支付")
                    {
                        ReportClass.PrintShouKDXP(SKDBM);
                    }
                    if (cmb_FKFS.Text != "医保")
                    {
                        ReportClass.PrintShouKD(SKDBM);
                    }
                }
            }
            else
            {
                var Result = JsonHelper.JsonToObject<DZPJCREATEINVOICERESULT>(data.data.ToString());
                string strSql = $"INSERT INTO DZPJCREATEINVOICERESULT VALUES ('{Result.SERIALNUMBER}','{Result.EINVOICECODE }','{Result.EINVOICENUMBER}','{Result.RANDOMNUMBER}','{Result.ISSUEDATE}','{Result.ISSUETIME}','{Result.BILLPDFADDR}','{Result.BILLPDFURL}','{Result.PLATFORMCHECKURL}','{Result.FILE}','{Result.NOWSTOCK}')";
                int res = DbHelperOra.ExecuteSql(strSql);
                ReportClass.PrintShouKDXPDZPJ(SKDBM);
            }

        }

 

标签:Rows,Jsonhelper,items,auxItemModel,ToString,Result,dataitems
来源: https://www.cnblogs.com/iowoi/p/15342237.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有