示例#1
0
        public Task DeleteAsync <T>(string traderId) where T : TraderSettingsBase, new()
        {
            var partitionKey = ClientSettingsEntity.GeneratePartitionKey(traderId);
            var defaultValue = TraderSettingsBase.CreateDefault <T>();
            var rowKey       = ClientSettingsEntity.GenerateRowKey(defaultValue);

            return(_tableStorage.DeleteAsync(partitionKey, rowKey));
        }
示例#2
0
        public async Task <T> GetSettings <T>(string traderId) where T : TraderSettingsBase, new()
        {
            var partitionKey = ClientSettingsEntity.GeneratePartitionKey(traderId);
            var defaultValue = TraderSettingsBase.CreateDefault <T>();
            var rowKey       = ClientSettingsEntity.GenerateRowKey(defaultValue);
            var entity       = await _tableStorage.GetDataAsync(partitionKey, rowKey);

            return(entity == null ? defaultValue : entity.GetSettings <T>());
        }
示例#3
0
        public static ClientSettingsEntity Create(string traderId, TraderSettingsBase settings)
        {
            var result = new ClientSettingsEntity
            {
                PartitionKey = GeneratePartitionKey(traderId),
                RowKey       = GenerateRowKey(settings),
            };

            result.SetSettings(settings);
            return(result);
        }
示例#4
0
 internal void SetSettings(TraderSettingsBase settings)
 {
     Data = Newtonsoft.Json.JsonConvert.SerializeObject(settings);
 }
示例#5
0
 public static string GenerateRowKey(TraderSettingsBase settingsBase)
 {
     return(settingsBase.GetId());
 }