private ReferentialEntity PopulateEntity(JObject jObject, EntityDefinition schema) { ReferentialEntity target = new ReferentialEntity(this._referenceSchema.Type, _file) { Schema = this._referenceSchema, }; foreach (var item in jObject.Properties()) { var p = schema.Properties.FirstOrDefault(c => c.Name.ToLower() == item.Name.ToLower()); if (p != null) { try { var value = ConvertValue(p.Type, item.Value); target[p.Name] = value; } catch (Exception e) { this._diagnostic.Append(new DiagnositcMessage() { Severity = SeverityEnum.Error, Text = e.Message, Exception = e }); } } } return(target); }
public ConceptItemEntity(ViewpointModelItem config, ReferentialEntity entity) : base(config) { this.CurrentItem = entity; this.Name = entity.Name; this.Text = entity.Label ?? entity.Name; this.Tag = entity; this.ImageIndex = 1; this.SelectedImageIndex = 1; }
private DslModeling::ModelElement GetModel(ReferentialEntity toFind) { var key = toFind.GetReference().ToString(); foreach (Concept concept in this.Concepts) { if (concept.ReferenceSource == key) { return(concept); } foreach (ConceptElement element in concept.Children) { if (element.ReferenceSource == key) { return(element); } foreach (ConceptSubElement cse in element.Children) { if (cse.ReferenceSource == key) { return(cse); } } } } foreach (ModelElement element in this.Elements) { if (element.ReferenceSource == key) { return(element); } foreach (SubElement ce in element.Children) { if (ce.ReferenceSource == key) { return(ce); } } } return(null); }
private void ManageSubComposition(ConceptItemEntity f, ReferentialEntity parent, ViewpointModelItem view) { var referential = view.Definition.File.Parent.Models; var filter = view.Definition.Name; var list = new List <ReferentialEntity>(1000); foreach (var item in view.Children) { Files.Schemas.RelationshipDefinition itemDef = item.Relationship; var children = parent.GetTargetEntities(itemDef).ToList(); list.AddRange(children); } _lastQueryCompositionItems = list; searchEntitiesTextBox.Text = this._lastFilterEntitySelected.LastSearchEntity; }
private void ManageSubRelationship(ReferentialEntity parent, ViewpointModelItem view) { List <ReferentialEntity> targetFilters = new List <ReferentialEntity>(); foreach (ConceptItem concept in ConceptsTreeView.Nodes) { foreach (TreeNode entity in concept.Nodes) { if (entity.Tag is ReferentialEntity e) { targetFilters.Add(e); } } } var list2 = new List <RelationshipItem>(1000); foreach (ReferenceItem reference in view.References) { var def = reference.RelationshipDefinition; IEnumerable <ReferentialRelationship> children = parent.GetRelationships(def).ToList(); foreach (var item in children) { var e1 = item.GetTargetEntity(def.Target.Name); if (e1 != null) { if (targetFilters.Any(c => c.Name == e1.Name)) { list2.Add(new RelationshipItem(item, e1)); } } } } _lastQueryReferenceItems = list2; searchEntitiesTextBox2.Text = this._lastFilterEntitySelected.LastSearchEntity2; }
public RelationshipItem(ReferentialRelationship relationship, ReferentialEntity item) { this.Relationship = relationship; this.Entity = item; }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { var source = (Entities <T>)value; writer.WriteStartObject(); writer.WritePropertyName("Target"); writer.WriteValue(source.Target); writer.WritePropertyName("Referentials"); writer.WriteStartArray(); if (this._referenceSchema.Kind == KindSchemaEnum.Relationship) { foreach (object item in source) { writer.WriteStartObject(); ReferentialRelationship e = (ReferentialRelationship)item; foreach (var propertyName in e.PropertyKeys()) { writer.WritePropertyName(propertyName); writer.WriteValue(e[propertyName]); } writer.WritePropertyName("OriginLink"); writer.WriteStartObject(); foreach (var propertyName in e.Origin.PropertyKeys()) { writer.WritePropertyName(propertyName); writer.WriteValue(e[propertyName]); } writer.WriteEndObject(); writer.WritePropertyName("TargetLink"); writer.WriteStartObject(); foreach (var propertyName in e.Target.PropertyKeys()) { writer.WritePropertyName(propertyName); writer.WriteValue(e[propertyName]); } writer.WriteEndObject(); writer.WriteEndObject(); } } else { foreach (object item in source) { writer.WriteStartObject(); ReferentialEntity e = (ReferentialEntity)item; foreach (var propertyName in e.PropertyKeys()) { writer.WritePropertyName(propertyName); writer.WriteValue(e[propertyName]); } writer.WriteEndObject(); } } writer.WriteEndArray(); writer.WriteEndObject(); }