Exemple #1
0
        private void RaisePropertyChanged(string name)
        {
            var local = PropertyChanged;

            if (local != null)
            {
                Action action = () => local(this, new PropertyChangedEventArgs(name));
                if (m_Context.IsSynchronized)
                {
                    action();
                }
                else
                {
                    m_Context.Invoke(action);
                }
            }
        }
        public MachineSelectorModel(
            IContextAware context,
            IEnumerable<DistributionSuggestion> suggestions,
            TaskScheduler scheduler = null)
            : base(context)
        {
            {
                Enforce.Argument(() => suggestions);
            }

            Action action =
                () =>
                {
                    IsLoading = true;
                    foreach (var suggestion in suggestions)
                    {
                        var temp = suggestion;
                        if (context.IsSynchronized)
                        {
                            m_Proposals.Add(temp);
                        }
                        else
                        {
                            context.Invoke(() => m_Proposals.Add(temp));
                        }
                    }

                    IsLoading = false;
                };

            Task.Factory.StartNew(
                action,
                new CancellationToken(),
                TaskCreationOptions.LongRunning,
                scheduler ?? TaskScheduler.Default);
        }
Exemple #3
0
        public MachineSelectorModel(
            IContextAware context,
            IEnumerable <DistributionSuggestion> suggestions,
            TaskScheduler scheduler = null)
            : base(context)
        {
            {
                Enforce.Argument(() => suggestions);
            }

            Action action =
                () =>
            {
                IsLoading = true;
                foreach (var suggestion in suggestions)
                {
                    var temp = suggestion;
                    if (context.IsSynchronized)
                    {
                        m_Proposals.Add(temp);
                    }
                    else
                    {
                        context.Invoke(() => m_Proposals.Add(temp));
                    }
                }

                IsLoading = false;
            };

            Task.Factory.StartNew(
                action,
                new CancellationToken(),
                TaskCreationOptions.LongRunning,
                scheduler ?? TaskScheduler.Default);
        }