public Termin AddTermin(int id, string name, TerminType type, IEnumerable <int> parentIds) { strToId[name] = id; var term = new Termin(name, type); if (parentIds == null || !parentIds.Any()) { Root.Children.Add(term); term.Parents.Add(Root); } foreach (var parentId in parentIds) { var parent = Termins[parentId]; term.Parents.Add(Termins[parentId]); //guaranteed to find parent if using klan parent.Children.Add(term); } Termins.Add(id, term); return(term); }
/// <summary> /// Добавить термин. После добавления нельзя вносить изменения в термин, /// кроме как в значения Tag и Tag2 (иначе потом нужно вызвать Reindex). /// </summary> /// <param name="term">термин</param> public void Add(Termin term) { Termins.Add(term); m_HashCanonic = null; this.Reindex(term); }