public Task <T> Execute <T>(IQueryResultSingle <T> query, bool defaultIfMissing = true) where T : class, IDomainEntity { return(Execute(async() => { var result = await query.Execute(_queryableProvider).FirstOrDefaultAsync(); if (!defaultIfMissing && result == null) { throw new Exception($"'{typeof(T).Name}': Status404 - NotFound"); } return result; }, _dbContext, query)); }
public Task <TDto> Execute <T>(IQueryResultSingle <T> query, bool defaultIfMissing) where T : class, IDomainEntity { try { return(QueryExecutor.Execute(async() => { var result = await query.Execute(_queryableProvider).ProjectTo <TDto>(_mapper.ConfigurationProvider).FirstOrDefaultAsync(); if (!defaultIfMissing && result == null) { throw new Exception($"Error executing projectable single item query over '{typeof(T).Name}' (with no default if missing): no results returned"); } return result; }, _dbContext, query)); } catch (Exception ex) { throw ex; } }