コード例 #1
0
        private void AddProfile([NotNull] object sender, [NotNull] RoutedEventArgs e)
        {
            Debug.ArgumentNotNull(sender, nameof(sender));
            Debug.ArgumentNotNull(e, nameof(e));

            var name = AppHost.Prompt("Add new publish profile:", "Publish Profile");

            if (string.IsNullOrEmpty(name))
            {
                return;
            }

            var profile = new PublishProfile
            {
                Name = name
            };

            profiles.Add(profile);

            var listBoxItem = new ListBoxItem
            {
                Content = profile.Name,
                Tag     = profile
            };

            var index = Profiles.Items.Add(listBoxItem);

            Profiles.SelectedIndex = index;
        }
コード例 #2
0
        private void LoadProfiles()
        {
            profiles.Clear();

            var value = AppHost.Settings.GetString("Publishing", "Profiles", string.Empty);

            if (string.IsNullOrEmpty(value))
            {
                return;
            }

            var root = value.ToXElement();

            if (root == null)
            {
                return;
            }

            foreach (var element in root.Elements())
            {
                var profile = new PublishProfile();

                profile.Load(element);

                profiles.Add(profile);
            }
        }
コード例 #3
0
        public AdvancedPublishDialog([NotNull] DatabaseUri databaseUri)
        {
            Assert.ArgumentNotNull(databaseUri, nameof(databaseUri));

            InitializeComponent();
            this.InitializeDialog();

            AllLanguages.IsChecked = true;
            AllTargets.IsChecked   = true;

            DatabaseUri = databaseUri;

            JobViewer.IsChecked = AppHost.Settings.Options.ShowJobViewer;

            LoadProfiles();

            if (!profiles.Any())
            {
                var profile = new PublishProfile
                {
                    Name = "Default"
                };
                profiles.Add(profile);
            }

            RenderProfiles();

            LoadPublishInformation();

            RelatedItems.Visibility = databaseUri.Site.IsSitecoreVersion(Constants.Versions.Version72) ? Visibility.Visible : Visibility.Collapsed;

            EnableButtons();
        }
コード例 #4
0
        private void RenderProfile([NotNull] PublishProfile profile)
        {
            Debug.ArgumentNotNull(profile, nameof(profile));

            IsRenderingProfile = true;

            switch (profile.Source)
            {
            case 0:
                PublishDatabase.IsChecked = true;
                break;

            case 1:
                PublishItem.IsChecked = true;
                break;

            case 2:
                PublishItemAndSubItems.IsChecked = true;
                break;
            }

            switch (profile.Mode)
            {
            case 0:
                IncrementalPublish.IsChecked = true;
                break;

            case 1:
                SmartPublish.IsChecked = true;
                break;

            case 2:
                Republish.IsChecked = true;
                break;

            case 3:
                RebuildDatabase.IsChecked = true;
                break;
            }

            RelatedItems.IsChecked = profile.RelatedItems;

            if (!profile.Languages.Any())
            {
                AllLanguages.IsChecked = true;
            }
            else
            {
                AllLanguages.IsChecked = false;
                foreach (var checkBox in Languages.Children.OfType <CheckBox>())
                {
                    checkBox.IsChecked = profile.Languages.Contains(checkBox.Tag as string);
                }
            }

            if (!profile.Targets.Any())
            {
                AllTargets.IsChecked = true;
            }
            else
            {
                AllTargets.IsChecked = false;
                foreach (var checkBox in Targets.Children.OfType <CheckBox>())
                {
                    checkBox.IsChecked = profile.Targets.Contains(checkBox.Tag as string);
                }
            }

            Details.IsEnabled = true;

            IsRenderingProfile = false;
        }