public static DynamicDictionaryStorageModel Generate(string key, DynamicListValue value)
        {
            var storageObject = new DynamicDictionaryStorageModel();

            storageObject.Key   = key;
            storageObject.Value = JsonConvert.SerializeObject(value.ToList());
            return(storageObject);
        }
Example #2
0
        public DynamicDictionary Load()
        {
            var connection = new SQLiteConnection(DataBasePath);

            connection.CreateTable <DynamicDictionaryStorageModel>();
            var table = connection.Table <DynamicDictionaryStorageModel>().ToList();

            DynamicDictionary dictionary = new DynamicDictionary();

            foreach (var entry in table)
            {
                dictionary.Add(entry.Key, DynamicDictionaryStorageModel.GetDynamicListValue(entry.Value));
            }

            return(dictionary);
        }
Example #3
0
        public async Task <DynamicDictionary> LoadAsync()
        {
            var connection = new SQLiteAsyncConnection(DataBasePath);

            await connection.CreateTableAsync <DynamicDictionaryStorageModel>();

            var table = await connection.Table <DynamicDictionaryStorageModel>().ToListAsync();

            DynamicDictionary dictionary = new DynamicDictionary();

            foreach (var entry in table)
            {
                dictionary.Add(entry.Key, DynamicDictionaryStorageModel.GetDynamicListValue(entry.Value));
            }

            return(dictionary);
        }
Example #4
0
        public async Task <bool> SaveAsync(DynamicDictionary dictionary, DynamicDictionarySaveMotive motive)
        {
            var connection = new SQLiteAsyncConnection(DataBasePath);
            await connection.CreateTableAsync <DynamicDictionaryStorageModel>();

            foreach (var pair in dictionary.ToDictionary())
            {
                var model = DynamicDictionaryStorageModel.Generate(pair.Key, pair.Value);

                if (await connection.Table <DynamicDictionaryStorageModel>().Where(z => z.Key == pair.Key).CountAsync() > 0)
                {
                    await connection.UpdateAsync(model);
                }
                else
                {
                    await connection.InsertAsync(model);
                }
            }

            return(true);
        }
Example #5
0
        public bool Save(DynamicDictionary dictionary, DynamicDictionarySaveMotive motive)
        {
            var connection = new SQLiteConnection(DataBasePath);

            connection.CreateTable <DynamicDictionaryStorageModel>();

            foreach (var pair in dictionary.ToDictionary())
            {
                var model = DynamicDictionaryStorageModel.Generate(pair.Key, pair.Value);

                if (connection.Table <DynamicDictionaryStorageModel>().Count(z => z.Key == pair.Key) > 0)
                {
                    connection.Update(model);
                }
                else
                {
                    connection.Insert(model);
                }
            }

            return(true);
        }