Esempio n. 1
0
        private void AddButton_Click(object sender, RoutedEventArgs e)
        {
            if (ViewComboBox.SelectedItem == null)
            {
                return;
            }

            TreeViewItem selectedTreeViewItem = null;
            IQueryPanel  masterQueryPanel     = null;
            Guid         masterViewRelationID = Guid.Empty;

            if (ViewRelationsTreeView.SelectedItem != null)
            {
                selectedTreeViewItem = (TreeViewItem)ViewRelationsTreeView.SelectedItem;
                Guid detailQueryPanelID = ((ViewRelation)selectedTreeViewItem.Tag).DetailQueryPanelID;
                masterViewRelationID = ((ViewRelation)selectedTreeViewItem.Tag).ID;
                masterQueryPanel     = ApplicationContext.Current.SPCamlStudio.QueriesPanel.GetQueryPanel(detailQueryPanelID);
                //masterQueryPanel = (IQueryPanel)selectedTreeViewItem.Tag;
            }
            ComboBoxItem selectedComboBoxItem = (ComboBoxItem)ViewComboBox.SelectedItem;
            IQueryPanel  detailQueryPanel     = (IQueryPanel)selectedComboBoxItem.Tag;
            ViewRelation viewRelation         = ViewRelation.NewViewRelation();

            viewRelation.MasterViewRelationID = masterViewRelationID;
            viewRelation.DetailQueryPanelID   = detailQueryPanel.ID;
            viewRelation.Name           = detailQueryPanel.FileName;
            viewRelation.DetailSiteUrl  = detailQueryPanel.AttachedObject.GetWebUrl();
            viewRelation.DetailListName = detailQueryPanel.AttachedObject.GetListName();
            if (selectedComboBoxItem.Parent == null)
            {
                viewRelation.IsRoot = true;
            }

            TreeViewItem newTreeViewItem = new TreeViewItem()
            {
                Header = viewRelation.Name,
                Tag    = viewRelation
            };

            if (selectedTreeViewItem == null)
            {
                ViewRelationsTreeView.Items.Add(newTreeViewItem);
            }
            else
            {
                ViewRelationForm viewRelationForm = new ViewRelationForm();
                viewRelationForm.Initialize(masterQueryPanel, detailQueryPanel);
                viewRelationForm.Tag = viewRelation;
                if (viewRelationForm.ShowDialog(this.ParentWindow, "View Relation") == true)
                {
                    selectedTreeViewItem.Items.Add(newTreeViewItem);
                }
            }
        }