Rocket.Chat.Net.Driver.RocketChatDriver.LoginAsync C# (CSharp) Method

LoginAsync() public method

public LoginAsync ( ILoginOption loginOption ) : Task>
loginOption ILoginOption
return Task>
        public async Task<MethodResult<LoginResult>> LoginAsync(ILoginOption loginOption)
        {
            var ldapLogin = loginOption as LdapLoginOption;
            if (ldapLogin != null)
            {
                return await LoginWithLdapAsync(ldapLogin.Username, ldapLogin.Password).ConfigureAwait(false);
            }
            var emailLogin = loginOption as EmailLoginOption;
            if (emailLogin != null)
            {
                return await LoginWithEmailAsync(emailLogin.Email, emailLogin.Password).ConfigureAwait(false);
            }
            var usernameLogin = loginOption as UsernameLoginOption;
            if (usernameLogin != null)
            {
                return await LoginWithUsernameAsync(usernameLogin.Username, usernameLogin.Password).ConfigureAwait(false);
            }
            var resumeLogin = loginOption as ResumeLoginOption;
            if (resumeLogin != null)
            {
                return await LoginResumeAsync(resumeLogin.Token).ConfigureAwait(false);
            }

            throw new NotSupportedException($"The given login option `{loginOption.GetType()}` is not supported.");
        }