private void LoadModelClasses(XElement classModel) { ModelClasses.Clear(); IEnumerable <XElement> modelClasses = classModel.Elements("Class"); foreach (XElement modelClass in modelClasses) { var name = modelClass.Attribute("name"); string modelClassName = name != null ? name.Value : ""; var desc = modelClass.Attribute("description"); string description = desc != null ? desc.Value : ""; var bbc = modelClass.Attribute("bestbaseclass"); bool bestBaseClass = bbc != null?Boolean.Parse(bbc.Value) : false; var bcdesc = modelClass.Attribute("bcdescription"); string bcDescription = bcdesc != null ? bcdesc.Value : ""; IEnumerable <XElement> modelAttributes = modelClass.Elements("Attribute"); var tModelAttributes = (from modelAttribute in modelAttributes let aName = modelAttribute.Attribute("name") let modelAttributeName = aName != null ? aName.Value : "" let aType = modelAttribute.Attribute("type") let modelAttributeType = aType != null ? aType.Value : "" let adesc = modelAttribute.Attribute("description") let adescription = adesc != null ? adesc.Value : "" select new ModelAttribute { Name = modelAttributeName, Type = modelAttributeType, Description = adescription }).ToList(); ModelClasses.Add(new ModelClass { Name = modelClassName, Description = description, BestBaseClass = bestBaseClass, BcDescription = bcDescription, ModelAttributes = tModelAttributes }); } }
public void OnBtnAddDataBlockClick() { if (SelectedSheetTab != null && SelectedTargetAssociation != null) { AssociationMember targetMember = SelectedTargetAssociation.Members.FirstOrDefault(m => !m.ClassName.Equals(SelectedBaseClass.Name)); ModelClass targetClass = ModelClasses.FirstOrDefault(m => m.Name.Equals(targetMember.ClassName)); AddDataBlock addDataBlock = new AddDataBlock(new AddDataBlockViewModel(SelectedTargetAssociation, targetClass)); addDataBlock.ShowDialog(); if (addDataBlock.DialogResult.Value) { SelectedSheetTab.SheetBlocks.Add(addDataBlock.ViewModel.SheetBlock); _thisAddIn.AddDataBlock(SelectedSheetTab, addDataBlock.ViewModel.SheetBlock); } } }