public Task AddClientDisclaimerAsync(IClientDisclaimer disclaimer)
        {
            var tasks = new List <Task>
            {
                _database.HashSetAsync(GetClientDisclaimerKey(disclaimer.ClientId, disclaimer.DisclaimerId), disclaimer.ToHashEntries()),
                _database.SetAddAsync(GetClientDisclaimerIdsKey(disclaimer.ClientId), disclaimer.DisclaimerId)
            };

            return(Task.WhenAll(tasks));
        }
Beispiel #2
0
 public static HashEntry[] ToHashEntries(this IClientDisclaimer disclaimer)
 {
     return(new[]
     {
         new HashEntry(nameof(ClientDisclaimer.ClientId), disclaimer.ClientId),
         new HashEntry(nameof(ClientDisclaimer.DisclaimerId), disclaimer.DisclaimerId ?? string.Empty),
         new HashEntry(nameof(ClientDisclaimer.Approved), disclaimer.Approved.ToString() ?? string.Empty),
         new HashEntry(nameof(ClientDisclaimer.ApprovedDate), disclaimer.ApprovedDate.ToString(DateFormat))
     });
 }
Beispiel #3
0
        public async Task InsertOrReplaceAsync(IClientDisclaimer clientDisclaimer)
        {
            var entity = new ClientDisclaimerEntity(GetPartitionKey(clientDisclaimer.ClientId),
                                                    GetRowKey(clientDisclaimer.DisclaimerId));

            Mapper.Map(clientDisclaimer, entity);

            await _storage.InsertOrReplaceAsync(entity);

            var index = AzureIndex.Create(GetDisclaimerIdIndexPartitionKey(clientDisclaimer.DisclaimerId),
                                          GetDisclaimerIdIndexRowKey(clientDisclaimer.ClientId), entity);

            await _disclaimerIdIndexStorage.InsertOrReplaceAsync(index);
        }