/// <summary> /// Initializes a new instance of the <see cref="AddRuleViewModel" /> class. /// </summary> /// <param name="configuration">The configuration.</param> /// <param name="visualStudioService">The visual studio service.</param> /// <exception cref="ArgumentNullException">The <paramref name="configuration" /> is <c>null</c>.</exception> /// <exception cref="ArgumentNullException">The <paramref name="visualStudioService" /> is <c>null</c>.</exception> public AddRuleViewModel(IConfiguration configuration, IVisualStudioService visualStudioService) { Argument.IsNotNull(() => configuration); Argument.IsNotNull(() => visualStudioService); _configuration = configuration; AvailableProjects = new List<string>(); AvailableProjects.AddRange(from project in visualStudioService.GetAllProjects() select project.Name); RootProject = visualStudioService.GetCurrentProject().Name; ItemsToAdd = new List<string>(visualStudioService.GetSelectedItems()); RuleTypes = Enum<RuleType>.ToList(); ProjectTypes = new ObservableCollection<SelectableProjectType>(); foreach (var projectType in ProjectTypeHelper.GetAvailableProjectTypes()) { var selectableProjectType = new SelectableProjectType(projectType); this.SubscribeToWeakPropertyChangedEvent(selectableProjectType, OnSelectableProjectTypePropertyChanged); ProjectTypes.Add(selectableProjectType); } }
/// <summary> /// Initializes a new instance of the <see cref="RootProjectViewModel" /> class. /// </summary> /// <param name="rootProject">The root project.</param> /// <param name="visualStudioService">The visual studio service.</param> /// <param name="uiVisualizerService">The UI visualizer service.</param> /// <param name="messageService">The message service.</param> /// <exception cref="ArgumentNullException">The <paramref name="rootProject" /> is <c>null</c>.</exception> public RootProjectViewModel(RootProject rootProject, IVisualStudioService visualStudioService, IUIVisualizerService uiVisualizerService, IMessageService messageService) { Argument.IsNotNull(() => rootProject); Argument.IsNotNull(() => visualStudioService); Argument.IsNotNull(() => uiVisualizerService); Argument.IsNotNull(() => messageService); _uiVisualizerService = uiVisualizerService; _messageService = messageService; AvailableProjects = new List<string>(); var availableProjects = visualStudioService.GetAllProjects(); foreach (var availableProject in availableProjects) { AvailableProjects.Add(availableProject.Name); } RootProject = rootProject; Add = new Command(OnAddExecute, OnAddCanExecute); Edit = new Command(OnEditExecute, OnEditCanExecute); Remove = new Command(OnRemoveExecute, OnRemoveCanExecute); }
/// <summary> /// Initializes a new instance of the <see cref="ProjectMappingViewModel" /> class. /// </summary> /// <param name="projectMapping">The project Mapping.</param> /// <param name="visualStudioService">The visual studio service.</param> public ProjectMappingViewModel(ProjectMapping projectMapping, IVisualStudioService visualStudioService) { Argument.IsNotNull("projectMapping", projectMapping); Argument.IsNotNull("visualStudioService", visualStudioService); ProjectMapping = projectMapping; AvailableProjects = new List<Project>(visualStudioService.GetAllProjects()); }