private void MoveFromStepInternalCredentials() { dtoInternalCredentials credentials = View.GetInternalCredentials; InternalLoginInfo info = InternalService.GetAuthenticatedUser(credentials.Login, credentials.Password); if (info == null || info.Person == null) { View.DisplayInvalidCredentials(); } else { UrlAuthenticationProvider provider = GetProvider(); if (provider == null) { View.DisplayInternalCredentialsMessage(ProfileSubscriptionMessage.ProviderUnknown); } else { ExternalLoginInfo account = UrlService.AddFromInternalAccount(info, provider, View.UrlIdentifierValue); if (account == null) { View.DisplayInternalCredentialsMessage(ProfileSubscriptionMessage.UnableToConnectToInternalProvider); } else if (account != null && account.Person.isDisabled) { View.LoadRegistrationMessage(ProfileSubscriptionMessage.AccountDisabled); } else if (PolicyService.UserHasPolicyToAccept(account.Person)) { View.IdProfile = account.Person.Id; InternalService.UpdateUserAccessTime(account.Person); View.DisplayPrivacyPolicy(account.Person.Id, provider.Id, provider.RemoteLoginUrl, false); } else { View.LogonUser(account.Person, View.idProvider, provider.RemoteLoginUrl, false, CurrentManager.GetUserDefaultIdOrganization(account.Person.Id)); } } } }