public virtual async Task <ActionResult <PagedResultDtoEntity <TDtoEntity> > > GetAll(string sortRequest = "Id desc", int skipCount = 0, int maxResultCount = 99) { try { PagedResultRequestDtoEntity <TEntity> pagingRequest = new PagedResultRequestDtoEntity <TEntity>() { SortRequest = sortRequest, SkipCount = skipCount, MaxResultCount = maxResultCount }; IPagedResultRequestEntity <TEntity> pagedResultRequestEntity = _mapper.Map <IPagedResultRequestEntity <TEntity> >(pagingRequest); IPagedResultEntity <TEntity> requestedCollection = _repository.GetAll(pagedResultRequestEntity); if (requestedCollection.TotalCount > 0) { return(Ok(MapToPagedResultDtoEntity(_repository.GetAll(pagedResultRequestEntity)))); } else { return(NotFound()); } } catch (Exception apiControllerError) { _applicationLogTools.LogError(apiControllerError, new Dictionary <string, dynamic> { { "ClassName", $"WebApi.ApiControllerBase<{typeof(TEntity).Name}>" } }); if (Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT").Equals("Development", StringComparison.InvariantCultureIgnoreCase)) { return(base.StatusCode(500, apiControllerError)); } else { return(base.StatusCode(500)); } } }
/// <summary> /// Get all objects by partially populated object search in a sorted paged collection /// </summary> /// <param name="exampleSearchEntityPagingRequest"></param> /// <param name="subPathUri"></param> /// <returns></returns> internal virtual async Task <IPagedResultEntity <TEntity> > GetAllByExample(IPagedResultRequestEntity <TEntity> exampleSearchEntityPagingRequest, string subPathUri = null) { IPagedResultEntity <TEntity> currentReturnCollection = null; if (string.IsNullOrWhiteSpace(subPathUri)) { subPathUri = $"/api/{typeof(TEntity).Name}/GetAllByExample"; } try { PagedResultRequestDtoEntity <TDtoEntity> pagedResultRequestEntity = base.MapToPagedResultRequestDtoEntity <TEntity, TDtoEntity>(exampleSearchEntityPagingRequest); HttpResponseMessage responseResult = await base.ApiPostAsync(pagedResultRequestEntity, subPathUri); responseResult.EnsureSuccessStatusCode(); PagedResultDtoEntity <TDtoEntity> deserializedContent = JsonConvert.DeserializeObject <PagedResultDtoEntity <TDtoEntity> >(await responseResult.Content.ReadAsStringAsync()); currentReturnCollection = base.MapToPagedResultEntity <TEntity, TDtoEntity>(deserializedContent); } catch (Exception apiCommunicationError) { _applicationLogTools.LogError(apiCommunicationError, new Dictionary <string, dynamic> { { "ClassName", $"WebApi.ApiRepositoryStandard<{typeof(TEntity).Name}>" } }); if (Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT").Equals("Development", StringComparison.InvariantCultureIgnoreCase)) { throw; } else { return(null); } } return(currentReturnCollection); }