Ejemplo n.º 1
0
        private async Task UpdateShoppingCartInfoAsync()
        {
            string errorMessage = string.Empty;

            try
            {
                _shoppingCart = await _shoppingCartRepository.GetShoppingCartAsync();

                if (_shoppingCart != null && _shoppingCart.ShoppingCartItems != null)
                {
                    ShoppingCartItemViewModels = new ObservableCollection <ShoppingCartItemViewModel>();
                    foreach (var item in _shoppingCart.ShoppingCartItems)
                    {
                        var shoppingCartItemViewModel = new ShoppingCartItemViewModel(item, _resourceLoader);
                        shoppingCartItemViewModel.PropertyChanged += ShoppingCartItemViewModel_PropertyChanged;
                        ShoppingCartItemViewModels.Add(shoppingCartItemViewModel);
                    }

                    CheckoutCommand.RaiseCanExecuteChanged();
                    RaisePropertyChanged(nameof(FullPrice));
                    RaisePropertyChanged(nameof(TotalDiscount));
                    RaisePropertyChanged(nameof(TotalPrice));
                }
            }
            catch (Exception ex)
            {
                errorMessage = string.Format(CultureInfo.CurrentCulture, _resourceLoader.GetString("GeneralServiceErrorMessage"), Environment.NewLine, ex.Message);
            }

            if (!string.IsNullOrWhiteSpace(errorMessage))
            {
                await _alertMessageService.ShowAsync(errorMessage, _resourceLoader.GetString("ErrorServiceUnreachable"));
            }
        }
Ejemplo n.º 2
0
        public MenuViewModel(IEventAggregator eventAggregator, INavigationService navigationService, IResourceLoader resourceLoader, ISessionStateService sessionStateService)
        {
            eventAggregator.GetEvent<NavigationStateChangedEvent>().Subscribe(OnNavigationStateChanged);
            _navigationService = navigationService;
            _sessionStateService = sessionStateService;

            Commands = new ObservableCollection<MenuItemViewModel>
            {
                new MenuItemViewModel { DisplayName = resourceLoader.GetString("MainPageMenuItemDisplayName"), FontIcon = "\ue15f", Command = new DelegateCommand(() => NavigateToPage(PageTokens.Main), () => CanNavigateToPage(PageTokens.Main)) },
                new MenuItemViewModel { DisplayName = resourceLoader.GetString("SecondPageMenuItemDisplayName"), FontIcon = "\ue19f", Command = new DelegateCommand(() => NavigateToPage(PageTokens.Second), () => CanNavigateToPage(PageTokens.Second)) }
            };

            _canNavigateLookup = new Dictionary<PageTokens, bool>();

            foreach (PageTokens pageToken in Enum.GetValues(typeof(PageTokens)))
            {
                _canNavigateLookup.Add(pageToken, true);
            }

            if (_sessionStateService.SessionState.ContainsKey(CurrentPageTokenKey))
            {
                // Resuming, so update the menu to reflect the current page correctly
                PageTokens currentPageToken;
                if (Enum.TryParse(_sessionStateService.SessionState[CurrentPageTokenKey].ToString(), out currentPageToken))
                {
                    UpdateCanNavigateLookup(currentPageToken);
                    RaiseCanExecuteChanged();
                }
            }
        }
Ejemplo n.º 3
0
        private async void GoNext()
        {
            IsShippingAddressInvalid = ShippingAddressViewModel.ValidateForm() == false;
            IsBillingAddressInvalid  = !UseSameAddressAsShipping && BillingAddressViewModel.ValidateForm() == false;
            IsPaymentMethodInvalid   = PaymentMethodViewModel.ValidateForm() == false;

            if (IsShippingAddressInvalid || IsBillingAddressInvalid || IsPaymentMethodInvalid)
            {
                return;
            }

            string errorMessage = string.Empty;

            try
            {
                await _accountService.VerifyUserAuthenticationAsync();
                await ProcessFormAsync();
            }
            catch (Exception ex)
            {
                errorMessage = string.Format(CultureInfo.CurrentCulture, _resourceLoader.GetString("GeneralServiceErrorMessage"), Environment.NewLine, ex.Message);
            }

            if (!string.IsNullOrWhiteSpace(errorMessage))
            {
                await _alertMessageService.ShowAsync(errorMessage, _resourceLoader.GetString("ErrorServiceUnreachable"));
            }
        }
Ejemplo n.º 4
0
        private async Task UpdateReserveringInfoAsync()
        {
            string errorMessage = string.Empty;

            try
            {
                _reservering = await _reserveringRepository.GetReserveringAsync();

                ReserveringType = (_reservering.Id == Guid.Empty) ? "Reservering Maken" : "Reservering Wijzigen";

                /*
                 * if (_reservering != null)
                 * {
                 *  if(_reservering.Spelers != null)
                 *
                 *
                 *  Speler emptySpeler = new Speler { Id = Guid.Empty };
                 *  for (int i = 0; i < 4; i++)
                 *  {
                 *      Speler speler = emptySpeler;
                 *      try
                 *      {
                 *          if (_reservering.Spelers.Count >= i + 1)
                 *              speler = _reservering.Spelers[i];
                 *      }
                 *      catch
                 *      {
                 *          speler = emptySpeler;
                 *      }
                 *
                 *      var spelerViewModel = new SpelerViewModel(i, speler, _spelerRepository, _reserveringRepository,_verenigingRepository, _navigationService, _resourceLoader, _alertMessageService, _eventAggregator);
                 *      spelerViewModel.PropertyChanged += spelerViewModel_PropertyChanged;
                 *      SpelerViewModels.Insert(i, spelerViewModel);
                 *      //SpelerViewModels[i] = spelerViewModel;
                 *      BevestigenCommand.RaiseCanExecuteChanged();
                 *      OnPropertyChanged("Spelers");
                 *
                 *  }
                 *
                 *  if(_reservering.Baan != null)
                 *  {
                 *      Baan = new BaanViewModel(_reservering.Baan, _baanRepository, _reserveringRepository, _navigationService, _resourceLoader, _alertMessageService, _eventAggregator);
                 *      Baan.PropertyChanged += Baan_PropertyChanged;
                 *      BevestigenCommand.RaiseCanExecuteChanged();
                 *      OnPropertyChanged("Baan");
                 *
                 *  }
                 * }
                 */
            }
            catch (Exception ex)
            {
                errorMessage = string.Format(CultureInfo.CurrentCulture, _resourceLoader.GetString("GeneralServiceErrorMessage"), Environment.NewLine, ex.Message);
            }

            if (!string.IsNullOrWhiteSpace(errorMessage))
            {
                await _alertMessageService.ShowAsync(errorMessage, _resourceLoader.GetString("ErrorServiceUnreachable"));
            }
        }
        public void PopulateAppTypesAsync()
        {
            var items = new List <ComboBoxItemValue>
            {
                new ComboBoxItemValue()
                {
                    Id = 0, Value = string.Empty
                },
                new ComboBoxItemValue()
                {
                    Id    = ((byte)AppType.Application),
                    Value = _resourceLoader.GetString(AppType.Application.ToString())
                },
                new ComboBoxItemValue()
                {
                    Id    = ((byte)AppType.Game),
                    Value = _resourceLoader.GetString(AppType.Game.ToString())
                }
            };


            AppTypes = new ReadOnlyCollection <ComboBoxItemValue>(items);

            // Select the first item on the list
            // But disable validation first, because we don't want to fire validation at this point
            //AppSpecification.IsValidationEnabled = false;
            //AppSpecification.AppType = AppType.None;
            //AppSpecification.IsValidationEnabled = true;
        }
