public static Task <Realm> AcceptInvitationAsync(MyInvitation invitation) { var tcs = new TaskCompletionSource <Realm>(); var offerResponse = new PermissionOfferResponse(invitation.Token); var managementRealm = User.Current.GetManagementRealm(); managementRealm.Write(() => { managementRealm.Add(offerResponse); }); offerResponse.WhenPropertyChanged( nameof(PermissionOfferResponse.Status), (por) => por.Status == ManagementObjectStatus.Success, (por) => { if (por.RealmUrl != null) { var configuration = new SyncConfiguration(User.Current, new Uri(por.RealmUrl)); tcs.TrySetResult(Realm.GetInstance(configuration)); } }); return(tcs.Task); }
public InvitePage(MyInvitation invite) : this(Newtonsoft.Json.JsonConvert.SerializeObject(invite)) { }