internal static IdentityImpl GetInstance([CallerMemberName] string callerName = "") { var instance = new IdentityImpl(); InstanceFactory(ref instance, callerName); return(instance); }
public void ActivateUser(string activationTicket, Action <ActivationResult> completeAction) { if (completeAction == null) { throw new ArgumentNullException("completeAction"); } try { SecurityServiceClient svc = new SecurityServiceClient(); svc.ActivateUserCompleted += (sender, e) => { ActivationResult result = null; if (e.Error != null) { result = new ActivationResult(null, false, ErrorStrings.GenericServerErrorMessage); } else { if (e.Result.Status == ActivationUserStatus.Success) { result = new ActivationResult(e.Result.UserName); User = new IdentityImpl(e.Result.UserName); IsAuthenticated = true; } else if (e.Result.Status == ActivationUserStatus.AlreadyActivated) { result = new ActivationResult(null, false, string.Format(ErrorStrings.UserAlreadyActivatedMessage, e.Result.UserName)); } else if (e.Result.Status == ActivationUserStatus.UserNotFound) { result = new ActivationResult(null, false, ErrorStrings.ActivationFailed_InvalidTicket); } else { result = new ActivationResult(null, false, ErrorStrings.ActivationFailed_ServerError); } } completeAction(result); }; svc.ActivateUserAsync(activationTicket); } catch { completeAction(new ActivationResult(null, false, ErrorStrings.GenericErrorMessage)); IsBusy = false; } }
public void SignIn(string userName, string password, bool isPersistent, Action <SignInResult> completeAction) { if (completeAction == null) { throw new ArgumentNullException("completeAction"); } try { IsBusy = true; Status = AppStrings.SigningInMessage; var svc = new SecurityServiceClient(); svc.SignInCompleted += (sender, e) => { var status = e.Result; SignInResult result = null; if (status == SignInStaus.Success) { User = new IdentityImpl(userName); IsAuthenticated = true; result = new SignInResult(User); } else if (status == SignInStaus.WrongCredentials) { result = new SignInResult(null, false, ErrorStrings.InvalidCredentialsMessage); } else if (status == SignInStaus.Inactive) { result = new SignInResult(null, false, ErrorStrings.InactiveAccountMessage); } else { result = new SignInResult(null, false, ErrorStrings.GenericServerErrorMessage); } completeAction(result); IsBusy = false; }; svc.SignInAsync(userName, password, isPersistent); } catch { completeAction(new SignInResult(null, false, ErrorStrings.GenericErrorMessage)); IsBusy = false; } }
public void LoadUser() { try { string signedInUser = string.Empty; var svc = new SecurityServiceClient(); svc.IsAuthenticatedCompleted += (sneder, e) => { if (e.Error == null) { signedInUser = e.Result; if (!string.IsNullOrEmpty(signedInUser)) { User = new IdentityImpl(signedInUser); IsAuthenticated = true; } } }; svc.IsAuthenticatedAsync(); } catch { } }
static partial void InstanceFactory(ref IdentityImpl instance, [CallerMemberName] string callerName = "");