Exemplo n.º 1
0
        private void ChangeUpdateParamSettings()
        {
            //Controlling parameter can be either RevitControlled or DBControlled, however, Updating parameter should be only DBControlled.
            try
            {
                ParamProperties controlProperty = textBoxParameter.Tag as ParamProperties;
                if (null != controlProperty)
                {
                    bool isEditable = controlProperty.IsEditable;

                    foreach (ListViewItem item in listViewUpdate.Items)
                    {
                        ParamProperties updateProperty = item.Tag as ParamProperties;
                        if (null != updateProperty)
                        {
                            if (typeCatParamSettings.ContainsKey(selectedCategory))
                            {
                                if (typeCatParamSettings[selectedCategory].ContainsKey(updateProperty.ParamID))
                                {
                                    ParamProperties pp = typeCatParamSettings[selectedCategory][updateProperty.ParamID];
                                    pp.IsEditable = false;
                                    typeCatParamSettings[selectedCategory].Remove(pp.ParamID);
                                    typeCatParamSettings[selectedCategory].Add(pp.ParamID, pp);
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Failed to change parameter settings of updating parameters.\n" + ex.Message, "Error: External DB", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
Exemplo n.º 2
0
        private void FillParameterList()
        {
            Dictionary <int, ParamProperties> catParams = new Dictionary <int, ParamProperties>();

            if (typeCatParamSettings.ContainsKey(selectedCategory))
            {
                catParams = typeCatParamSettings[selectedCategory];
            }

            foreach (int paramId in catParams.Keys)
            {
                ParamProperties pp = catParams[paramId];
                if (pp.IsReadOnly || pp.IsLockAll)
                {
                    continue;
                }
                if (!pp.IsVisible)
                {
                    continue;
                }
                if (pp.ParamFormat == "String" || pp.ParamFormat == "Double")
                {
                    ListViewItem item = new ListViewItem(pp.ParamName);
                    item.Name = paramId.ToString();
                    item.Tag  = pp;

                    if (pp.IsProject)
                    {
                        item.ImageIndex = 1;
                    }
                    else
                    {
                        item.ImageIndex = 0;
                    }

                    listViewRevit.Items.Add(item);
                }

                if (isEdit && pp.ParamName == linkedParameter.ControlParameter)
                {
                    textBoxParameter.Tag = pp;
                }

                if (isEdit && listViewUpdate.Items.ContainsKey(pp.ParamName))
                {
                    listViewUpdate.Items[pp.ParamName].Tag = pp;
                }
            }
        }
Exemplo n.º 3
0
        public void UpdateDocument()
        {
            ParamProperties properties = new ParamProperties
            {
                { "ds:fields", updateFields }
            };
            Document document = (Document)client.Operation("Document.Update")
                                .SetInput("doc:/testDoc")
                                .SetParameter("properties", properties)
                                .Execute()
                                .Result;

            Assert.NotNull(document);
            Assert.NotNull(document.Uid);
        }
Exemplo n.º 4
0
        private void bttnAddUpdate_Click(object sender, EventArgs e)
        {
            if (ValidateUpdateField())
            {
                string          selectedParam = listViewRevit.SelectedItems[0].Text;
                ParamProperties pp            = listViewRevit.SelectedItems[0].Tag as ParamProperties;
                string          selectedField = listViewExtDatabase.SelectedItems[0].Text;

                ListViewItem item = new ListViewItem(selectedParam);
                item.Name = selectedParam;
                item.Tag  = pp;
                item.SubItems.Add(selectedField);
                listViewUpdate.Items.Add(item);
            }
        }
Exemplo n.º 5
0
        private void bttnAddControl_Click(object sender, EventArgs e)
        {
            if (listViewRevit.SelectedItems.Count > 0 && listViewExtDatabase.SelectedItems.Count > 0)
            {
                string          selectedParam = listViewRevit.SelectedItems[0].Text;
                ParamProperties pp            = listViewRevit.SelectedItems[0].Tag as ParamProperties;
                string          selectedField = listViewExtDatabase.SelectedItems[0].Text;
                string          tableName     = listViewExtDatabase.SelectedItems[0].Tag.ToString();

                textBoxParameter.Text = selectedParam;
                textBoxParameter.Tag  = pp;
                textBoxField.Text     = selectedField;
                textBoxField.Tag      = tableName;
            }
            else
            {
                MessageBox.Show("Please select a Revit parameter and a database field from each list.", "Information missing", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
Exemplo n.º 6
0
        public void CreateDocument()
        {
            ParamProperties properties = new ParamProperties
            {
                { "ds:tableName", "MyTable" },
                { "ds:attachments", new JArray {
                      "att1", "att2", "att3"
                  } },
                { "ds:fields", creationFields },
                { "dc:title", "testDoc" }
            };
            //string properties = "ds:tableName=MyTable\ndc:title=testDoc\nds:attachments=[\"att1\",\"att2\",\"att3\"]\nds:fields=" + creationFields.Replace("\r\n", "");
            Document document = (Document)client.Operation("Document.Create")
                                .SetInput("doc:/")
                                .SetParameter("type", "DataSet")
                                .SetParameter("name", "testDoc")
                                .SetParameter("properties", properties)
                                .Execute()
                                .Result;

            Assert.NotNull(document);
            Assert.Equal("/testDoc", document.Path);
        }
Exemplo n.º 7
0
 /// <summary>
 /// Sets a parameter property.
 /// </summary>
 /// <param name="property">The property's name.</param>
 /// <param name="value">The property's value.</param>
 /// <returns>The current <see cref="Operation"/> instance.</returns>
 public Operation SetParameter(string property, ParamProperties value)
 {
     Parameters = Parameters ?? new Dictionary<string, JToken>();
     Parameters.Add(property, value.ToString());
     return this;
 }
Exemplo n.º 8
0
 public void UpdateDocument()
 {
     ParamProperties properties = new ParamProperties
     {
         { "ds:fields", updateFields }
     };
     Document document = (Document)client.Operation("Document.Update")
                                         .SetInput("doc:/testDoc")
                                         .SetParameter("properties", properties)
                                         .Execute()
                                         .Result;
     Assert.NotNull(document);
     Assert.NotNull(document.Uid);
 }
Exemplo n.º 9
0
 public void CreateDocument()
 {
     ParamProperties properties = new ParamProperties
     {
         { "ds:tableName", "MyTable" },
         { "ds:attachments", new JArray {"att1", "att2", "att3"}},
         { "ds:fields", creationFields},
         { "dc:title", "testDoc"}
     };
     //string properties = "ds:tableName=MyTable\ndc:title=testDoc\nds:attachments=[\"att1\",\"att2\",\"att3\"]\nds:fields=" + creationFields.Replace("\r\n", "");
     Document document = (Document)client.Operation("Document.Create")
                                         .SetInput("doc:/")
                                         .SetParameter("type", "DataSet")
                                         .SetParameter("name", "testDoc")
                                         .SetParameter("properties", properties)
                                         .Execute()
                                         .Result;
     Assert.NotNull(document);
     Assert.Equal("/testDoc", document.Path);
 }
Exemplo n.º 10
0
 /// <summary>
 /// Sets a parameter property.
 /// </summary>
 /// <param name="property">The property's name.</param>
 /// <param name="value">The property's value.</param>
 /// <returns>The current <see cref="Operation"/> instance.</returns>
 public Operation SetParameter(string property, ParamProperties value)
 {
     Parameters = Parameters ?? new Dictionary <string, JToken>();
     Parameters.Add(property, value.ToString());
     return(this);
 }