public async Task <int> Handle(AddOrUpdateTimeZoneCommand command) { command.TimeZone.Name.ThrowIfNullOrEmpty("Invalid time zone name parameter", nameof(command.TimeZone.Name)); command.UserId.ThrowIfNotPositiveNonZeroInt("Invalid user id parameter", nameof(command.UserId)); return(await _timeZoneRepository.AddOrUpdateTimeZoneAsync(command.TimeZone, command.UserId).ConfigureAwait(false)); }