private ReflectObjectToTableClass AddRecords(ReflectObjectToTableClass reflectionClass, SQLDB sqlDb) { Params parameters = new Params(); ReflectObjectToTableClass myAddedParameters = new ReflectObjectToTableClass(); //SQLDB sqlDB = new SQLDB(connectionString); string lastCashName = ""; int paramId = -1; // sqlDB.OpenConnection(); //sqlDB.OpenTransaction(); // Console.WriteLine("Adding Parameters...."); foreach (int n in reflectionClass.getAllItemsLevels()) { foreach (ReflectionClass item in reflectionClass.GetItemsByLevel(n)) { /*Новая версия с развитым кешем*/ paramId = GetParamIdFromCashe(item.name, -1, true); if (paramId == -1) { paramId = parameters.AddParam(item.name, item.GetParentParamName(), 0, sqlDb); if (paramId == -1) { throw new Exception("Error adding parameters!"); } GetParamIdFromCashe(item.name, paramId, false); } /*Новая версия с развитым кешем*/ ReflectionClass r = new ReflectionClass(); r.name = item.name; r.PARAM_ID = paramId; //старая версия с одним кешем r.value = item.value; myAddedParameters.reflectedItemsList.Add(r); } } return(myAddedParameters); }