Ejemplo n.º 6
0
        public MenuViewModel(INavigationService navigationService, IResourceLoader resourceLoader)
        {
            _navigationService = navigationService;

            Commands = new ObservableCollection<MenuItemViewModel>
            {
                new MenuItemViewModel { DisplayName = resourceLoader.GetString("DTSBehaviorSampleMenuItemDisplayName"), FontIcon = "\ue15f", Command = new DelegateCommand(() => NavigateToSamplePage(PageTokens.DTSBehaviorSample), () => CanNavigateToSamplePage(PageTokens.DTSBehaviorSample)) },
                new MenuItemViewModel { DisplayName = resourceLoader.GetString("DTSSampleMenuItemDisplayName"), FontIcon = "\ue19f", Command = new DelegateCommand(() => NavigateToSamplePage(PageTokens.DTSSample), () => CanNavigateToSamplePage(PageTokens.DTSSample)) },
                new MenuItemViewModel { DisplayName = resourceLoader.GetString("IncrementalLoadingMenuItemDisplayName"), FontIcon = "\ue19f", Command = new DelegateCommand(() => NavigateToSamplePage(PageTokens.IncrementalLoadingSample), () => CanNavigateToSamplePage(PageTokens.IncrementalLoadingSample)) },
                new MenuItemViewModel { DisplayName = resourceLoader.GetString("DeferLoadStrategyMenuItemDisplayName"), FontIcon = "\ue19f", Command = new DelegateCommand(() => NavigateToSamplePage(PageTokens.DeferLoadStrategySample), () => CanNavigateToSamplePage(PageTokens.DeferLoadStrategySample)) },
                new MenuItemViewModel { DisplayName = resourceLoader.GetString("CustomLVIPMenuItemDisplayName"), FontIcon = "\ue19f", Command = new DelegateCommand(() => NavigateToSamplePage(PageTokens.CustomLVIPSample), () => CanNavigateToSamplePage(PageTokens.CustomLVIPSample)) },
                new MenuItemViewModel { DisplayName = resourceLoader.GetString("StateTriggerMenuItemDisplayName"), FontIcon = "\ue19f", Command = new DelegateCommand(() => NavigateToSamplePage(PageTokens.StateTriggerSample), () => CanNavigateToSamplePage(PageTokens.StateTriggerSample)) },
                new MenuItemViewModel { DisplayName = resourceLoader.GetString("CVSMenuItemDisplayName"), FontIcon = "\ue19f", Command = new DelegateCommand(() => NavigateToSamplePage(PageTokens.CollectionViewSourceSample), () => CanNavigateToSamplePage(PageTokens.CollectionViewSourceSample)) },
                new MenuItemViewModel { DisplayName = resourceLoader.GetString("DeviceSpecificMenuItemDisplayName"), FontIcon = "\ue19f", Command = new DelegateCommand(() => NavigateToSamplePage(PageTokens.DeviceSpecificSample), () => CanNavigateToSamplePage(PageTokens.DeviceSpecificSample)) },
                new MenuItemViewModel { DisplayName = resourceLoader.GetString("ExpanderSampleMenuItemDisplayName"), FontIcon = "\ue19f", Command = new DelegateCommand(() => NavigateToSamplePage(PageTokens.ExpanderSample), () => CanNavigateToSamplePage(PageTokens.ExpanderSample)) },
                new MenuItemViewModel { DisplayName = resourceLoader.GetString("OldMainPageMenuItemDisplayName"), FontIcon = "\ue19f", Command = new DelegateCommand(() => NavigateToSamplePage(PageTokens.OldMain), () => CanNavigateToSamplePage(PageTokens.OldMain)) },
            };

            _currentPageToken = PageTokens.DTSBehaviorSample;
            _canNavigateLookup = new Dictionary<PageTokens, bool>();

            foreach (PageTokens pageToken in Enum.GetValues(typeof(PageTokens)))
            {
                _canNavigateLookup.Add(pageToken, true);
            }

            _canNavigateLookup[_currentPageToken] = false;
        }
        public async override void OnNavigatedTo(object navigationParameter, NavigationMode navigationMode, Dictionary <string, object> viewModelState)
        {
            var categoryId = Convert.ToInt32(navigationParameter);

            string errorMessage = string.Empty;

            try
            {
                var category = await _productCatalogRepository.GetCategoryAsync(categoryId);

                Title = category.Title;

                var products = await _productCatalogRepository.GetProductsAsync(categoryId);

                Items = new ReadOnlyCollection <ProductViewModel>(products
                                                                  .Select(product => new ProductViewModel(product))
                                                                  .ToList());
            }
            catch (Exception ex)
            {
                errorMessage = string.Format(CultureInfo.CurrentCulture, _resourceLoader.GetString("GeneralServiceErrorMessage"), Environment.NewLine, ex.Message);
            }

            if (!string.IsNullOrWhiteSpace(errorMessage))
            {
                await _alertMessageService.ShowAsync(errorMessage, _resourceLoader.GetString("ErrorServiceUnreachable"));
            }
        }
