예제 #1
0
        public static IObservable <bool> MicrosoftNeedsAuthentication(this XafApplication application) =>

        application.NewObjectSpace(space => (space.GetObjectByKey <MSAuthentication>(application.CurrentUserId()) == null).ReturnObservable())
        .SelectMany(b => !b ? application.AuthorizeMS((exception, client) => Observable.Throw <AuthenticationResult>(exception))
                    .To(false).Catch(true.ReturnObservable()) : true.ReturnObservable())
        .TraceMicrosoftModule();