コード例 #1
0
 private static void createKey(string key, Guid parentId, string defaultValue)
 {
     if (!hasKey(key))
     {
         Guid newId = Guid.NewGuid();
         Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(_ConnString, CommandType.Text,
                                                                    "Insert into cmsDictionary (id,parent,[key]) values ('" + newId.ToString() +
                                                                    "','" + parentId.ToString() + "','" + key + "')");
         DictionaryItems.Add(key, newId);
         new DictionaryItem(key).setValue(defaultValue);
     }
     else
     {
         throw new ArgumentException("Key being added already exist!");
     }
 }
コード例 #2
0
        public virtual void Add(TKey key, TItem item)
        {
            var exists = Contains(key);

            if (exists)
            {
                return;
            }

            if (UniqueKeys)
            {
                DictionaryItems.Add(key, item);
            }
            else
            {
                ListItems.Add(new KeyValuePair <TKey, TItem>(key, item));
            }
        }
コード例 #3
0
ファイル: Dictionary.cs プロジェクト: KerwinMa/justEdit-
            private static int createKey(string key, Guid parentId, string defaultValue)
            {
                if (!hasKey(key))
                {
                    Guid newId = Guid.NewGuid();
                    SqlHelper.ExecuteNonQuery("Insert into cmsDictionary (id,parent,[key]) values (@id, @parentId, @dictionaryKey)",
                                              SqlHelper.CreateParameter("@id", newId),
                                              SqlHelper.CreateParameter("@parentId", parentId),
                                              SqlHelper.CreateParameter("@dictionaryKey", key));

                    using (IRecordsReader dr =
                               SqlHelper.ExecuteReader("Select pk, id, [key], parent from cmsDictionary where id=@id",
                                                       SqlHelper.CreateParameter("@id", newId)))
                    {
                        if (dr.Read())
                        {
                            //create new dictionaryitem object and put in cache
                            var item = new DictionaryItem(dr.GetInt("pk"),
                                                          dr.GetString("key"),
                                                          dr.GetGuid("id"),
                                                          dr.GetGuid("parent"));

                            DictionaryItems.Add(item.key, item);

                            item.setValue(defaultValue);

                            item.OnNew(EventArgs.Empty);

                            return(item.id);
                        }
                        else
                        {
                            throw new DataException("Could not load newly created dictionary item with id " + newId.ToString());
                        }
                    }
                }
                else
                {
                    throw new ArgumentException("Key being added already exists!");
                }
            }