private static async void CurrentFrameOnNavigating(object sender, NavigatingCancelEventArgs navigatingCancelEventArgs)
{
var requiresAuthentication =
navigatingCancelEventArgs.SourcePageType.GetTypeInfo()
.CustomAttributes.FirstOrDefault(a => a.AttributeType == typeof (RequiresAuthentication)) != null;
if (requiresAuthentication && !SnapChatManager.IsAuthenticated())
{
await CurrentFrame.Dispatcher.RunAsync(CoreDispatcherPriority.Normal,
() => CurrentFrame.Navigate(typeof (StartPage)));
return;
}
if (!requiresAuthentication && SnapChatManager.IsAuthenticated())
{
await CurrentFrame.Dispatcher.RunAsync(CoreDispatcherPriority.Normal,
() => CurrentFrame.Navigate(typeof(MainPage)));
}
}