コード例 #1
0
ファイル: FirebirdSQLClass.cs プロジェクト: ruslan81/FIS
        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);
        }