예제 #1
0
        private ViewInfo GetViewInfoUsingDialog(object data, IEnumerable <ViewInfo> viewInfoList)
        {
            Type   defaultViewTypeForData = GetDefaultViewType(data);
            string defaultViewName        = defaultViewTypeForData != null
                                         ? viewInfoList.First(vi => vi.ViewType == defaultViewTypeForData).Description
                                         : null;

            Dictionary <string, ViewInfo> viewTypeDictionary = viewInfoList.ToDictionary(vi => vi.Description ?? vi.ViewType.Name);

            using (var viewSelector = new SelectViewDialog(dialogParent)
            {
                DefaultViewName = defaultViewName,
                Items = viewTypeDictionary.Keys.ToList()
            })
            {
                if (viewSelector.ShowDialog() != DialogResult.OK)
                {
                    return(null);
                }

                ViewInfo selectedViewInfo = viewTypeDictionary[viewSelector.SelectedItem];

                if (viewSelector.DefaultViewName == null)
                {
                    ClearDefaultView(data);
                }
                else
                {
                    ViewInfo defaultViewInfo = viewTypeDictionary[viewSelector.DefaultViewName];
                    SetDefaultView(defaultViewInfo.ViewType, data);
                }

                return(selectedViewInfo);
            }
        }
예제 #2
0
 private void OpenView()
 {
     if (!SaveIfChanged())
     {
         return;
     }
     if (views == null || views.Count == 0)
     {
         LoadViews(OpenView);
     }
     else
     {
         var viewselector = new SelectViewDialog(this);
         viewselector.StartPosition = FormStartPosition.CenterParent;
         if (viewselector.ShowDialog() == DialogResult.OK)
         {
             if (viewselector.View.Contains("fetchxml") && !string.IsNullOrEmpty(viewselector.View["fetchxml"].ToString()))
             {
                 View = viewselector.View;
                 dockControlBuilder.Init(View["fetchxml"].ToString(), View["layoutxml"].ToString(), "open view", false);
                 attributesChecksum = dockControlBuilder.GetAttributesSignature();
                 LogUse($"OpenView-{(View.LogicalName == "savedquery" ? "S" : "P")}");
             }
             else
             {
                 if (MessageBox.Show("The selected view does not contain any FetchXML.\nPlease select another one.", "Open View",
                                     MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation) == DialogResult.OK)
                 {
                     OpenView();
                 }
             }
         }
     }
     EnableControls(true);
 }
예제 #3
0
        public void Constructor_WithDialogParent_SetProperties()
        {
            // Setup
            var mocks  = new MockRepository();
            var parent = mocks.StrictMock <IWin32Window>();

            mocks.ReplayAll();

            // Call
            using (var dialog = new SelectViewDialog(parent))
            {
                // Assert
                Assert.IsNull(dialog.DefaultViewName);
                Assert.IsNull(dialog.SelectedItem);
                Assert.IsNull(dialog.Items);
            }

            mocks.VerifyAll();
        }
예제 #4
0
        private void tsbOpen_Click(object sender, EventArgs e)
        {
            if (Service == null)
            {
                MessageBox.Show("Please connect to CRM.", ((ToolStripButton)sender).Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            var select = new SelectViewDialog(this);

            select.StartPosition = FormStartPosition.CenterParent;
            if (select.ShowDialog() == DialogResult.OK)
            {
                tsbSnap.Checked = true;

                ViewEditor.Enabled = true;
                ViewEditor.Set(select.View);
                tsbSnap.Checked = ViewEditor.Snapped;
            }
        }
예제 #5
0
        private void OpenView()
        {
            EnableControls(false);
            if (views == null || views.Count == 0)
            {
                LoadViews(OpenView);
                return;
            }
            var viewselector = new SelectViewDialog(this);

            viewselector.StartPosition = FormStartPosition.CenterParent;
            if (viewselector.ShowDialog() == DialogResult.OK)
            {
                view = viewselector.View;
                var fetchDoc = new XmlDocument();
                if (view.Contains("fetchxml"))
                {
                    fetchDoc.LoadXml(view["fetchxml"].ToString());
                    FetchUpdated(fetchDoc.OuterXml);
                }
            }
            EnableControls(true);
        }