protected override bool OnProfileItemCreated(ProfileTypeDefinitionModel profileItem, IDALContext dalContext) { var bUpdated = base.OnProfileItemCreated(profileItem, dalContext); var isNumeric = _model.HasBaseType("nsu=http://opcfoundation.org/UA/;i=26"); // Create data type table entry var dataTypeLookup = new LookupDataTypeModel { ID = null, Name = profileItem.Name, Code = $"{profileItem.Profile.Namespace}.{profileItem.OpcNodeId}", //"custom", CustomTypeId = profileItem.ID, CustomType = profileItem, // TODO verify if OPA UC allows enginering units on non-numeric types UseEngUnit = isNumeric, UseMinMax = isNumeric, IsNumeric = isNumeric, //For standard (UA, UA/DI), AuthorId is null. //For standard imported by owner (UA/Robotics), AuthorId has value and we use this to keep the separation by owner. //For custom (myNodeset), AuthorId has value and we use this to keep the separation by owner. OwnerId = profileItem.AuthorId }; //if (GetBuiltinDataTypeNodeId(dataTypeLookup) == null) var dataTypeId = dalContext.CreateCustomDataTypeAsync(dataTypeLookup).Result; return(bUpdated); }