private static string GetSortValue(SObject Instance, SortingProperty Property) { switch (Property) { case SortingProperty.Name: return(Instance.DisplayName); case SortingProperty.Id: return(Instance.ParentSheetIndex.ToString("D4")); case SortingProperty.Category: return(string.Format("{0} {1}", Instance.getCategoryName(), Instance.getCategorySortValue().ToString("D3"))); case SortingProperty.SingleValue: return(ItemBag.GetSingleItemPrice(Instance).ToString("D6")); default: throw new NotImplementedException(string.Format("Unimplemented {0} '{1}' in {2}.{3}", nameof(SortingProperty), Property, nameof(CommandHandler), nameof(GetSortValue))); } }