//---------------------------------------------------------- private void search_parameter_Click(object sender, MouseButtonEventArgs e) { try { if (thong_tin_parameter.SelectedItem != null) { data_parameter item = (data_parameter)thong_tin_parameter.SelectedItem; search_material_project.Text = item.ten_parameter; if (!CollectionViewSource.GetDefaultView(thong_tin_share_parameter.ItemsSource).IsEmpty) { CollectionViewSource.GetDefaultView(thong_tin_share_parameter.ItemsSource).Cast <data_group_share_parameter>().ToList().ForEach(x => x.ValueExpanded = true); CollectionViewSource.GetDefaultView(thong_tin_share_parameter.ItemsSource).Refresh(); } } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
//---------------------------------------------------------- public string Them_Hoac_Xoa_Parameter_Trong_Project(UIApplication uiapp, Document doc) { string result = "F"; try { Transaction transaction = new Transaction(doc); transaction.Start("Parameters"); var enums = Enum.GetValues(typeof(BuiltInCategory)); var enums1 = Enum.GetValues(typeof(BuiltInParameterGroup)); var categories = doc.Settings.Categories; foreach (data_group_share_parameter item in my_group_share_parameter) { DefinitionFile parafile = uiapp.Application.OpenSharedParameterFile(); if (parafile != null) { DefinitionGroup myGroup = parafile.Groups.get_Item(item.ten_group_parameter); foreach (data_item_share_parameter subitem in item.Children) { if (subitem.exist_parameter == true) { //BuiltInParameterGroup builtInParameterGroup = BuiltInParameterGroup.PG_TEXT; //foreach (BuiltInParameterGroup builtIn in enums1) //{ // if (builtIn.ToString().Split('_')[0] == subitem.ten_parameter && builtIn != BuiltInParameterGroup.INVALID) builtInParameterGroup = builtIn; //} Definition myDefinition_ProductDate = myGroup.Definitions.get_Item(subitem.ten_parameter); CategorySet myCategories = uiapp.Application.Create.NewCategorySet(); foreach (BuiltInCategory buildCategory in enums) { try { Category cate = categories.get_Item(buildCategory); if (cate.AllowsBoundParameters == true && cate.CategoryType.ToString() == "Model") { myCategories.Insert(cate); } } catch (Exception) { } } try { BindingMap bindingMap = doc.ParameterBindings; if (subitem.ten_parameter != "Chiều dày hoàn thiện") { InstanceBinding instanceBinding = uiapp.Application.Create.NewInstanceBinding(myCategories); bindingMap.Insert(myDefinition_ProductDate, instanceBinding); } else { TypeBinding instanceBinding = uiapp.Application.Create.NewTypeBinding(myCategories); bindingMap.Insert(myDefinition_ProductDate, instanceBinding); } if (my_data_parameter_current.Any(x => x.ten_parameter == subitem.ten_parameter) == false) { my_data_parameter_current.Add(new data_parameter() { ten_parameter = subitem.ten_parameter }); } } catch (Exception) { } } else { try { Definition myDefinition_ProductDate = myGroup.Definitions.get_Item(subitem.ten_parameter); BindingMap bindingMap = doc.ParameterBindings; bindingMap.Remove(myDefinition_ProductDate); data_parameter item_remove = my_data_parameter_current.First(x => x.ten_parameter == subitem.ten_parameter); if (item_remove != null) { my_data_parameter_current.Remove(item_remove); } } catch (Exception) { } } try { if (my_data_parameter_current.Any(x => x.ten_parameter == subitem.ten_parameter) == false) { my_data_parameter_need.First(x => x.ten_parameter == subitem.ten_parameter).color = Source.color_error; } else { my_data_parameter_need.First(x => x.ten_parameter == subitem.ten_parameter).color = Source.color; } thong_tin_parameter.Items.Refresh(); } catch (Exception) { } } } else { MessageBox.Show("Not found share parameter file!!!", "ERROR", MessageBoxButton.OK, MessageBoxImage.Error); } } result = "S"; transaction.Commit(); } catch (Exception ex) { MessageBox.Show(ex.Message); } return(result); }