public IResponse GetBy(string requestId, Expression <Func <TEntity, bool> > filter, params Expression <Func <TEntity, object> >[] includes) { MethodBase m = MethodBase.GetCurrentMethod(); _logger.LogInformation(ServiceResource.ServiceStart, m.Name, requestId); try { var result = new Response(requestId) { Data = _readRepository.GetBy(requestId, filter, includes) }; _logger.LogInformation(ServiceResource.ServiceEnd, m.Name, requestId); return(result); } catch (Exception ex) { _logger.LogError( new EventId(ServiceError.DataReadServiceError.Code, ServiceError.DataReadServiceError.Error), ex, _localizer[ServiceResource.ServiceError], m.Name, requestId); // return new FailureResponse(requestId, new[] { error }); return(new ServiceErrorReponse(requestId) { Message = ex.Message, ServiceErrors = new[] { ServiceError.DataReadServiceError } }); } }