Ejemplo n.º 8
0
        public async override void OnNavigatedTo(NavigatedToEventArgs e, Dictionary <string, object> viewModelState)
        {
            string errorMessage = string.Empty;

            try
            {
                var productNumber   = e.Parameter as string;
                var selectedProduct = await _productCatalogRepository.GetProductAsync(productNumber);

                var productViewModels = (await _productCatalogRepository.GetProductsAsync(selectedProduct.SubcategoryId))
                                        .Select(product => new ProductViewModel(product, _shoppingCartRepository, _alertService, _resourceLoader));

                var items = new ReadOnlyCollection <ProductViewModel>(productViewModels.ToList());
                Items           = items;
                SelectedProduct = Items.First(p => p.ProductNumber == productNumber);
                SelectedIndex   = items.IndexOf(SelectedProduct);
                Title           = SelectedProduct.Title;
            }
            catch (Exception ex)
            {
                errorMessage = string.Format(CultureInfo.CurrentCulture, _resourceLoader.GetString("GeneralServiceErrorMessage"), Environment.NewLine, ex.Message);
            }

            if (!string.IsNullOrWhiteSpace(errorMessage))
            {
                await _alertService.ShowAsync(errorMessage, _resourceLoader.GetString("ErrorServiceUnreachable"));
            }

            if (e.NavigationMode != NavigationMode.New)
            {
                base.OnNavigatedTo(e, viewModelState);
            }
        }
Ejemplo n.º 9
0
        private async Task SavePlatformSpecificationAsync()
        {
            if (AppDetail.AppPlatformSpecification.CpuArchitectureFlags == CpuArchitecture.None)
            {
                await _alertMessageService.ShowAsync(_resourceLoader.GetString("CpuArchitectureIsNotSelected"), null, DialogCommands.CloseDialogCommand);

                return;
            }

            if (_platformDictionary.Count == 0)
            {
                await _alertMessageService.ShowAsync(_resourceLoader.GetString("DeviceFamilyIsNotSelected"), null, DialogCommands.CloseDialogCommand);

                return;
            }

            var platformCategories = new int[_platformDictionary.Values.Count];

            _platformDictionary.Values.CopyTo(platformCategories, 0);

            AppDetail.AppPlatformSpecification.PlatformCategories = platformCategories.Any(a => a == 1)
                ? new int[] { 1 }
                : platformCategories;

            await _developerService.RegisterAppPlatformSpecificationAsync(AppDetail.AppPlatformSpecification);

            _navigationService.Navigate(ViewNames.AppDetail, AppDetail);
        }
Ejemplo n.º 10
0
        private async void NavigateUserOnSignedInResult(LogOnResult result)
        {
            if (result.SignedIn)
            {
                IsSignInInvalid = false;

                switch (result.AccountStatus)
                {
                case UserAccountStatus.Activated:
                    _navigationService.ClearHistory();
                    _navigationService.Navigate(ViewNames.Dashboard, null);
                    break;

                case UserAccountStatus.NotActivated:
                    _navigationService.Navigate(ViewNames.ConfirmRegistration, null);
                    break;

                case UserAccountStatus.Blocked:
                    await _alertMessageService.ShowAsync(_resourceLoader.GetString("AccountBlockedByAdmin"), string.Empty,
                                                         DialogCommands.CloseDialogCommand);

                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }
                Close();
            }
            else
            {
                IsSignInInvalid = true;

                await _alertMessageService.ShowAsync(_resourceLoader.GetString("InvalidUserNameOrPassword"), _resourceLoader.GetString("Error"), DialogCommands.CloseDialogCommand);
            }
        }
Ejemplo n.º 11
0
        public MenuViewModel(IEventAggregator eventAggregator, INavigationService navigationService, IResourceLoader resourceLoader, ISessionStateService sessionStateService)
        {
            eventAggregator.GetEvent <NavigationStateChangedEvent>().Subscribe(OnNavigationStateChanged);
            _navigationService   = navigationService;
            _sessionStateService = sessionStateService;

            Commands = new ObservableCollection <MenuItemViewModel>
            {
                new MenuItemViewModel {
                    DisplayName = resourceLoader.GetString("MainPageMenuItemDisplayName"), FontIcon = "\ue15f", Command = new DelegateCommand(() => NavigateToPage(PageTokens.Main), () => CanNavigateToPage(PageTokens.Main))
                },
                new MenuItemViewModel {
                    DisplayName = resourceLoader.GetString("SecondPageMenuItemDisplayName"), FontIcon = "\ue19f", Command = new DelegateCommand(() => NavigateToPage(PageTokens.Second), () => CanNavigateToPage(PageTokens.Second))
                }
            };

            _canNavigateLookup = new Dictionary <PageTokens, bool>();

            foreach (PageTokens pageToken in Enum.GetValues(typeof(PageTokens)))
            {
                _canNavigateLookup.Add(pageToken, true);
            }

            if (_sessionStateService.SessionState.ContainsKey(CurrentPageTokenKey))
            {
                // Resuming, so update the menu to reflect the current page correctly
                PageTokens currentPageToken;
                if (Enum.TryParse(_sessionStateService.SessionState[CurrentPageTokenKey].ToString(), out currentPageToken))
                {
                    UpdateCanNavigateLookup(currentPageToken);
                    RaiseCanExecuteChanged();
                }
            }
        }
Ejemplo n.º 12
0
        public MenuViewModel(IEventAggregator eventAggregator, INavigationService navigationService, IResourceLoader resourceLoader, ISessionStateService sessionStateService)
        {
            eventAggregator.GetEvent <NavigationStateChangedEvent>().Subscribe(OnNavigationStateChanged);
            _navigationService   = navigationService;
            _sessionStateService = sessionStateService;

            Commands = new ObservableCollection <MenuItem>
            {
                new MenuItem
                {
                    DisplayName = resourceLoader.GetString("AllFiles"),
                    FontIcon    = "\uE8B7",
                    Command     = new DelegateCommand(
                        () => NavigateToPage(PageTokens.DirectoryList),
                        () => CanNavigateToPage(PageTokens.DirectoryList)
                        )
                },
            };

            ExtraCommands = new ObservableCollection <MenuItem>
            {
                new MenuItem
                {
                    DisplayName = resourceLoader.GetString("Settings"),
                    FontIcon    = "\uE713",
                    Command     = new DelegateCommand(
                        () => NavigateToPage(PageTokens.Settings),
                        () => CanNavigateToPage(PageTokens.Settings)
                        )
                },
            };

            SettingsService.Instance.Settings.PropertyChanged += (sender, args) =>
            {
                GetUserInformation();
            };
            GetUserInformation();

            _canNavigateLookup = new Dictionary <PageTokens, bool>();

            foreach (PageTokens pageToken in Enum.GetValues(typeof(PageTokens)))
            {
                _canNavigateLookup.Add(pageToken, true);
            }

            if (!_sessionStateService.SessionState.ContainsKey(CurrentPageTokenKey))
            {
                return;
            }
            // Resuming, so update the menu to reflect the current page correctly
            PageTokens currentPageToken;

            if (!Enum.TryParse(_sessionStateService.SessionState[CurrentPageTokenKey].ToString(), out currentPageToken))
            {
                return;
            }
            UpdateCanNavigateLookup(currentPageToken);
            RaiseCanExecuteChanged();
        }
