/// <summary> /// Add spool number to element /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void AddButton_Click(object sender, RoutedEventArgs e) { System.Drawing.Color color = ColorSelected; this.Hide(); int c; bool isNumeric = int.TryParse(this.NumberBox.Text, out c); if (isNumeric) { if (tools.count < int.Parse(this.NumberBox.Text)) { tools.count = c; } try { using (Autodesk.Revit.DB.Transaction AssingPartNumberT = new Autodesk.Revit.DB.Transaction(tools.uidoc.Document, "Assing Part Number")) { AssingPartNumberT.Start(); tools.AddToSelection(); var partNumber = tools.createNumbering(this.PrefixBox.Text, this.SeparatorBox.Text, tools.count, this.NumberBox.Text.Length); //tools.AssingPartNumber(tools.selectedElement, partNumber); foreach (Autodesk.Revit.DB.Element x in tools.selectedElements) { tools.AssingPartNumber(x, partNumber); } tools.count += 1; //count 5, pad left int leadingZeros = NumberBox.Text.Length > 1 ? this.NumberBox.Text.Length - tools.count.ToString().Length : 0; this.NumberBox.Text = (new string('0', leadingZeros)) + tools.count.ToString(); tools.writeConfig(this.PrefixBox.Text, this.SeparatorBox.Text, this.NumberBox.Text); AssingPartNumberT.Commit(); } } catch (System.Exception ex) { //MessageBox.Show(ex.Message); } } else { SuffixContent suffixContentForm = new SuffixContent(); suffixContentForm.Topmost = true; suffixContentForm.WindowStartupLocation = WindowStartupLocation.CenterScreen; suffixContentForm.ShowDialog(); //MessageBox.Show("Number field should contain only numbers"); } this.ShowDialog(); }
/// <summary> /// Check if the suffix is a number or not /// </summary> /// <param name="sender"></param> /// <param name="args"></param> private void textChangedEventHandler(object sender, TextChangedEventArgs args) { int c; bool isNumeric = int.TryParse(this.NumberBox.Text, out c); if (isNumeric) { tools.count = c; } else { SuffixContent suffixContentForm = new SuffixContent(); suffixContentForm.Topmost = true; suffixContentForm.WindowStartupLocation = WindowStartupLocation.CenterScreen; suffixContentForm.ShowDialog(); //MessageBox.Show("Number field should contain only numbers"); } }