public async Task <OperationResult> Authorize(string state, string code) { using (var preferencesRepository = repositoryFactory.CreatePreferencesRepository()) using (var userRepository = repositoryFactory.CreateUserRepository()) { var preference = preferencesRepository.FirstOrDefault(x => x.Value.Equals(state)); var user = userRepository.GetById(preference.UserId); await storageClient.Authorize(user.Id, code, state); return(OperationResult.Succeed()); } }