Код: Выделить всё
public class UserService(IUserRepository repository, ILogger logger)
{
public async Task GetByIdAsync(int userId, Func? include = null,
CancellationToken cancellationToken = default)
{
try
{
var entity = await repository.GetByIdAsync(userId, include, cancellationToken);
return entity is null ? default : entity.Adapt();
}
catch (OracleException ex) when (ex.Number == 1013)
{
logger.Information("The request was cancelled.");
return default;
}
}
public async Task GetByNameAsync(string name,
CancellationToken cancellationToken = default)
{
try
{
var entities = await repository.GetByNameAlnumAsync(name, cancellationToken);
return entities.Adapt();
}
catch (OracleException ex) when (ex.Number == 1013)
{
logger.Information("The request was cancelled.");
return [];
}
}
public async Task GetByFilterAsync(Filter filter,
CancellationToken cancellationToken = default)
{
try
{
var entities = await repository.GetByFilterAsync(filter, cancellationToken);
return entities.Adapt();
}
catch (OracleException ex) when (ex.Number == 1013)
{
logger.Information("The request was cancelled.");
return [];
}
}
}
- Я использую tdto верно? Допустим, у пользователя есть много внешних зависимостей,
, и они используются по -разному везде. Для каждого использования сделайте метод
, который отличается от многих подобных с помощью другого набора?Код: Выделить всё
.Include() - Как лучше всего организовать блоки Catch ?
объект результата? Как насчет повторяемости? Я не должен делать метод
в этой службе, который будет обрабатывать исключение < /code>, верно? Служба обработчика? Какая информация должна быть передана?
Подробнее здесь: https://stackoverflow.com/questions/794 ... n-handling