//internal void cloneBase(WorldObject origin) //{ // foreach (var r in origin.Relations) // { // relations.Add((RelationObject)r.Clone()); // } // negat = origin.negat; // DefiniteArticle = origin.DefiniteArticle; //} public virtual void CopyFromTemplate(ITemplate[] objects) { try { var index = int.Parse(Word); var obj = objects[index]; if (obj is WorldObject) { Copy(obj as WorldObject); foreach (var r in relations) { r.CopyFromTemplate(objects); } } else { var word = obj as WordObject; this.word = word.Lemma == null || word.Lemma.Length < 2 ? word.Text : word.Lemma; this.DefiniteArticle = word.IsDefinite; this.Entity = word.WorldObject.Entity; } }catch (Exception ex) { } }
public void addUpdateEntity(IentityBase newEnt) { if (newEnt is multyEntity) { addUpdateEntity((multyEntity)newEnt); } if (newEnt is entity) { addUpdateEntity((entity)newEnt); } }
private int entitySelector(IentityBase x) { switch (x.entityType) { case ("eventWord"): return(0); case ("personWord"): return(1); case ("locationWord"): return(2); case ("organizationWord"): return(3); case ("conceptWord"): return(4); case ("nounWord"): return(5); case ("verbWord"): return(6); default: return(99); } }
private void WordObjectFromEntity(List <WordObject> sentence, List <WordObject> newSentence, IentityBase ent) { var newWord = sentence[ent.entityID].clone(); newWord.WordT = WordObject.typeFromString(ent.entityType); if (ent.entityType == "organizationWord") { newWord.Amount = amountType.plural; newWord.Gender = genderType.masculine; } else if (ent.entityType == "locationWord") { newWord.Amount = amountType.singular; newWord.Gender = genderType.feminine; } else if (ent.entityType == "eventWord") { newWord.Amount = amountType.singular; } IMultyEntity mEnt; if (ent.entityValue.Split(' ').Count() > 0) { newWord.Text = ent.entityValue; if ((mEnt = ent as IMultyEntity) != null) { newWord.Lemma = mEnt.parts.Split(';')[0]; } else { newWord.Lemma = newWord.Text; } } else { newWord.Lemma = ent.entityValue; } newWord.WordT = WordObject.typeFromString(ent.entityType); newSentence.Add(newWord); }