/// <summary> /// Добавление найденной сущности в список выделенных сущностей. /// Если сущность пересекается с одной или несколькими ранее выделенными сущностями, /// то выбирается более длинная цепочка /// </summary> /// <param name="mainEntity">родительская сущность</param> /// <param name="match">найденное соответствие</param> /// <param name="type">тип сущности</param> /// <param name="entitiesWithCurrentTypeToAdd">сущности текущего типа, подлежащие добавлению в mainEntity</param> /// <returns></returns> private void AddNewEntity(SimpleEntity mainEntity, Match match, string type, List <SimpleEntity> entitiesWithCurrentTypeToAdd) { Group valueGroup = SimpleEntityResource.GetValueGroup(match); SimpleEntity entity = new SimpleEntity(valueGroup.Value, valueGroup.Index, type); List <SimpleEntity> intersections = GetIntersections(mainEntity, entity); if (IsNeedAddEntity(entity, intersections)) { foreach (SimpleEntity intersectEntity in intersections) { mainEntity.Children.Remove(intersectEntity); } entitiesWithCurrentTypeToAdd.Add(entity); //mainEntity.AddChild(entity); } }
public SimpleEntitySelector(string path) { _expressions = new SimpleEntityResource(path, "entity.xml"); }
public SimpleEntitySelector(string path, string fileName) { _expressions = new SimpleEntityResource(path, fileName); }