Beispiel #1
0
        internal void RemoveReference(bool automaticReference)
        {
            if (automaticReference)
            {
                References--;
            }
            _framework.RemoveRefrence();
            //If is not enabled (last reference was removed) then remove settings block from the collection
            if (!IsChecked)
            {
                _profilingTypesSettings.Remove(_profilingType.Definition.Uid);
            }
            //Look through profiling types and enable dependencies of current profiling type
            IEnumerable <DependencyDefinition> dependencies = _profilingType.Definition.Dependencies;

            foreach (ProfilingTypeViewModel profilingTypeViewModel in _profilingTypes)
            {
                //profilingTypeViewModel is current profiling type - do nothing
                if (profilingTypeViewModel == this)
                {
                    continue;
                }
                ProfilingTypeViewModel viewModel = profilingTypeViewModel;
                //If profilingTypeViewModel is dependency for current profiling type?
                //If yes - disable it
                if (dependencies.Any(x => viewModel.ProfilingType.Definition.Uid == x.Uid))
                {
                    viewModel.RemoveReference(true);
                }
            }
        }
Beispiel #2
0
 public FrameworkViewModel(IFramework framework, List <ProfilingTypeViewModel> profilingTypes, ConfigurationSettings configurationSettings)
 {
     _references         = 0;
     _framework          = framework;
     _frameworksSettings = configurationSettings.FrameworksSettings;
     _profilingTypes     = new List <ProfilingTypeViewModel>();
     foreach (IProfilingType profilingType in _framework.ProfilingTypes)
     {
         ProfilingTypeViewModel viewModel = new ProfilingTypeViewModel(profilingType, this, profilingTypes, configurationSettings.ProfilingTypesSettings);
         profilingTypes.Add(viewModel);
         _profilingTypes.Add(viewModel);
     }
 }
Beispiel #3
0
        internal void AddReference(bool automaticReference)
        {
            if (automaticReference)
            {
                References++;
            }
            _framework.AddReference();
            //If settings collection doesn't contain setings block then add it
            if (!_profilingTypesSettings.Contains(_profilingType.Definition.Uid))
            {
                if (_profilingTypeSettings == null)
                {
                    _profilingTypeSettings = _profilingTypesSettings.GetOrCreate(_profilingType.Definition.Uid);
                    _profilingTypeSettings.FrameworkUid = _profilingType.Definition.FrameworkUid;
                }
                else
                {
                    _profilingTypesSettings.Add(_profilingTypeSettings);
                }
            }
            //Look through profiling types and enable dependencies of current profiling type
            IEnumerable <DependencyDefinition> dependencies = _profilingType.Definition.Dependencies;

            foreach (ProfilingTypeViewModel profilingTypeViewModel in _profilingTypes)
            {
                //profilingTypeViewModel is current profiling type - do nothing
                if (profilingTypeViewModel == this)
                {
                    continue;
                }
                ProfilingTypeViewModel viewModel = profilingTypeViewModel;
                //If profilingTypeViewModel is dependency for current profiling type?
                //If yes - enable it
                if (dependencies.Any(x => viewModel.ProfilingType.Definition.Uid == x.Uid))
                {
                    viewModel.AddReference(true);
                }
            }
        }