Ejemplo n.º 1
0
        protected override Task OnLaunchApplicationAsync(LaunchActivatedEventArgs args)
        {
            // Ensure the current window is active
            Window.Current.Activate();
            // Remove unnecessary notifications whenever the app is used.
            ToastNotificationManager.History.RemoveGroup(ToastNotificationService.SyncAction);
            PinStartPageParameters pageParameters = null;

            if (!string.IsNullOrEmpty(args?.Arguments))
            {
                var tmpResourceInfo = JsonConvert.DeserializeObject <ResourceInfo>(args.Arguments);
                if (tmpResourceInfo != null)
                {
                    pageParameters = new PinStartPageParameters()
                    {
                        ResourceInfo = tmpResourceInfo,
                        PageTarget   = tmpResourceInfo.IsDirectory ? PageToken.DirectoryList : PageToken.FileInfo
                    };
                }
            }
            if (SettingsService.Instance.LocalSettings.UseWindowsHello)
            {
                CheckSettingsAndContinue(PageToken.Verification, pageParameters);
            }
            else
            {
                CheckSettingsAndContinue(pageParameters?.PageTarget ?? PageToken.DirectoryList, pageParameters);
            }
            return(Task.FromResult(true));
        }
Ejemplo n.º 2
0
        public override void OnNavigatedTo(NavigatedToEventArgs e, Dictionary <string, object> viewModelState)

        {
            base.OnNavigatedTo(e, viewModelState);



            var pageParameters = PinStartPageParameters.Deserialize(e.Parameter) as PinStartPageParameters;

            if (pageParameters != null)

            {
                this.nextPage = pageParameters.PageTarget.ToString();
            }

            else if (e.Parameter is string)

            {
                this.nextPage = e.Parameter as string;
            }

            else

            {
                this.nextPage = PageToken.DirectoryList.ToString();
            }
        }
        public override void OnNavigatedTo(NavigatedToEventArgs e, Dictionary <string, object> viewModelState)
        {
            base.OnNavigatedTo(e, viewModelState);

            var pinStartPageParameters = PinStartPageParameters.Deserialize(e.Parameter);

            if (pinStartPageParameters is PinStartPageParameters)
            {
                _nextPage           = pinStartPageParameters.PageTarget.ToString();
                _nextPageParameters = new FileInfoPageParameters
                {
                    ResourceInfo = pinStartPageParameters.ResourceInfo
                }.Serialize();
            }
            else if (e.Parameter is string)
            {
                _nextPage = (string)e.Parameter;
            }
            else
            {
                _nextPage = PageToken.DirectoryList.ToString();
            }
        }
Ejemplo n.º 4
0
        protected override Task OnLaunchApplicationAsync(LaunchActivatedEventArgs args)
        {
            if (
                string.IsNullOrEmpty(SettingsService.Instance.LocalSettings.ServerAddress) ||
                string.IsNullOrEmpty(SettingsService.Instance.LocalSettings.Username)
                )
            {
                NavigationService.Navigate(PageTokens.Login.ToString(), null);
            }
            else
            {
                var vault = new PasswordVault();

                IReadOnlyList <PasswordCredential> credentialList = null;
                try
                {
                    credentialList = vault.FindAllByResource(SettingsService.Instance.LocalSettings.ServerAddress);
                }
                catch
                {
                    // ignored
                }
                var credential = credentialList.FirstOrDefault(item => item.UserName.Equals(SettingsService.Instance.LocalSettings.Username));

                if (credential != null)
                {
                    credential.RetrievePassword();
                    if (!string.IsNullOrEmpty(credential.Password))
                    {
                        PinStartPageParameters pageParameters = null;
                        if (!string.IsNullOrEmpty(args.Arguments))
                        {
                            var tmpResourceInfo = JsonConvert.DeserializeObject <ResourceInfo>(args.Arguments);
                            if (tmpResourceInfo != null)
                            {
                                pageParameters = new PinStartPageParameters()
                                {
                                    ResourceInfo = tmpResourceInfo,
                                    PageTarget   = tmpResourceInfo.IsDirectory() ? PageTokens.DirectoryList.ToString() : PageTokens.FileInfo.ToString()
                                };
                            }
                        }

                        if (SettingsService.Instance.LocalSettings.UseWindowsHello)
                        {
                            NavigationService.Navigate(
                                PageTokens.Verification.ToString(),
                                pageParameters?.Serialize());
                        }
                        else
                        {
                            NavigationService.Navigate(
                                pageParameters != null ? pageParameters.PageTarget : PageTokens.DirectoryList.ToString(),
                                pageParameters?.Serialize());
                        }
                    }
                    else
                    {
                        NavigationService.Navigate(
                            PageTokens.Login.ToString(),
                            null);
                    }
                }
                else
                {
                    NavigationService.Navigate(
                        PageTokens.Login.ToString(),
                        null);
                }
            }

            // Ensure the current window is active
            Window.Current.Activate();

            return(Task.FromResult(true));
        }