Esempio n. 1
0
        /// <inheritdoc />
        protected override void OnInitialize()
        {
            base.OnInitialize();

            var loadingTask = Task.Run(async delegate
            {
                try
                {
                    var supportedTypes          = Reference.Type.Model.SupportedTypes;
                    var possibleTargetsLoadTask = _resourceServiceModel.GetResources(new ResourceQuery {
                        Types = supportedTypes
                    });

                    TaskNotifier = new TaskNotifier(possibleTargetsLoadTask);

                    var possibleTargets    = await possibleTargetsLoadTask;
                    var possibleTargetsVms = possibleTargets.Where(resource => Reference.Targets.All(t => t.Id != resource.Id))
                                             .Select(possible => new ResourceInfoViewModel(possible));

                    await Execute.OnUIThreadAsync(delegate
                    {
                        PossibleTargets = possibleTargetsVms.ToArray();
                        SelectedTarget  = PossibleTargets.FirstOrDefault();
                        NotifyOfPropertyChange(nameof(PossibleTargets));
                    });
                }
                catch (Exception e)
                {
                    await Execute.OnUIThreadAsync(() => ErrorMessage = e.Message);
                }
            });

            TaskNotifier = new TaskNotifier(loadingTask);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="ResourceTreeItemViewModel"/> class.
 /// </summary>
 public ResourceTreeItemViewModel(ResourceModel model)
 {
     Resource = new ResourceInfoViewModel(model);
 }