public void SetOrToggleSortColumn(string columnName)
 {
     if (SortColumns.ContainsKey(columnName))
     {
         SortColumns[columnName] = SortColumns[columnName].Toggle();
     }
     else
     {
         SortColumns.Clear();
         SortColumns.Add(columnName, SortDirection.Ascending());
     }
 }
                protected override ValidationResult IsValid(object value, ValidationContext validationContext)
                {
                    var str = value as string;

                    if (str == null || SortColumns.ContainsKey(str))
                    {
                        return(ValidationResult.Success);
                    }

                    return(new ValidationResult(
                               $"The value of {validationContext.DisplayName} must be one of the following: {string.Join(", ", SortColumns.Keys)}"));
                }