public LaunchProfileDataProvider(
     IProjectServiceAccessor projectServiceAccessor,
     IProjectStateProvider projectStateProvider)
     : base(projectServiceAccessor)
 {
     _projectStateProvider = projectStateProvider;
 }
        public static async Task <IEntityValue?> CreatePropertyPageValueAsync(
            IQueryExecutionContext queryExecutionContext,
            EntityIdentity id,
            IProjectService2 projectService,
            IProjectStateProvider projectStateProvider,
            QueryProjectPropertiesContext propertiesContext,
            string propertyPageName,
            IPropertyPagePropertiesAvailableStatus requestedProperties)
        {
            if (projectService.GetLoadedProject(propertiesContext.File) is UnconfiguredProject project)
            {
                project.GetQueryDataVersion(out string versionKey, out long versionNumber);
                queryExecutionContext.ReportInputDataVersion(versionKey, versionNumber);

                if (await project.GetProjectLevelPropertyPagesCatalogAsync() is IPropertyPagesCatalog projectCatalog &&
                    projectCatalog.GetSchema(propertyPageName) is Rule rule &&
                    !rule.PropertyPagesHidden)
                {
                    IProjectState projectState      = projectStateProvider.CreateState(project);
                    IEntityValue  propertyPageValue = CreatePropertyPageValue(queryExecutionContext, id, projectState, propertiesContext, rule, requestedProperties);
                    return(propertyPageValue);
                }
            }

            return(null);
        }
        public static async Task <IEnumerable <IEntityValue> > CreatePropertyPageValuesAsync(
            IQueryExecutionContext queryExecutionContext,
            IEntityValue parent,
            UnconfiguredProject project,
            IProjectStateProvider projectStateProvider,
            IPropertyPagePropertiesAvailableStatus requestedProperties)
        {
            if (await project.GetProjectLevelPropertyPagesCatalogAsync() is IPropertyPagesCatalog projectCatalog)
            {
                return(createPropertyPageValuesAsync());
            }

            return(Enumerable.Empty <IEntityValue>());

            IEnumerable <IEntityValue> createPropertyPageValuesAsync()
            {
                IProjectState projectState = projectStateProvider.CreateState(project);
                QueryProjectPropertiesContext propertiesContext = new QueryProjectPropertiesContext(isProjectFile: true, project.FullPath, itemType: null, itemName: null);

                foreach (string schemaName in projectCatalog.GetProjectLevelPropertyPagesSchemas())
                {
                    if (projectCatalog.GetSchema(schemaName) is Rule rule &&
                        !rule.PropertyPagesHidden)
                    {
                        IEntityValue propertyPageValue = CreatePropertyPageValue(queryExecutionContext, parent, projectState, propertiesContext, rule, requestedProperties: requestedProperties);
                        yield return(propertyPageValue);
                    }
                }
            }
        }
예제 #4
0
 public UIPropertyByIdProducer(IUIPropertyPropertiesAvailableStatus properties, IProjectService2 projectService, IProjectStateProvider projectStateProvider)
 {
     Requires.NotNull(properties, nameof(properties));
     Requires.NotNull(projectService, nameof(projectService));
     _properties           = properties;
     _projectService       = projectService;
     _projectStateProvider = projectStateProvider;
 }
예제 #5
0
        public ProjectSetEvaluatedUIPropertyValueAction(IProjectStateProvider projectStateProvider, SetEvaluatedUIPropertyValue parameter)
            : base(projectStateProvider, parameter.Page, parameter.Name, parameter.Dimensions)
        {
            Requires.NotNull(parameter, nameof(parameter));
            Requires.NotNull(parameter.Dimensions, $"{nameof(parameter)}.{nameof(parameter.Dimensions)}");

            _parameter = parameter;
        }
 public ProjectSetUIPropertyValueActionBase(
     IProjectStateProvider projectStateProvider,
     string pageName,
     string propertyName,
     ReadOnlyCollection <ProjectSystem.Query.ProjectModelMethods.Actions.ConfigurationDimensionValue> dimensions)
 {
     _coreExecutor = new ProjectSetUIPropertyValueActionCore(
         projectStateProvider,
         pageName,
         propertyName,
         dimensions.Select(d => (d.Dimension, d.Value)),
         SetValueAsync);
 }
예제 #7
0
 public LaunchProfileByIdDataProducer(ILaunchProfilePropertiesAvailableStatus properties, IProjectService2 projectService, IProjectStateProvider projectStateProvider)
 {
     _properties           = properties;
     _projectService       = projectService;
     _projectStateProvider = projectStateProvider;
 }
 public LaunchProfileFromProjectDataProducer(ILaunchProfilePropertiesAvailableStatus properties, IProjectStateProvider projectStateProvider)
 {
     _properties           = properties;
     _projectStateProvider = projectStateProvider;
 }
 public PropertyPageDataProvider(IProjectServiceAccessor projectServiceAccessor, IProjectStateProvider projectStateProvider)
     : base(projectServiceAccessor)
 {
     _projectStateProvider = projectStateProvider;
 }
 public ProjectActionProvider(IProjectStateProvider projectStateProvider)
 {
     _projectStateProvider = projectStateProvider;
 }
 public LaunchProfileActionProvider(IProjectStateProvider projectStateProvider)
 {
     _projectStateProvider = projectStateProvider;
 }
예제 #12
0
 public PropertyPageFromProjectDataProducer(IPropertyPagePropertiesAvailableStatus properties, IProjectStateProvider projectStateProvider)
 {
     _properties           = properties;
     _projectStateProvider = projectStateProvider;
 }