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 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; } }