public async Task <User> FindAsync(UserLoginInfo login) { ThrowIfDisposed(); if (login == null) { throw new ArgumentNullException("login"); } var userLogin = await _userLoginRepository.FindByLoginProviderAndProviderKey(login.LoginProvider, login.ProviderKey); if (userLogin == null) { return(default(User)); } return(await _userRepository.GetByIdAsync(userLogin.UserId)); }
/// <summary> /// Asynchronously returns the user associated with this login. /// </summary> /// <param name="user">login as UserLoginInfo</param> /// <returns>returns Task User</returns> public async Task <IAppUser> FindAsync(UserLoginInfo login) { ThrowIfDisposed(); if (login == null) { throw new ArgumentNullException("login"); } var userLogin = await _userLoginRepository.FindByLoginProviderAndProviderKey(login.LoginProvider, login.ProviderKey); if (userLogin == null) { return(default(IAppUser)); } //to do можно ли так приводить ? return(await(_userRepository as IRepositoryBase <IAppUser>).GetByIdAsync(userLogin.UserId)); }