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); } }
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; } } }
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); }
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); } }
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); } }
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); }
/// <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; }
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); }
/// <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); }