public static async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "CatalogueScanState/List")] ListEntityRequest listEntityRequest, [DurableClient] IDurableEntityClient durableEntityClient ) { #region null checks if (listEntityRequest is null) { throw new ArgumentNullException(nameof(listEntityRequest)); } if (durableEntityClient is null) { throw new ArgumentNullException(nameof(durableEntityClient)); } #endregion var query = new EntityQuery { EntityName = ICatalogueScanState.EntityName, LastOperationFrom = listEntityRequest.LastOperationFrom.GetValueOrDefault(), LastOperationTo = listEntityRequest.LastOperationTo.GetValueOrDefault(), PageSize = listEntityRequest.Page.PageSize, ContinuationToken = listEntityRequest.Page.ContinuationToken, FetchState = true, }; var result = await durableEntityClient.ListEntitiesAsync(query, default).ConfigureAwait(false); var entities = result.Entities.Select(status => { var dto = status.State.ToObject <CatalogueScanStateDto>(); dto.LastOperationTime = status.LastOperationTime; return(dto); }); return(new ObjectResult(new ListEntityResult <CatalogueScanStateDto> { Entities = entities, Page = new PageInfo { ContinuationToken = result.ContinuationToken, PageSize = query.PageSize } })); }
public async Task <ListEntityResult <CatalogueScanStateDto> > ListCatalogueScanStatesAsync(ListEntityRequest listEntityRequest) { return(await PostAsync <ListEntityRequest, ListEntityResult <CatalogueScanStateDto> >("List", listEntityRequest).ConfigureAwait(false)); }