// Установка спецификации для фильтрации
 public static void SetSearchSpecification(string componentName, Enum searchSpecificationName, dynamic searchSpecifiactionValue)
 {
     if (SearchSpecifications == null)
     {
         SearchSpecifications = new Dictionary <string, Dictionary <string, dynamic> >();
     }
     if (SearchSpecifications.ContainsKey(componentName))
     {
         if (SearchSpecifications[componentName].ContainsKey(searchSpecificationName.ToString()))
         {
             SearchSpecifications[componentName][searchSpecificationName.ToString()] = searchSpecifiactionValue;
         }
         else
         {
             SearchSpecifications[componentName].Add(searchSpecificationName.ToString(), searchSpecifiactionValue);
         }
     }
     else
     {
         SearchSpecifications.Add(componentName, new Dictionary <string, dynamic>()
         {
             { searchSpecificationName.ToString(), searchSpecifiactionValue }
         });
     }
     if (AllSearchSpecifications == null)
     {
         AllSearchSpecifications = new Dictionary <string, Dictionary <string, dynamic> >();
     }
     if (AllSearchSpecifications.ContainsKey(componentName))
     {
         if (AllSearchSpecifications[componentName].ContainsKey(searchSpecificationName.ToString()))
         {
             AllSearchSpecifications[componentName][searchSpecificationName.ToString()] = searchSpecifiactionValue;
         }
         else
         {
             AllSearchSpecifications[componentName].Add(searchSpecificationName.ToString(), searchSpecifiactionValue);
         }
     }
     else
     {
         AllSearchSpecifications.Add(componentName, new Dictionary <string, dynamic>()
         {
             { searchSpecificationName.ToString(), searchSpecifiactionValue }
         });
     }
 }
 // Получение спецификации для фильтрации
 public static dynamic GetSearchSpecification(string componentName, Enum searchSpecificationName)
 {
     if (SearchSpecifications == null)
     {
         SearchSpecifications = new Dictionary <string, Dictionary <string, dynamic> >();
         return(null);
     }
     else if (SearchSpecifications.ContainsKey(componentName))
     {
         if (SearchSpecifications[componentName].ContainsKey(searchSpecificationName.ToString()))
         {
             return(SearchSpecifications[componentName][searchSpecificationName.ToString()]);
         }
         else
         {
             return(null);
         }
     }
     else
     {
         return(null);
     }
 }