private void Authorise() { Pin pin; try { pin = Pin.CreateFrom(OneTimePin); } catch (Exception e) { base.ShowPopup(CustomPopupMessageType.Error, e.Message, AppResources.CustomPopupGenericOkMessage, null); return; } base.ShowHeaderLoader(); OneTimePinTextBoxIsEnabled = false; Action authorise = async() => { try { cancellationTokenSource = new CancellationTokenSource(); user = await DrumbleApi.Authorise(cancellationTokenSource.Token, user, email, pin); if (user.IsBumbleRegistered) { base.HideHeaderLoader(); OneTimePinTextBoxIsEnabled = true; AuthoriseMessage.Send(user, Messages.Enums.AuthoriseMessageReason.Authorised); NavigationService.GoBack(); } else { // TODO error display something went wrong... but what? } } catch (Exception e) { base.HideHeaderLoader(); OneTimePinTextBoxIsEnabled = true; base.ShowPopup(CustomPopupMessageType.Error, e.Message, AppResources.CustomPopupGenericOkMessage, null); } }; DispatcherHelper.CheckBeginInvokeOnUI(authorise); }
private void SetEmailDetails(AuthoriseMessage authoriseMessage) { switch (authoriseMessage.Reason) { case Messages.Enums.AuthoriseMessageReason.CanceledAuthorisation: break; case Messages.Enums.AuthoriseMessageReason.Authorised: user = authoriseMessage.User; UnitOfWork.UserRepository.Update(user); UnitOfWork.Save(); base.HideHeaderLoader(); EmailTextBoxIsEnabled = true; NavigationService.NavigateTo("/Views/Profile.xaml"); break; } }