Ejemplo n.º 13
0
        public ShellPageViewModel(IShellServices service, IResourceLoader resourceLoader)
        {
            this.service = service;

            MenuItems = new Collection<MenuItemsModel>
            {
                new MenuItemsModel { DisplayName=resourceLoader.GetString("Home"), Icon="\xe1d2", Command=new DelegateCommand(service.NavigateHome) },
                new MenuItemsModel { DisplayName=resourceLoader.GetString("Local"), Icon="\xe2af", Command= new DelegateCommand(service.NavigateLocal) },
                new MenuItemsModel { DisplayName=resourceLoader.GetString("Server"), Icon="\xe1d2", Command=new DelegateCommand(service.NavigateServer) }
            };

        }
        public MenuViewModel(INavigationService navigationService, IResourceLoader resourceLoader)
        {
            // TODO: Add ability to indicate which page your on by listening for navigation events once the NuGet package has been updated. Change CanNavigate to use whether or not your on that page to return false.
            // As-is, if navigation occurs via the back button, we won't know and can't update the _canNavigate value
            _navigationService = navigationService;

            Commands = new ObservableCollection<MenuItemViewModel>
            {
                new MenuItemViewModel { DisplayName = resourceLoader.GetString("MainPageMenuItemDisplayName"), FontIcon = "\ue15f", Command = new DelegateCommand(NavigateToMainPage, CanNavigateToMainPage) },
                new MenuItemViewModel { DisplayName = resourceLoader.GetString("SecondPageMenuItemDisplayName"), FontIcon = "\ue19f", Command = new DelegateCommand(NavigateToSecondPage, CanNavigateToSecondPage) }
            };
        }
        private async Task <CredentialPickerResults> AskCredential(bool retry)
        {
            var options = new CredentialPickerOptions()
            {
                AuthenticationProtocol = AuthenticationProtocol.Basic,
                CredentialSaveOption   = CredentialSaveOption.Selected,
                CallerSavesCredential  = true,
                Caption    = retry ? resourceLoader.GetString("CredentialPickerRetryCaption") : resourceLoader.GetString("CredentialPickerCaption"),
                Message    = retry ? resourceLoader.GetString("CredentialPickerRetryMessage") : resourceLoader.GetString("CredentialPickerMessage"),
                TargetName = "."
            };

            return(await CredentialPicker.PickAsync(options));
        }
Ejemplo n.º 16
0
        private async Task SubmitAsync()
        {
            string errorMessage = string.Empty;

            try
            {
                if (await _accountService.VerifySavedCredentialsAsync() == null)
                {
                    _signInUserControlViewModel.Open(async() => await SubmitOrderTransactionAsync());
                }
                else
                {
                    await SubmitOrderTransactionAsync();
                }
            }
            catch (Exception ex)
            {
                errorMessage = string.Format(CultureInfo.CurrentCulture, _resourceLoader.GetString("GeneralServiceErrorMessage"), Environment.NewLine, ex.Message);
            }

            if (!string.IsNullOrWhiteSpace(errorMessage))
            {
                await _alertMessageService.ShowAsync(errorMessage, _resourceLoader.GetString("ErrorProcessingOrder"));
            }
        }
Ejemplo n.º 17
0
        private async void DeleteResource()
        {
            if (ResourceInfo == null)
            {
                return;
            }

            var dialog = new ContentDialog
            {
                Title   = _resourceLoader.GetString(ResourceInfo.ContentType.Equals("dav/directory") ? "DeleteFolder" : "DeleteFile"),
                Content = new TextBlock()
                {
                    Text         = string.Format(_resourceLoader.GetString(ResourceInfo.ContentType.Equals("dav/directory") ? "DeleteFolder_Description" : "DeleteFile_Description"), ResourceInfo.Name),
                    TextWrapping = TextWrapping.WrapWholeWords,
                    Margin       = new Thickness(0, 20, 0, 0)
                },
                PrimaryButtonText   = _resourceLoader.GetString("Yes"),
                SecondaryButtonText = _resourceLoader.GetString("No")
            };
            var dialogResult = await _dialogService.ShowAsync(dialog);

            if (dialogResult != ContentDialogResult.Primary)
            {
                return;
            }

            ShowProgressIndicator();
            var success = await DirectoryService.Instance.DeleteResource(ResourceInfo);

            HideProgressIndicator();
            if (success)
            {
                _navigationService.GoBack();
            }
        }
        public override async void OnNavigatedTo(NavigatedToEventArgs e, Dictionary <string, object> viewModelState)
        {
            if (await _accountService.VerifyUserAuthenticationAsync() == null)
            {
                return;
            }

            var addressId = e.Parameter as string;

            HeaderLabel = string.IsNullOrWhiteSpace(addressId)
                              ? _resourceLoader.GetString("AddBillingAddressTitle")
                              : _resourceLoader.GetString("EditBillingAddressTitle");

            BillingAddressViewModel.OnNavigatedTo(e, viewModelState);
        }
