void GetReportPPCData(TransitionFilter oFilter, ref List<_TPEMCollect> collectList, ref List<_TPEMMain> mainList, ref List<_TPEMDown> downList) { string strSql = GetReportPPCDataSQL(oFilter); MainDBDataContext db = new MainDBDataContext(strConnectionString); db.Connection.Open(); //foreach (DataRow item in objReturn.Tables[0].Rows) //{ // if (dicSpeed.ContainsKey(item["cMachineCode"].ToString().Trim())) // { // item["iIdealSpeed1"] = dicSpeed[item["cMachineCode"].ToString().Trim()][0]; // item["iIdealSpeed2"] = dicSpeed[item["cMachineCode"].ToString().Trim()][1]; // item["lIsExist"] = 1; // } //} //foreach (DataRow item in objReturn.Tables[1].Rows) //{ // if (dicSpeed.ContainsKey(item["cMachineCode"].ToString().Trim())) // { // item["iIdealSpeed1"] = dicSpeed[item["cMachineCode"].ToString().Trim()][0]; // item["iIdealSpeed2"] = dicSpeed[item["cMachineCode"].ToString().Trim()][1]; // item["lIsExist"] = 1; // } //} System.Data.SqlClient.SqlCommand command = new System.Data.SqlClient.SqlCommand( strSql.Trim().ToString(), (System.Data.SqlClient.SqlConnection)db.Connection); using (System.Data.Common.DbDataReader reader = command.ExecuteReader()) { collectList = new List<_TPEMCollect>(); while (reader.Read()) { _TPEMCollect tmp = new _TPEMCollect() { //fSpeed = Convert.ToDecimal(reader[0].ToString()), //fSpeed2 = Convert.ToDecimal(reader[1].ToString()), //cMachineCode = reader[2].ToString() dDate = Convert.ToDateTime(reader[0].ToString()), cShift = reader[1].ToString(), cMachineCode = reader[2].ToString(), iTotalOperation = Convert.ToInt32(reader[3].ToString()), iTotalMeal = Convert.ToInt32(reader[4].ToString()), iTotalDown = Convert.ToInt32(reader[5].ToString()), iTotlaCoversion = Convert.ToInt32(reader[6].ToString()), iIdealSpeed1 = Convert.ToDecimal(reader[7].ToString()), iIdealSpeed2 = Convert.ToDecimal(reader[8].ToString()), lIsExist = Convert.ToBoolean(reader[9]) }; if (dicSpeed.ContainsKey(tmp.cMachineCode.ToString().Trim())) { tmp.iIdealSpeed1 = dicSpeed[tmp.cMachineCode.ToString().Trim()][0]; tmp.iIdealSpeed2 = dicSpeed[tmp.cMachineCode.ToString().Trim()][1]; tmp.lIsExist = true; } collectList.Add(tmp); } reader.NextResult(); mainList = new List<_TPEMMain>(); while (reader.Read()) { _TPEMMain tmp = new _TPEMMain() { iRowID = reader.IsDBNull(0) ? 0 : Convert.ToInt32(reader[0].ToString()), cUnit = reader.IsDBNull(1) ? "" : reader[1].ToString(), cGroup = reader.IsDBNull(2) ? "" : reader[2].ToString(), dDate = reader.IsDBNull(3) ? DateTime.MinValue : Convert.ToDateTime(reader[3].ToString()), cShift = reader.IsDBNull(4) ? "" : reader[4].ToString(), iShift = reader.IsDBNull(5) ? "" : reader[5].ToString(), cMachineCode = reader.IsDBNull(6) ? "" : reader[6].ToString(), cProject = reader.IsDBNull(7) ? "" : reader[7].ToString(), cProduct = reader.IsDBNull(8) ? "" : reader[8].ToString(), cSONO = reader.IsDBNull(9) ? "" : reader[9].ToString(), cProjection = reader.IsDBNull(10) ? "" : reader[10].ToString(), dProjectStart = reader.IsDBNull(11) ? DateTime.MinValue : Convert.ToDateTime(reader[11].ToString()), dProjectCover = reader.IsDBNull(12) ? DateTime.MinValue : Convert.ToDateTime(reader[12].ToString()), dprojectEnd = reader.IsDBNull(13) ? DateTime.MinValue : Convert.ToDateTime(reader[13].ToString()), iRealQty = reader.IsDBNull(14) ? 0 : Convert.ToInt32(reader[14].ToString()), iDefectiveQty = reader.IsDBNull(15) ? 0 : Convert.ToInt32(reader[15].ToString()), iWasteQty = reader.IsDBNull(16) ? 0 : Convert.ToInt32(reader[16].ToString()), iOperationTime = reader.IsDBNull(17) ? 0 : Convert.ToInt32(reader[17].ToString()), iMealTime = reader.IsDBNull(18) ? 0 : Convert.ToInt32(reader[18].ToString()), iDownTime = reader.IsDBNull(19) ? 0 : Convert.ToInt32(reader[19].ToString()), iCoversionTime = reader.IsDBNull(20) ? 0 : Convert.ToInt32(reader[20].ToString()), iIdealSpeed = reader.IsDBNull(21) ? 0 : float.Parse(reader[21].ToString()), iIdealSpeed1 = reader.IsDBNull(22) ? 0 : Convert.ToInt32(reader[22].ToString()), iIdealSpeed2 = reader.IsDBNull(23) ? 0 : Convert.ToInt32(reader[23].ToString()), iUnit = reader.IsDBNull(24) ? "" : reader[24].ToString(), cUnitCD = reader.IsDBNull(25) ? "" : reader[25].ToString(), cArea = reader.IsDBNull(26) ? "" : reader[26].ToString(), dAddDate = reader.IsDBNull(27) ? DateTime.MinValue : Convert.ToDateTime(reader[27].ToString()), cAdd = reader.IsDBNull(28) ? "" : reader[28].ToString(), dLastDate = reader.IsDBNull(29) ? DateTime.MinValue : Convert.ToDateTime(reader[29].ToString()), cLast = reader.IsDBNull(30) ? "" : reader[30].ToString(), ID = reader.IsDBNull(31) ? "" : reader[31].ToString(), dShiftBegin = reader.IsDBNull(32) ? DateTime.MinValue : Convert.ToDateTime(reader[32].ToString()), dShiftEnd = reader.IsDBNull(33) ? DateTime.MinValue : Convert.ToDateTime(reader[33].ToString()), iShiftOperation = reader.IsDBNull(34) ? 0 : Convert.ToInt32(reader[34].ToString()), iShiftMeal = reader.IsDBNull(35) ? 0 : Convert.ToInt32(reader[35].ToString()), iShiftDown = reader.IsDBNull(36) ? 0 : Convert.ToInt32(reader[36].ToString()), iShiftCoversion = reader.IsDBNull(37) ? 0 : Convert.ToInt32(reader[37].ToString()), lIsProject = Convert.ToBoolean(reader[38]) }; if (dicSpeed.ContainsKey(tmp.cMachineCode.ToString().Trim())) { tmp.iIdealSpeed1 = dicSpeed[tmp.cMachineCode.ToString().Trim()][0]; tmp.iIdealSpeed2 = dicSpeed[tmp.cMachineCode.ToString().Trim()][1]; tmp.lIsExist = true; } mainList.Add(tmp); } //mainList = b.ToList(); reader.NextResult(); reader.NextResult(); var b = db.Translate<_TPEMDown>(reader); downList = b.ToList(); } }