public void ProcessRequest(HttpContext context)
        {
            var request     = context.Request;
            var requestBody = new StreamReader(request.InputStream, request.ContentEncoding).ReadToEnd();
            PutDefectInfoToDBRequestData reqData    = JsonConvert.DeserializeObject <PutDefectInfoToDBRequestData>(requestBody);
            Dictionary <string, object>  dictionary = SendDefectInfotoDB(reqData);

            context.Response.ContentType = "application/json";
            context.Response.Write(Newtonsoft.Json.JsonConvert.SerializeObject(dictionary));
        }
        public Dictionary <string, object> SendDefectInfotoDB(PutDefectInfoToDBRequestData reqData)
        {
            Dictionary <string, object> dictionary = new Dictionary <string, object>();
            ArrayList arrayList = new ArrayList();
            DataOpt   dbopt     = new DataOpt();
            bool      isAdd     = true;

            // 解析数据
            foreach (DefectDetailInfoToDB tmp in reqData.selectDefectInfoList)
            {
                if (isAdd)
                {
                    // defectId 与 stopRecord 关联
                    string stopRecordId = "0";
                    for (int pk = 0; pk < reqData.stopRecordList.Count; pk++)
                    {
                        if (tmp.defectId == reqData.stopRecordList[pk].defectId && reqData.stopRecordList[pk].stopRecordId.Count > 0)
                        {
                            stopRecordId = reqData.stopRecordList[pk].stopRecordId[0].ToString();
                        }
                    }

                    int     rowsLine = 0;
                    DataSet ds       = dbopt.insertDefectInfo("0", reqData.ppID, reqData.eventID, reqData.rollNum, reqData.userId, reqData.pathId, "0", "0", "0",
                                                              tmp.defectId, tmp.defectImageName.Substring(tmp.defectImageName.LastIndexOf("/") + 1), tmp.pfCode.Split('_')[0], tmp.pcCode.Split('_')[1], tmp.isTreatment, tmp.startMeter, tmp.endMeter, tmp.remark,
                                                              tmp.webNum.Substring(0, 1), tmp.webNum.Substring(1, 1), tmp.webNum.Substring(2, 1), tmp.webNum.Substring(3, 1), tmp.webNum.Substring(4, 1),
                                                              tmp.webNum.Substring(5, 1), tmp.webNum.Substring(6, 1), tmp.webNum.Substring(7, 1), tmp.webNum.Substring(8, 1), tmp.webNum.Substring(9, 1),
                                                              tmp.dWidth, tmp.dLength, tmp.dArea, stopRecordId);

                    if (ds != null && ds.Tables.Count > 1 && ds.Tables[0].Rows.Count > 0)
                    {
                        Dictionary <string, object> defectInfo = new Dictionary <string, object>();
                        int.TryParse(ds.Tables[0].Rows[0][0].ToString(), out rowsLine);
                        defectInfo.Add("pf_Id", rowsLine);
                        //defectInfo.Add("pf_Code", tmp.pfCode.Split('_')[1]);
                        defectInfo.Add("pf_Code", tmp.pfCode);
                        defectInfo.Add("IsPrintTreatment", tmp.pcCode.Split('_')[0]);
                        defectInfo.Add("BedshaftMeter", tmp.startMeter);
                        defectInfo.Add("WatchSpindleMeter", tmp.endMeter);
                        defectInfo.Add("defectId", tmp.defectId);
                        defectInfo.Add("defectImageName", tmp.defectImageName.Substring(tmp.defectImageName.LastIndexOf("/") + 1));
                        defectInfo.Add("Remark", tmp.remark);
                        defectInfo.Add("Img1", tmp.webNum.Substring(0, 1));
                        defectInfo.Add("Img2", tmp.webNum.Substring(1, 1));
                        defectInfo.Add("Img3", tmp.webNum.Substring(2, 1));
                        defectInfo.Add("Img4", tmp.webNum.Substring(3, 1));
                        defectInfo.Add("Img5", tmp.webNum.Substring(4, 1));
                        defectInfo.Add("Img6", tmp.webNum.Substring(5, 1));
                        defectInfo.Add("Img7", tmp.webNum.Substring(6, 1));
                        defectInfo.Add("Img8", tmp.webNum.Substring(7, 1));
                        defectInfo.Add("Img9", tmp.webNum.Substring(8, 1));
                        defectInfo.Add("Img10", tmp.webNum.Substring(9, 1));
                        if (ds.Tables[1].Rows.Count > 0)
                        {
                            defectInfo.Add("Event_Reason_Code", ds.Tables[1].Rows[0][0].ToString());
                            defectInfo.Add("Start_Time", ds.Tables[1].Rows[0][1].ToString());
                            defectInfo.Add("End_Time", ds.Tables[1].Rows[0][2].ToString());
                        }


                        arrayList.Add(defectInfo); //ArrayList集合中添加键值
                    }
                    else
                    {
                        isAdd = false;
                    }
                }
            }

            // 返回状态,message,defectid, 更新页面两个表格
            if (!isAdd)
            {
                dictionary.Add("state", 2);
                dictionary.Add("errmessage", "写入数据库失败!");
                return(dictionary);
            }

            dictionary.Add("state", 1);
            // 组成一条新数据导入数据库表中
            dictionary.Add("Event_Num", reqData.rollNum);
            dictionary.Add("defectListDB", arrayList);


            return(dictionary);
        }