public FRoute(FRoute obj) { PropertyInfo[] p = obj.GetType().GetProperties(); // get entity properties for (int i = 0; i < (p.Length); i++) { if (!p[i].PropertyType.Name.Contains("list") && !p[i].Name.Contains("arg")) p[i].SetValue(this, p[i].GetValue(obj, null), null); // set entity's property values to obj properties } }
private void FetchRouteList(int id, IDBManager dbmgr) { string qryString = "SELECT DISTINCT RM_ID, RM, FZ_ID, FZ, NODE_ID, NODE FROM viewFRDATA WHERE NODE IS NOT NULL AND RM_ID=@rm_id " + "UNION " + "SELECT DISTINCT RM_ID, RM, FZ_ID, FZ, NODE_ID, NODE FROM viewROUTELOCA_FR WHERE NODE_ID IS NOT NULL AND RM_ID=@rm_id " + "ORDER BY NODE"; FRoute item = new FRoute(); ArrayList list = new ArrayList(); PropertyInfo[] p = item.GetType().GetProperties(); // get property info for item dbmgr.CreateParameters(1); // create required parameters dbmgr.AddParameters(0, "@rm_id", id); // component id dbmgr.ExecuteReader(CommandType.Text, qryString); // execute query while (dbmgr.DataReader.Read()) { item = new FRoute(); // create new item item = (FRoute)FetchObject(item, p, dbmgr); list.Add(item); // add item to ArrayList } dbmgr.CloseReader(); _fireroom.routelist = list; // update object item list }