Пример #1
0
 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
 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
 /// <summary>
 /// Проверка, пустой ли словарь - нет записей и нет вложенных словарей или они пустые
 /// </summary>
 public bool IsEmpty()
 {
     // Если нет записей или они все пустые, и если нет вложенных словарей или они все пустые
     return((Recs == null || Recs.All(r => r.IsEmpty())) &&
            (Inners == null || Inners.All(i => i.IsEmpty())));
 }
Пример #4
0
 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);
 }