예제 #1
0
        public async Task <DataResult <T2> > GetLatest(string partitionKey)
        {
            try
            {
                var table = GetTableReference(TableName);

                var query = new TableQuery <T1>()
                            .Where(TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, partitionKey))
                            .Take(1);

                var result = (await table.ExecuteQuerySegmentedAsync(query, null)).FirstOrDefault();
                return(result != null
                    ? DataResult <T2> .CreateSuccessResult(result.MapToBusinessModel())
                    : DataResult <T2> .CreateNotFoundResult());
            }
            catch (Exception e)
            {
                return(DataResult <T2> .CreateErrorResult(new Error(ErrorCode.ExceptionThrown, e)));
            }
        }