Ejemplo n.º 1
0
        internal static string GetActiveProjectDirectory()
        {
            var project = VsHelper.GetActiveProject();
            var path    = project != null?Path.GetDirectoryName(project.FullName) : string.Empty;

            return(path);
        }
        public override void Apply()
        {
            base.Apply();

            foreach (var prop in _properties.Values)
            {
                prop.Setter();
            }
            var path = VsHelper.GetActiveProjectDirectory();

            configManager.SetProjectConfiguration(path, config);
        }
        public TemplatePropertyPageControl()
        {
            InitializeComponent();

            var props = new UserPropertyDescriptor[]
            {
                new UserPropertyDescriptor(
                    "PnPProvisionSiteUrl",
                    typeof(string),
                    50001,
                    textProvisionSiteUrl,
                    () => { config.ProvisionSiteUrl = textProvisionSiteUrl.Text; },
                    () => { return(config.ProvisionSiteUrl); },
                    () => { return(config.ProvisionSiteUrl != textProvisionSiteUrl.Text); }),
                new UserPropertyDescriptor(
                    "PnPTemplateAuthor",
                    typeof(string),
                    50002,
                    textAuthor,
                    () => { config.Author = textAuthor.Text; },
                    () => { return(config.Author); },
                    () => { return(config.Author != textAuthor.Text); }),
            };

            var controls = new List <PropertyControlData>();

            foreach (var prop in props)
            {
                _properties[prop.Name] = prop;
                controls.Add(new PropertyControlData(prop.DispId, prop.Name, prop.FormControl, ControlDataFlags.UserPersisted));
            }
            _controlData = controls.ToArray();

            configManager = new ConfigurationManager();
            var path = VsHelper.GetActiveProjectDirectory();

            config = configManager.GetProjectConfiguration(path);
        }