public List <detail_OBJ> getAll(params spParam[] listFilter) { List <detail_OBJ> lidata = new List <uni.detail_OBJ>(); string sql = "SELECT * FROM view_ChiTietTieuChiSinhVien"; string swhere = ""; SqlCommand cm = new SqlCommand(); foreach (var item in listFilter) { if (swhere != "") { swhere += " AND "; } if (item.data == null) { //cm.Parameters.Add("@" + f.Name, st); //cm.Parameters["@" + f.Name].Value = DBNull.Value; swhere += "[" + item.name + "]" + " is null"; } else { if (item.searchtype == 0) { swhere += "[" + item.name + "]= @" + item.name; cm.Parameters.Add(new SqlParameter("@" + item.name, item.data)); } else { swhere += "[" + item.name + "] LIKE @" + item.name; cm.Parameters.Add(new SqlParameter("@" + item.name, "%" + item.data + "%")); } } } if (swhere != "") { sql += " WHERE " + swhere; } cm.CommandText = sql; cm.CommandType = CommandType.Text; DataSet ds = new DataSet(); int ret = db.getCommand(ref ds, "Tmp", cm); if (ret < 0) { return(null); } else { foreach (DataRow dr in ds.Tables["Tmp"].Rows) { detail_OBJ obj = new detail_OBJ(); Type myTableObject = typeof(detail_OBJ); System.Reflection.PropertyInfo[] selectFieldInfo = myTableObject.GetProperties(); Type myObjectType = typeof(detail_OBJ.BusinessObjectID); System.Reflection.PropertyInfo[] fieldInfo = myObjectType.GetProperties(); //set object value foreach (System.Reflection.PropertyInfo info in selectFieldInfo) { if (info.Name != "_ID") { if (dr.Table.Columns.Contains(info.Name)) { if (!dr.IsNull(info.Name)) { info.SetValue(obj, dr[info.Name], null); } } } else { //set id value detail_OBJ.BusinessObjectID objid; objid = (detail_OBJ.BusinessObjectID)info.GetValue(obj, null); foreach (System.Reflection.PropertyInfo info1 in fieldInfo) { if (dr.Table.Columns.Contains(info1.Name)) { info1.SetValue(objid, dr[info1.Name], null); } } info.SetValue(obj, objid, null); } } lidata.Add(obj); } } return(lidata); }
public detail_OBJ createObject() { detail_OBJ obj = new detail_OBJ(); return(obj); }