コード例 #1
0
ファイル: DicED.cs プロジェクト: vildar82/AcadLib
 public bool IsCorrectName(string name)
 {
     if (!name.IsValidDbSymbolName())
     {
         return(false);
     }
     if (string.IsNullOrEmpty(name))
     {
         return(false);
     }
     if (Inners != null)
     {
         if (Inners.Any(x => x.Name.Equals(name, StringComparison.OrdinalIgnoreCase)))
         {
             return(false);
         }
     }
     if (Recs != null)
     {
         if (Recs.Any(r => r.Name.Equals(name, StringComparison.OrdinalIgnoreCase)))
         {
             return(false);
         }
     }
     return(true);
 }
コード例 #2
0
ファイル: DicED.cs プロジェクト: vildar82/AcadLib
 public void AddInner([CanBeNull] DicED dic)
 {
     if (dic == null || dic.IsEmpty())
     {
         return;
     }
     if (!IsCorrectName(dic.Name))
     {
         throw new Exception("Invalid Name - " + dic.Name);
     }
     if (Inners == null)
     {
         Inners = new List <DicED>();
     }
     Inners.Add(dic);
 }
コード例 #3
0
ファイル: DicED.cs プロジェクト: vildar82/AcadLib
 /// <summary>
 /// Проверка, пустой ли словарь - нет записей и нет вложенных словарей или они пустые
 /// </summary>
 public bool IsEmpty()
 {
     // Если нет записей или они все пустые, и если нет вложенных словарей или они все пустые
     return((Recs == null || Recs.All(r => r.IsEmpty())) &&
            (Inners == null || Inners.All(i => i.IsEmpty())));
 }
コード例 #4
0
ファイル: DicED.cs プロジェクト: vildar82/AcadLib
 public DicED GetInner(string name)
 {
     return(Inners?.Find(r => r.Name.Equals(name, StringComparison.OrdinalIgnoreCase)));
 }
コード例 #5
0
 public override void AddChild(Node child)
 {
     Inners.Add(child);
 }