using System; using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.Azure.Devices.Applications.RemoteMonitoring.Common.Models; using Microsoft.WindowsAzure.Storage.Table; namespace Microsoft.Azure.Devices.Applications.RemoteMonitoring.Common.Helpers { public interface IAzureTableStorageClient { Task> DoTableInsertOrReplaceAsync(TInput incomingEntity, Func tableEntityToModelConverter) where TInput : TableEntity; Task> DoDeleteAsync(TInput incomingEntity, Func tableEntityToModelConverter) where TInput : TableEntity; TableResult Execute(TableOperation tableOperation); Task ExecuteAsync(TableOperation operation); IEnumerable ExecuteQuery(TableQuery tableQuery) where T : TableEntity, new(); Task> ExecuteQueryAsync(TableQuery tableQuery) where T : TableEntity, new(); } }