private BUS.IMPORT_SCHEMAControl AddValidatedList(BUS.IMPORT_SCHEMAControl _importCtr, string db, string xml) { _importCtr.ListV.Clear(); _importCtr.LKey.Clear(); _importCtr.DtStruct = BUS.IMPORT_SCHEMAControl.GetStruct(xml); foreach (DataRow row in _importCtr.DtStruct.Rows) { if ((row["Tag"] != DBNull.Value && row["Tag"].ToString() != "") || (row["IsNull"] == DBNull.Value || row["IsNull"].ToString() == "False")) { if (row["Tag"] != DBNull.Value && row["Tag"].ToString() != "") { objValidatedList objVal = new objValidatedList(row["Tag"]); ValueList validate = new ValueList(); if (row["IsNull"] != DBNull.Value && row["IsNull"].ToString() == "True") { validate.IsNull = true; } else { validate.IsNull = false; } validate.Key = row["Key"].ToString(); validate.Message = objVal.Message; BUS.LIST_QDControl ctr = new BUS.LIST_QDControl(); DTO.LIST_QDInfo inf = ctr.Get_LIST_QD(db, objVal.QD, ref _sErr); QueryBuilder.SQLBuilder sqlB = QueryBuilder.SQLBuilder.LoadSQLBuilderFromDataBase(inf.QD_ID, inf.DTB, inf.ANAL_Q0); sqlB.StrConnectDes = Form_QD._strConnectDes; DataTable dt = sqlB.BuildDataTable(inf.SQL_TEXT); foreach (DataRow aRow in dt.Rows) { if (!validate.Content.Contains(aRow[objVal.Field].ToString().Trim())) { validate.Content.Add(aRow[objVal.Field].ToString().Trim()); } } _importCtr.ListV.Add(validate); } else { ValueList validate = new ValueList(); //if (row["IsNull"] == DBNull._Value || row["IsNull"].ToString() == "False") validate.IsNull = false; validate.Key = row["Key"].ToString(); _importCtr.ListV.Add(validate); } } if (row["PrimaryKey"].ToString() == "True") { _importCtr.LKey.Add(row["Key"].ToString()); } } return(_importCtr); }
public DataTable ValidatedDataTransferIn(DataTable dt, string type) { DataTable dtStruct = new DataTable(); if (type == "QD") { BUS.LIST_QDControl control = new LIST_QDControl(); dtStruct = control.ToTransferInStruct(); } else if (type == "QDADD") { BUS.LIST_QD_SCHEMAControl control = new LIST_QD_SCHEMAControl(); dtStruct = control.ToTransferInStruct(); } DataColumn colValidated = new DataColumn("tmp_Validated", typeof(bool)); dt.Columns.Add(colValidated); foreach (DataRow row in dt.Rows) { bool flag = true; foreach (DataColumn col in dtStruct.Columns) { if (flag) { switch (col.DataType.ToString()) { case "System.Decimal": Decimal result; flag = Decimal.TryParse(row[col.ColumnName].ToString(), out result); break; case "System.Int16": Int16 resultInt16; flag = Int16.TryParse(row[col.ColumnName].ToString(), out resultInt16); break; case "System.Int32": Int32 resultInt32; flag = Int32.TryParse(row[col.ColumnName].ToString(), out resultInt32); break; case "System.Int64": Int64 resultInt64; flag = Int64.TryParse(row[col.ColumnName].ToString(), out resultInt64); break; case "System.Boolean": Boolean resultBoolean; flag = Boolean.TryParse(row[col.ColumnName].ToString(), out resultBoolean); break; } } else { break; } } row["tmp_Validated"] = flag; } return(dt); }