Beispiel #1
0
        //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);
        }