예제 #1
0
        public void Create(string key, TimeSpan?expiresAfter, [FromBody] List <object> recordItems)
        {
            if (expiresAfter > maxExpiration)
            {
                throw new ArgumentException($"Expiration exceeds maximum allowed length. " +
                                            $"Maximum expiration length is {maxExpiration}");
            }

            var value = new StorageDataModel
                        (
                recordItems,
                expiresAfter ?? defaultExpiresAfter,
                DateTime.Now.Add(expiresAfter ?? defaultExpiresAfter)
                        );

            if (Storage.Data.ContainsKey(key))
            {
                Storage.Data[key] = value;
            }
            else
            {
                Storage.Data.Add(key, value);
            }
            _logger.Log(LogLevel.Information, $"Record \"{key}\" created. " +
                        $"Record item(s): \"{JsonSerializer.Serialize(recordItems)}\"");
        }
        private async Task <FieldBoundary[]> GetFieldBoundaries(StorageDataModel dataModel)
        {
            var boundaries = await dataModel.DataModels
                             .Select(GetFieldBoundaries)
                             .Flatten();

            return(boundaries.ToArray());
        }
예제 #3
0
        private void AddStorageModel(string pluginName = null, string pluginVersion = null)
        {
            var plugin = new PredicatePlugin
            {
                Name       = pluginName,
                Version    = pluginVersion,
                DataModels =
                {
                    new ApplicationDataModel()
                }
            };
            var storageModel = new StorageDataModel(null, plugin);

            _dataModels.Add(storageModel);
        }
예제 #4
0
 public override string GetSetDataComand(StorageDataModel <object> model)
 {
     return(string.Format(ComandPattern, ComandName, model.TableName, GetColumnsDelimitedList(model), values));
 }
예제 #5
0
        public async Task <PluginTotals> GetPluginTotals(StorageDataModel storageDataModel)
        {
            var fieldTotals = await _fieldTotalsCalculator.Calculate(storageDataModel.DataModels);

            return(new PluginTotals(storageDataModel.PluginName, storageDataModel.PluginVersion, fieldTotals));
        }
예제 #6
0
 public override string GetSetDataCommand(StorageDataModel <object> model)
 {
     return(string.Format(pattern, ComandName, model.TableName, string.Join(",",
                                                                            model.Data.Select(item => item.Key + "=" + item.Value).ToArray())));
 }
예제 #7
0
        public override string GetSetDataCommand(StorageDataModel<object> model)
        {
            // update tabela set klucz = wartosc, klucz = wartosc , where

            return null;
        }
 private static IEnumerable <PluginDataModel> Import(StorageDataModel dataModel)
 {
     return(dataModel.DataModels
            .Select(d => new PluginDataModel(dataModel.PluginName, dataModel.PluginVersion, d)));
 }
예제 #9
0
        public override string GetSetDataCommand(StorageDataModel <object> model)
        {
            // update tabela set klucz = wartosc, klucz = wartosc , where

            return(null);
        }
예제 #10
0
 public override string GetSetDataCommand(StorageDataModel<object> model)
 {
     return string.Format(pattern, ComandName, model.TableName, string.Join(",",
         model.Data.Select(item => item.Key + "=" + item.Value).ToArray()));
 }
예제 #11
0
 public void Set(StorageDataModel model)
 {
     _container.Set(model.Key, model.Value);
 }
예제 #12
0
 public string GetSetDataCommand(StorageDataModel <object> model, string whereCondition)
 {
     return(null);
 }
예제 #13
0
 public override string GetSetDataCommand(StorageDataModel <object> model)  //update tabela set klucz = wartosc,klucz
 {
     return(string.Format(CommandPatern, CommandName, model.TableName,
                          string.Join(", ", model.Data.Select(item => item.Key + " = " + FormatDatabaseValue(item.Value)))));
 }