Exemplo n.º 1
0
        /// <summary>
        /// Get all objects in a sorted paged collection
        /// </summary>
        /// <param name="sortRequest"></param>
        /// <param name="skipCount"></param>
        /// <param name="maxResultCount"></param>
        /// <param name="subPathUri"></param>
        /// <param name="apiEndpointName"></param>
        /// <returns></returns>
        internal virtual async Task <PagedResultEntity <TEntity> > GetAll(string sortRequest = "Id desc", int skipCount = 0, int maxResultCount = 99, string subPathUri = null)
        {
            PagedResultEntity <TEntity> currentReturnCollection = null;

            if (string.IsNullOrWhiteSpace(subPathUri))
            {
                subPathUri = $"/api/{typeof(TEntity).Name}/GetAll?sortRequest={sortRequest}&skipCount={skipCount}&maxResultCount={maxResultCount}";
            }

            try
            {
                HttpResponseMessage responseResult = await base.ApiGetAsync(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);
        }
Exemplo n.º 2
0
 internal virtual PagedResultDtoEntity <TDtoEntity> MapToPagedResultDtoEntity <TEntity, TDtoEntity>(PagedResultEntity <TEntity> pagedResultEntity)
 {
     try
     {
         return(_mapper.Map <PagedResultDtoEntity <TDtoEntity> >(pagedResultEntity));
     }
     catch (Exception apiControllerError)
     {
         _applicationLogTools.LogError(apiControllerError, new Dictionary <string, dynamic> {
             { "ClassName", $"WebApi.ApiControllerBase<{typeof(TEntity).Name}>" }
         });
         throw;
     }
 }