public virtual DetailDto Get(long id) { _logger.Debug($"Called Get{_type.Name}() with ID = {id}."); var result = _queryRepo.GetByKey(id); if (result.IsSuccess == ResultType.OK) { var mapper = _mapperFactory.CreateMapperToDetailDto(); var dto = mapper.Map <DetailDto>(result.FirstResult); _logger.Info($"{_type.Name} ID = {result.FirstResult.ID} was returned."); return(dto); } throw new GetEntityException <Entity>(result.IsSuccess.ToString()); }