Ejemplo n.º 19
0
        public override async void OnNavigatedTo(object navigationParameter, Windows.UI.Xaml.Navigation.NavigationMode navigationMode, Dictionary <string, object> viewModelState)
        {
            if (await _accountService.VerifyUserAuthenticationAsync() == null)
            {
                return;
            }

            var addressId = navigationParameter as string;

            HeaderLabel = string.IsNullOrWhiteSpace(addressId)
                              ? _resourceLoader.GetString("AddShippingAddressTitle")
                              : _resourceLoader.GetString("EditShippingAddressTitle");

            ShippingAddressViewModel.OnNavigatedTo(navigationParameter, navigationMode, viewModelState);
        }
        public SettingsPageViewModel(INavigationService navigationService, IResourceLoader resourceLoader, DialogService dialogService)
        {
            _navigationService = navigationService;
            _resourceLoader    = resourceLoader;
            _dialogService     = dialogService;
            Settings           = SettingsService.Instance.LocalSettings;

            PreviewImageDownloadModes.Add(new PreviewImageDownloadModeItem
            {
                Name  = resourceLoader.GetString("Always"),
                Value = PreviewImageDownloadMode.Always
            });
            PreviewImageDownloadModes.Add(new PreviewImageDownloadModeItem
            {
                Name  = resourceLoader.GetString("WiFiOnly"),
                Value = PreviewImageDownloadMode.WiFiOnly
            });
            PreviewImageDownloadModes.Add(new PreviewImageDownloadModeItem
            {
                Name  = resourceLoader.GetString("Never"),
                Value = PreviewImageDownloadMode.Never
            });

            switch (Settings.PreviewImageDownloadMode)
            {
            case PreviewImageDownloadMode.Always:
                PreviewImageDownloadModesSelectedIndex = 0;
                break;

            case PreviewImageDownloadMode.WiFiOnly:
                PreviewImageDownloadModesSelectedIndex = 1;
                break;

            case PreviewImageDownloadMode.Never:
                PreviewImageDownloadModesSelectedIndex = 2;
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            UseWindowsHello = Settings.UseWindowsHello;
            IgnoreServerCertificateErrors = Settings.IgnoreServerCertificateErrors;

            ResetCommand = new DelegateCommand(Reset);

            GetServerVersion();
        }
Ejemplo n.º 21
0
        public MenuViewModel(INavigationService navigationService, IResourceLoader resourceLoader)
        {
            _navigationService = navigationService;

            Commands = new ObservableCollection <MenuItemViewModel>
            {
                new MenuItemViewModel {
                    DisplayName = resourceLoader.GetString("DTSBehaviorSampleMenuItemDisplayName"), FontIcon = "\ue15f", Command = new DelegateCommand(() => NavigateToSamplePage(PageTokens.DTSBehaviorSample), () => CanNavigateToSamplePage(PageTokens.DTSBehaviorSample))
                },
                new MenuItemViewModel {
                    DisplayName = resourceLoader.GetString("DTSSampleMenuItemDisplayName"), FontIcon = "\ue19f", Command = new DelegateCommand(() => NavigateToSamplePage(PageTokens.DTSSample), () => CanNavigateToSamplePage(PageTokens.DTSSample))
                },
                new MenuItemViewModel {
                    DisplayName = resourceLoader.GetString("IncrementalLoadingMenuItemDisplayName"), FontIcon = "\ue19f", Command = new DelegateCommand(() => NavigateToSamplePage(PageTokens.IncrementalLoadingSample), () => CanNavigateToSamplePage(PageTokens.IncrementalLoadingSample))
                },
                new MenuItemViewModel {
                    DisplayName = resourceLoader.GetString("DeferLoadStrategyMenuItemDisplayName"), FontIcon = "\ue19f", Command = new DelegateCommand(() => NavigateToSamplePage(PageTokens.DeferLoadStrategySample), () => CanNavigateToSamplePage(PageTokens.DeferLoadStrategySample))
                },
                new MenuItemViewModel {
                    DisplayName = resourceLoader.GetString("CustomLVIPMenuItemDisplayName"), FontIcon = "\ue19f", Command = new DelegateCommand(() => NavigateToSamplePage(PageTokens.CustomLVIPSample), () => CanNavigateToSamplePage(PageTokens.CustomLVIPSample))
                },
                new MenuItemViewModel {
                    DisplayName = resourceLoader.GetString("StateTriggerMenuItemDisplayName"), FontIcon = "\ue19f", Command = new DelegateCommand(() => NavigateToSamplePage(PageTokens.StateTriggerSample), () => CanNavigateToSamplePage(PageTokens.StateTriggerSample))
                },
                new MenuItemViewModel {
                    DisplayName = resourceLoader.GetString("CVSMenuItemDisplayName"), FontIcon = "\ue19f", Command = new DelegateCommand(() => NavigateToSamplePage(PageTokens.CollectionViewSourceSample), () => CanNavigateToSamplePage(PageTokens.CollectionViewSourceSample))
                },
                new MenuItemViewModel {
                    DisplayName = resourceLoader.GetString("DeviceSpecificMenuItemDisplayName"), FontIcon = "\ue19f", Command = new DelegateCommand(() => NavigateToSamplePage(PageTokens.DeviceSpecificSample), () => CanNavigateToSamplePage(PageTokens.DeviceSpecificSample))
                },
                new MenuItemViewModel {
                    DisplayName = resourceLoader.GetString("ExpanderSampleMenuItemDisplayName"), FontIcon = "\ue19f", Command = new DelegateCommand(() => NavigateToSamplePage(PageTokens.ExpanderSample), () => CanNavigateToSamplePage(PageTokens.ExpanderSample))
                },
                new MenuItemViewModel {
                    DisplayName = resourceLoader.GetString("OldMainPageMenuItemDisplayName"), FontIcon = "\ue19f", Command = new DelegateCommand(() => NavigateToSamplePage(PageTokens.OldMain), () => CanNavigateToSamplePage(PageTokens.OldMain))
                },
            };

            _currentPageToken  = PageTokens.DTSBehaviorSample;
            _canNavigateLookup = new Dictionary <PageTokens, bool>();

            foreach (PageTokens pageToken in Enum.GetValues(typeof(PageTokens)))
            {
                _canNavigateLookup.Add(pageToken, true);
            }

            _canNavigateLookup[_currentPageToken] = false;
        }
Ejemplo n.º 22
0
        public async override void OnNavigatedTo(NavigatedToEventArgs e, Dictionary <string, object> viewModelState)
        {
            base.OnNavigatedTo(e, viewModelState);
            var    queryText    = e.Parameter as String;
            string errorMessage = string.Empty;

            this.SearchTerm = queryText;
            this.QueryText  = '\u201c' + queryText + '\u201d';

            try
            {
                Collection <Product> products;
                if (queryText == PreviousSearchTerm)
                {
                    products = PreviousResults;
                }
                else
                {
                    var searchResults = await _productCatalogRepository.GetFilteredProductsAsync(queryText, 0);

                    products        = searchResults.Products;
                    TotalCount      = searchResults.TotalCount;
                    PreviousResults = products;
                }

                var productViewModels = new List <ProductViewModel>();
                foreach (var product in products)
                {
                    productViewModels.Add(new ProductViewModel(product));
                }

                // Communicate results through the view model
                this.Results   = new ReadOnlyCollection <ProductViewModel>(productViewModels);
                this.NoResults = !this.Results.Any();

                // Update VM status
                PreviousSearchTerm = SearchTerm;
            }
            catch (Exception ex)
            {
                errorMessage = string.Format(CultureInfo.CurrentCulture, _resourceLoader.GetString("GeneralServiceErrorMessage"), Environment.NewLine, ex.Message);
            }

            if (!string.IsNullOrWhiteSpace(errorMessage))
            {
                await _alertMessageService.ShowAsync(errorMessage, _resourceLoader.GetString("ErrorServiceUnreachable"));
            }
        }
Ejemplo n.º 23
0
        public MenuViewModel(INavigationService navigationService, IResourceLoader resourceLoader)
        {
            // TODO: Add ability to indicate which page your on by listening for navigation events once the NuGet package has been updated. Change CanNavigate to use whether or not your on that page to return false.
            // As-is, if navigation occurs via the back button, we won't know and can't update the _canNavigate value
            _navigationService = navigationService;

            Commands = new ObservableCollection <MenuItemViewModel>
            {
                new MenuItemViewModel {
                    DisplayName = resourceLoader.GetString("MainPageMenuItemDisplayName"), FontIcon = "\ue15f", Command = new DelegateCommand(NavigateToMainPage, CanNavigateToMainPage)
                },
                new MenuItemViewModel {
                    DisplayName = resourceLoader.GetString("SecondPageMenuItemDisplayName"), FontIcon = "\ue15f", Command = new DelegateCommand(NavigateToSecondPage, CanNavigateToSecondPage)
                },
            };
        }
Ejemplo n.º 24
0
        public MenuViewModel(IEventAggregator eventAggregator, INavigationService navigationService, IResourceLoader resourceLoader, ISessionStateService sessionStateService)
        {
            eventAggregator.GetEvent <NavigationStateChangedEvent>().Subscribe(OnNavigationStateChanged);
            _navigationService   = navigationService;
            _sessionStateService = sessionStateService;

            if (StaticMenus == null)
            {
                StaticMenus = new ObservableCollection <MenuItemViewModel>
                {
                    new MenuItemViewModel {
                        DisplayName = resourceLoader.GetString("MainPageMenuItemDisplayName"), FontIcon = "\ue15f", Command = new DelegateCommand(() => NavigateToPage(PageTokens.Main), () => CanNavigateToPage(PageTokens.Main))
                    },
                    new MenuItemViewModel {
                        DisplayName = resourceLoader.GetString("ProfilePageMenuItemDisplayName"), FontIcon = "\u2781", Command = new DelegateCommand(() => NavigateToPage(PageTokens.Profile), () => CanNavigateToPage(PageTokens.Profile))
                    },
                    new MenuItemViewModel {
                        DisplayName = resourceLoader.GetString("BasicMoveListPageMenuItemDisplayName"), FontIcon = "\u2782", Command = new DelegateCommand(() => NavigateToPage(PageTokens.BasicMoveList), () => CanNavigateToPage(PageTokens.BasicMoveList))
                    },
                    new MenuItemViewModel {
                        DisplayName = resourceLoader.GetString("ThrowMoveListPageMenuItemDisplayName"), FontIcon = "\u2783", Command = new DelegateCommand(() => NavigateToPage(PageTokens.ThrowMoveList), () => CanNavigateToPage(PageTokens.ThrowMoveList))
                    },
                    new MenuItemViewModel {
                        DisplayName = resourceLoader.GetString("SpecialMoveListPageMenuItemDisplayName"), FontIcon = "\u2784", Command = new DelegateCommand(() => NavigateToPage(PageTokens.SpecialMoveList), () => CanNavigateToPage(PageTokens.SpecialMoveList))
                    },
                    new MenuItemViewModel {
                        DisplayName = resourceLoader.GetString("PunishmentPageMenuItemDisplayName"), FontIcon = "\u2785", Command = new DelegateCommand(() => NavigateToPage(PageTokens.Punishment), () => CanNavigateToPage(PageTokens.Punishment))
                    },
                    new MenuItemViewModel {
                        DisplayName = resourceLoader.GetString("OffensiveStrategyMenuItemDisplayName"), FontIcon = "\u2786", Command = new DelegateCommand(() => NavigateToPage(PageTokens.OffensiveStrategy), () => CanNavigateToPage(PageTokens.OffensiveStrategy))
                    },
                    new MenuItemViewModel {
                        DisplayName = resourceLoader.GetString("DefensiveStrategyMenuItemDisplayName"), FontIcon = "\u2787", Command = new DelegateCommand(() => NavigateToPage(PageTokens.DefensiveStrategy), () => CanNavigateToPage(PageTokens.DefensiveStrategy))
                    },
                };
            }
            Menus = StaticMenus;

            _canNavigateLookup = new Dictionary <PageTokens, bool>();

            foreach (PageTokens pageToken in Enum.GetValues(typeof(PageTokens)))
            {
                _canNavigateLookup.Add(pageToken, true);
            }

            if (_sessionStateService.SessionState.ContainsKey(CurrentPageTokenKey))
            {
                // Resuming, so update the menu to reflect the current page correctly
                PageTokens currentPageToken;
                if (Enum.TryParse(_sessionStateService.SessionState[CurrentPageTokenKey].ToString(), out currentPageToken))
                {
                    UpdateCanNavigateLookup(currentPageToken);
                    RaiseCanExecuteChanged();
                }
            }
        }
        private async void UpdateItemCountAsync(object notUsed)
        {
            ShoppingCart shoppingCart = null;
            string       errorMessage = string.Empty;

            try
            {
                // Trigger auto-login if credentials are saved.
                await _accountService.VerifyUserAuthenticationAsync();

                shoppingCart = await _shoppingCartRepository.GetShoppingCartAsync();
            }
            catch (FileNotFoundException)
            {
            }
            catch (UnauthorizedAccessException)
            {
            }
            catch (Exception ex)
            {
                errorMessage = string.Format(CultureInfo.CurrentCulture, _resourceLoader.GetString("GeneralServiceErrorMessage"), Environment.NewLine, ex.Message);
            }

            if (!string.IsNullOrWhiteSpace(errorMessage))
            {
                await _alertMessageService.ShowAsync(errorMessage, _resourceLoader.GetString("ErrorServiceUnreachable"));
            }

            if (shoppingCart == null)
            {
                ItemCount = 0;
                return;
            }

            var itemCount = 0;

            if (shoppingCart.ShoppingCartItems != null)
            {
                foreach (var shoppingCartItem in shoppingCart.ShoppingCartItems)
                {
                    itemCount += shoppingCartItem.Quantity;
                }
            }

            ItemCount = itemCount;
        }
        public async void VerificationPageLoaded()
        {
            _navigationSerive.ClearHistory();

            // Workaround: When the app gets reactivated (on phone), the UserConsentVerifier immediately returns 'Canceled', but it works on the second call.
            // This seems to be a general problem on Windows Phone, you can also see this behavior on the OnDrive app.
            // For now, we mimic the behavior of the OneDrive app showing an additional dialog requesting authentication.
            var verificationResult = false;

            do
            {
                verificationResult = await VerificationService.RequestUserConsent();

                if (!verificationResult)
                {
                    var dialog = new ContentDialog
                    {
                        Title   = _resourceLoader.GetString(ResourceConstants.DialogTitle_SignInRequired),
                        Content = new TextBlock
                        {
                            Text         = _resourceLoader.GetString(ResourceConstants.SignInRequiredMessage),
                            TextWrapping = TextWrapping.WrapWholeWords,
                            Margin       = new Thickness(0, 20, 0, 0)
                        },
                        PrimaryButtonText   = _resourceLoader.GetString(ResourceConstants.TryAgain),
                        SecondaryButtonText = _resourceLoader.GetString(ResourceConstants.Cancel)
                    };

                    var dialogResult = await _dialogService.ShowAsync(dialog);

                    if (dialogResult == ContentDialogResult.Secondary)
                    {
                        App.Current.Exit();
                    }
                }
            } while (!verificationResult);

            if (!string.IsNullOrEmpty(this.nextPage))
            {
                _navigationSerive.Navigate(this.nextPage, null);
            }
            else
            {
                App.Current.Exit();
            }
        }
Ejemplo n.º 27
0
        public MenuViewModel(INavigationService navigationService, IResourceLoader resourceLoader)
        {
            this.navigationService = navigationService;

            Commands = new ObservableCollection <ButtonViewModel>()
            {
                new NavigationButtonViewModel(navigationService)
                {
                    DisplayName = resourceLoader.GetString("RootMenu_HomePageDisplayName"),
                    IconSource  = baseIconFolder + "Menu-HomeIcon.png",
                    PageToken   = PageTokens.HomePage
                },
                new NavigationButtonViewModel(navigationService)
                {
                    DisplayName = resourceLoader.GetString("RootMenu_RestoPageDisplayName"),
                    IconSource  = baseIconFolder + "Menu-RestoIcon.png",
                    PageToken   = PageTokens.RestoPage
                },
                new NavigationButtonViewModel(navigationService)
                {
                    DisplayName = resourceLoader.GetString("RootMenu_InfoPageDisplayName"),
                    IconSource  = baseIconFolder + "Menu-InfoIcon.png",
                    PageToken   = PageTokens.InfoPage
                },
                new NavigationButtonViewModel(navigationService)
                {
                    DisplayName = resourceLoader.GetString("RootMenu_NewsPageDisplayName"),
                    IconSource  = baseIconFolder + "Menu-NewsIcon.png",
                    PageToken   = PageTokens.NewsPage
                },
                new NavigationButtonViewModel(navigationService)
                {
                    DisplayName = resourceLoader.GetString("RootMenu_ActivitiesPageDisplayName"),
                    IconSource  = baseIconFolder + "Menu-ActivitiesIcon.png",
                    PageToken   = PageTokens.ActivitiesPage
                },
                new NavigationButtonViewModel(navigationService)
                {
                    DisplayName = resourceLoader.GetString("RootMenu_SchamperPageDisplayName"),
                    IconSource  = baseIconFolder + "Menu-SchamperIcon.png",
                    PageToken   = PageTokens.SchamperPage
                },
                new NavigationButtonViewModel(navigationService)
                {
                    DisplayName = resourceLoader.GetString("RootMenu_UrgentFmPageDisplayName"),
                    IconSource  = baseIconFolder + "Menu-UrgentFmIcon.png",
                    PageToken   = PageTokens.UrgentFmPage
                },
                new NavigationButtonViewModel(navigationService)
                {
                    DisplayName = resourceLoader.GetString("RootMenu_SettingsPageDisplayName"),
                    IconSource  = baseIconFolder + "Menu-SettingsIcon.png",
                    PageToken   = PageTokens.SettingsPage
                }
            };
        }
Ejemplo n.º 28
0
        private async void FixConflictByKeepAsIs(object parameter)
        {
            var listView = parameter as ListView;

            if (listView == null)
            {
                return;
            }

            var selectedList = new List <SyncInfoDetail>();
            var usageHint    = false;

            foreach (SyncInfoDetail detail in listView.SelectedItems)
            {
                if (detail.ConflictType == ConflictType.BothChanged ||
                    detail.ConflictType == ConflictType.BothNew)
                {
                    detail.ConflictSolution = ConflictSolution.KeepAsIs;
                    SyncDbUtils.SaveSyncInfoDetail(detail);
                    selectedList.Add(detail);
                }
                else
                {
                    usageHint = true;
                }
            }

            selectedList.ForEach(x => ConflictList.Remove(x));
            if (!usageHint)
            {
                return;
            }
            var dialog = new ContentDialog
            {
                Title   = _resourceLoader.GetString("SyncKeepAsIsHintTitle"),
                Content = new TextBlock
                {
                    Text         = _resourceLoader.GetString("SyncKeepAsIsHintDesc"),
                    TextWrapping = TextWrapping.WrapWholeWords,
                    Margin       = new Thickness(0, 20, 0, 0)
                },
                PrimaryButtonText = _resourceLoader.GetString("OK")
            };
            await _dialogService.ShowAsync(dialog);
        }
Ejemplo n.º 29
0
        public AuthorizeViewModel(IResourceLoader loader, IGitHubService githubService, INavigationService navigationService)
        {
            _loader = loader;
            _githubService = githubService;
            _navigationService = navigationService;

            InfoMessage = _loader.GetString("AuthZ_WhatIsOAuthDoing");
            ShowAuthorizeButton = true;
        }
Ejemplo n.º 30
0
        public AuthorizeViewModel(IResourceLoader loader, IGitHubService githubService, INavigationService navigationService)
        {
            _loader            = loader;
            _githubService     = githubService;
            _navigationService = navigationService;

            InfoMessage         = _loader.GetString("AuthZ_WhatIsOAuthDoing");
            ShowAuthorizeButton = true;
        }
Ejemplo n.º 31
0
 private void ContainerFrame_Navigated(object sender, NavigationEventArgs e)
 {
     //BackButton.Visibility = e.SourcePageType.Name == "DashboardPage" ? Visibility.Collapsed : Visibility.Visible;
     PageNameTextBlock.Text = _resourceLoader.GetString(e.SourcePageType.Name);
     if (e.SourcePageType.Name.Equals(ViewNames.Dashboard + "Page"))
     {
         ((IMainPageViewModel)this.DataContext).NotifyMainFormForNewChanges();
     }
 }
        private async void GetServerVersion()
        {
            var status = await NextcloudClient.NextcloudClient.GetServerStatus(Settings.ServerAddress);

            if (!string.IsNullOrEmpty(status.VersionString))
            {
                ServerVersion = string.Format(_resourceLoader.GetString("ServerVersion"), status.VersionString);
            }
        }
Ejemplo n.º 33
0
        private async void GetServerVersion()
        {
            var status = await NextcloudClient.NextcloudClient.GetServerStatus(SettingsLocal.ServerAddress, SettingsService.Default.Value.LocalSettings.IgnoreServerCertificateErrors);

            if (!string.IsNullOrEmpty(status.VersionString))
            {
                ServerVersion = string.Format(_resourceLoader.GetString("ServerVersion"), status.VersionString);
            }
        }
        public SettingsPageViewModel(INavigationService navigationService, IResourceLoader resourceLoader)
        {
            _navigationService = navigationService;
            _resourceLoader    = resourceLoader;
            Settings           = SettingsService.Instance.Settings;

            PreviewImageDownloadModes.Add(new PreviewImageDownloadModeItem
            {
                Name  = resourceLoader.GetString("Always"),
                Value = PreviewImageDownloadMode.Always
            });
            PreviewImageDownloadModes.Add(new PreviewImageDownloadModeItem
            {
                Name  = resourceLoader.GetString("WiFiOnly"),
                Value = PreviewImageDownloadMode.WiFiOnly
            });
            PreviewImageDownloadModes.Add(new PreviewImageDownloadModeItem
            {
                Name  = resourceLoader.GetString("Never"),
                Value = PreviewImageDownloadMode.Never
            });

            switch (Settings.PreviewImageDownloadMode)
            {
            case PreviewImageDownloadMode.Always:
                PreviewImageDownloadModesSelectedIndex = 0;
                break;

            case PreviewImageDownloadMode.WiFiOnly:
                PreviewImageDownloadModesSelectedIndex = 1;
                break;

            case PreviewImageDownloadMode.Never:
                PreviewImageDownloadModesSelectedIndex = 2;
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            ResetCommand = new DelegateCommand(Reset);

            GetServerVersion();
        }
Ejemplo n.º 35
0
 public MenuViewModel(INavigationService navigationService, IResourceLoader resourceLoader)
 {
     _navigationService = navigationService;
     Commands = new ObservableCollection<MenuItemViewModel>
     {
         new MenuItemViewModel
         {
             DisplayName = resourceLoader.GetString("LibraryDisplayName"),
             FontIcon ="\uE7bc",
             Command = new DelegateCommand(NavigateToLibrary, CanNavigateToLibrary)
         },
         new MenuItemViewModel
         {
             DisplayName = resourceLoader.GetString("FavoritesDisplayName"),
             FontIcon ="\uE734",
             Command = new DelegateCommand(NavigateToFavorites, CanNavigateToFavorites)
         },
     };
 }
        public MenuViewModel(INavigationService navigationService, IResourceLoader resourceLoader)
        {
            _navigationService = navigationService;

            Commands = new ObservableCollection<MenuItemViewModel>
            {
                new MenuItemViewModel
                {
                    DisplayName = resourceLoader.GetString(ResourceTokens.UsersMenuItemDisplayName),
                    FontIcon = "\ue8bd",
                    Command = new DelegateCommand(NavigateToMessagesView, () => _canNavigateToUsers)
                },
                new MenuItemViewModel
                {
                    DisplayName = resourceLoader.GetString(ResourceTokens.ApplicationsMenuItemDisplayName),
                    FontIcon = "\ue71d",
                    Command = new DelegateCommand(NavigateToContactsView, () => _canNavigateToApps)
                },
            };
        }
        public override async void OnNavigatedTo(object navigationParameter, Windows.UI.Xaml.Navigation.NavigationMode navigationMode, System.Collections.Generic.Dictionary <string, object> viewModelState)
        {
            if (await _accountService.VerifyUserAuthenticationAsync() == null)
            {
                return;
            }

            var paymentMethodId = navigationParameter as string;

            HeaderLabel = string.IsNullOrWhiteSpace(paymentMethodId)
                  ? _resourceLoader.GetString("AddPaymentMethodTitle")
                  : _resourceLoader.GetString("EditPaymentMethodTitle");

            if (!string.IsNullOrWhiteSpace(paymentMethodId))
            {
                // Update PaymentMethod information
                PaymentMethodViewModel.PaymentMethod = await _checkoutDataRepository.GetPaymentMethodAsync(paymentMethodId);
            }
            PaymentMethodViewModel.OnNavigatedTo(navigationParameter, navigationMode, viewModelState);
        }
Ejemplo n.º 38
0
        public MenuViewModel(INavigationService navigationService, IResourceLoader resourceLoader)
        {
            this.navigationService = navigationService;

            Commands = new ObservableCollection<ButtonViewModel>() {
                new NavigationButtonViewModel(navigationService) {
                    DisplayName = resourceLoader.GetString("RootMenu_HomePageDisplayName"),
                    IconSource = baseIconFolder + "Menu-HomeIcon.png",
                    PageToken = PageTokens.HomePage
                },
                new NavigationButtonViewModel(navigationService) {
                    DisplayName = resourceLoader.GetString("RootMenu_RestoPageDisplayName"),
                    IconSource = baseIconFolder + "Menu-RestoIcon.png",
                    PageToken = PageTokens.RestoPage
                },
                new NavigationButtonViewModel(navigationService) {
                    DisplayName = resourceLoader.GetString("RootMenu_InfoPageDisplayName"),
                    IconSource = baseIconFolder + "Menu-InfoIcon.png",
                    PageToken = PageTokens.InfoPage
                },
                new NavigationButtonViewModel(navigationService) {
                    DisplayName = resourceLoader.GetString("RootMenu_NewsPageDisplayName"),
                    IconSource = baseIconFolder + "Menu-NewsIcon.png",
                    PageToken = PageTokens.NewsPage
                },
                new NavigationButtonViewModel(navigationService) {
                    DisplayName = resourceLoader.GetString("RootMenu_ActivitiesPageDisplayName"),
                    IconSource = baseIconFolder + "Menu-ActivitiesIcon.png",
                    PageToken = PageTokens.ActivitiesPage
                },
                new NavigationButtonViewModel(navigationService) {
                    DisplayName = resourceLoader.GetString("RootMenu_SchamperPageDisplayName"),
                    IconSource = baseIconFolder + "Menu-SchamperIcon.png",
                    PageToken = PageTokens.SchamperPage
                },
                new NavigationButtonViewModel(navigationService) {
                    DisplayName = resourceLoader.GetString("RootMenu_UrgentFmPageDisplayName"),
                    IconSource = baseIconFolder + "Menu-UrgentFmIcon.png",
                    PageToken = PageTokens.UrgentFmPage
                },
                new NavigationButtonViewModel(navigationService) {
                    DisplayName = resourceLoader.GetString("RootMenu_SettingsPageDisplayName"),
                    IconSource = baseIconFolder + "Menu-SettingsIcon.png",
                    PageToken = PageTokens.SettingsPage
                }
            };
        }