예제 #1
0
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            CategoryListParameter parameter = e.GetParameterOrDefault <CategoryListParameter>();

            ViewModel = new CategoryListViewModel(commandDispatcher, navigator);

            // Bind events.
            handlers.Add(eventHandlers.AddUiThread <CategoryCreated>(ViewModel, Dispatcher));
            handlers.Add(eventHandlers.AddUiThread <CategoryRenamed>(ViewModel, Dispatcher));
            handlers.Add(eventHandlers.AddUiThread <CategoryDescriptionChanged>(ViewModel, Dispatcher));
            handlers.Add(eventHandlers.AddUiThread <CategoryColorChanged>(ViewModel, Dispatcher));
            handlers.Add(eventHandlers.AddUiThread <CategoryIconChanged>(ViewModel, Dispatcher));
            handlers.Add(eventHandlers.AddUiThread <CategoryDeleted>(ViewModel, Dispatcher));

            // Just to show the loading wheel.
            await Task.Delay(100);

            IEnumerable <CategoryModel> models = await queryDispatcher.QueryAsync(new ListAllCategory());

            foreach (CategoryModel model in models)
            {
                CategoryEditViewModel viewModel = new CategoryEditViewModel(commandDispatcher, navigator, model.Key, model.Name, model.Description, model.Color, model.Icon);
                if (parameter.Key.Equals(model.Key))
                {
                    viewModel.IsSelected = true;
                }

                ViewModel.Items.Add(viewModel);
            }

            UpdateSelectedItemView();
            ContentLoaded?.Invoke(this, EventArgs.Empty);
        }
예제 #2
0
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            eventHandlers
            .Add <CurrencyCreated>(this)
            .Add <CurrencyDefaultChanged>(this)
            .Add <CurrencyExchangeRateSet>(this)
            .Add <CurrencyExchangeRateRemoved>(this)
            .Add <CurrencySymbolChanged>(this)
            .Add <CurrencyDeleted>(this);

            CurrencyParameter parameter = e.GetParameterOrDefault <CurrencyParameter>();

            IEnumerable <CurrencyModel> models = await queryDispatcher.QueryAsync(new ListAllCurrency());

            ViewModel = new CurrencyListViewModel(navigator);

            foreach (CurrencyModel model in models)
            {
                ViewModel.Items.Add(new CurrencyEditViewModel(navigator, commandDispatcher, messageBuilder, queryDispatcher, model.UniqueCode, model.Symbol));
            }

            UpdateStandalone();

            CurrencyModel defaultModel = models.FirstOrDefault(c => c.IsDefault);

            if (defaultModel != null)
            {
                UpdateDefaultCurrency(defaultModel.UniqueCode);
            }

            ContentLoaded?.Invoke(this, EventArgs.Empty);
        }
예제 #3
0
        protected override async void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            parameter = e.GetParameterOrDefault <SummaryParameter>();
            await LoadAsync();

            handlers.Add(eventHandlers.AddUiThread(this, Dispatcher));
        }