protected bool IsAPBS(string clsName) { if (string.IsNullOrEmpty(clsName)) { return(false); } IECClass cls = m_AppSchema.GetClass(clsName); return(cls != null && cls.Is(PBSParentCls) ? true : false); }
/// <summary> /// Writes the stream states to the current schema. /// </summary> /// <param name="streamStates"></param> public static void WriteStreamStateList(DgnFile File, List <StreamState> streamStates) { DgnECManager Manager = DgnECManager.Manager; FindInstancesScope scope = FindInstancesScope.CreateScope(File, new FindInstancesScopeOption(DgnECHostType.All)); IECSchema schema = RetrieveSchema(File, scope); IECClass ecClass = schema.GetClass(className); ECQuery readWidget = new ECQuery(ecClass); readWidget.SelectClause.SelectAllProperties = true; using (DgnECInstanceCollection instances = Manager.FindInstances(scope, readWidget)) { foreach (IDgnECInstance instance in instances) { instance.Delete(); } } DgnECInstanceEnabler instanceEnabler = Manager.ObtainInstanceEnabler(File, ecClass); var data = JsonConvert.SerializeObject(streamStates) as string; StandaloneECDInstance _instance = instanceEnabler.SharedWipInstance; _instance.SetAsString(propertyName, data); instanceEnabler.CreateInstanceOnFile(File, _instance); }
public static List <CellHeaderElement> FindSPDSElementsByInstance(DgnModel model) { if (model == null) { throw new ArgumentNullException(); } DgnFile file = model.GetDgnFile(); DgnFileOwner fileOwner = new DgnFileOwner(file); IECSchema Schema = null; { // todo Правильная инициализация схемы: Schema = DgnECManager.Manager?.LocateDeliveredSchema( ECHelper.SCHEMA_NAME, VrnMajor, VrnMinor, SchemaMatchType.LatestCompatible, file); } if (Schema == null) { return(null); } IECClass commonClass = Schema.GetClass(ECCLASS_COMMON_NAME); ECQuery query = new ECQuery(commonClass); var modelConn = DgnModelRepositoryConnection.CreateConnection( new DgnECConnectionOptions(), fileOwner, model); var instColl = DgnECManager.Manager.FindDgnECInstances(modelConn, query); if (instColl == null) { return(null); } List <CellHeaderElement> resList = new List <CellHeaderElement>(); foreach (var item in instColl) { Element element; if (DgnECManager.TryGetElementInfo(modelConn, item.InstanceId, out element)) { if (element is CellHeaderElement) { resList.Add(element as CellHeaderElement); } } } return(resList); }
public static DgnECInstanceCollection RetrieveInstances() { DgnFile File = Session.Instance.GetActiveDgnFile(); DgnECManager Manager = DgnECManager.Manager; FindInstancesScope scope = FindInstancesScope.CreateScope(File, new FindInstancesScopeOption(DgnECHostType.All)); IECSchema schema = Manager.LocateSchemaInScope(scope, schemaName, 1, 0, SchemaMatchType.Latest); IECClass ecClass = schema.GetClass(className); ECQuery readWidget = new ECQuery(ecClass); readWidget.SelectClause.SelectAllProperties = true; DgnECInstanceCollection instances = Manager.FindInstances(scope, readWidget); return(instances); }
public static IDgnECInstance RetrieveInstance(StreamState streamState) { DgnFile File = Session.Instance.GetActiveDgnFile(); DgnECManager Manager = DgnECManager.Manager; FindInstancesScope scope = FindInstancesScope.CreateScope(File, new FindInstancesScopeOption(DgnECHostType.All)); IECSchema schema = Manager.LocateSchemaInScope(scope, schemaName, 1, 0, SchemaMatchType.Latest); IECClass ecClass = schema.GetClass(className); ECQuery readWidget = new ECQuery(ecClass); readWidget.SelectClause.SelectAllProperties = true; DgnECInstanceCollection instances = Manager.FindInstances(scope, readWidget); var instance = instances.Where(x => x["Id"].StringValue == streamState.Stream.id).FirstOrDefault(); return(instance); }
/// <summary> /// Writes the stream states to the current schema. /// </summary> /// <param name="streamStates"></param> public static void WriteStreamStateList(List <StreamState> streamStates) { DgnFile File = Session.Instance.GetActiveDgnFile(); DgnECManager Manager = DgnECManager.Manager; FindInstancesScope scope = FindInstancesScope.CreateScope(File, new FindInstancesScopeOption(DgnECHostType.All)); IECSchema schema = Manager.LocateSchemaInScope(scope, schemaName, 1, 0, SchemaMatchType.Latest); if (schema == null) { schema = StreamStateListSchema.GetSchema(); } IECClass ecClass = schema.GetClass(className); ECQuery readWidget = new ECQuery(ecClass); readWidget.SelectClause.SelectAllProperties = true; using (DgnECInstanceCollection instances = Manager.FindInstances(scope, readWidget)) { foreach (IDgnECInstance instance in instances) { instance.Delete(); } } DgnECInstanceEnabler instanceEnabler = Manager.ObtainInstanceEnabler(File, ecClass); foreach (var streamState in streamStates) { var data = JsonConvert.SerializeObject(streamState) as string; StandaloneECDInstance instance = instanceEnabler.SharedWipInstance; instance.SetAsString("Id", streamState.Stream.id); instance.SetAsString("StreamData", data); instanceEnabler.CreateInstanceOnFile(File, instance); } }