Skip to content

Instantly share code, notes, and snippets.

@JoeGannon
Created March 1, 2016 15:51
Show Gist options
  • Save JoeGannon/fd49d182a6fcaa3ee3dd to your computer and use it in GitHub Desktop.
Save JoeGannon/fd49d182a6fcaa3ee3dd to your computer and use it in GitHub Desktop.
public class CrudComparer : IComparer<string>
{
private static readonly string[] Crud = new[]
{
"Create", "Read", "Update", "Delete"
};
public int Compare(string left, string right)
{
var leftName = CrudName(left);
var rightName = CrudName(right);
var idx = Array.IndexOf(Crud, leftName);
var idx2 = Array.IndexOf(Crud, rightName);
return idx.CompareTo(idx2);
}
private string CrudName(string str)
{
var crud = "";
foreach (var item in Crud)
{
int resultIndex = str.IndexOf(item);
if (resultIndex != -1)
{
crud = str.Substring(resultIndex, item.Length);
return crud;
}
}
return crud;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment