I'm trying to work out the best way possible to search a List based on say merchant name and amount. For example consider following Transaction class or goals :
public class Transaction
{
public string MerchantName;
public double Amount
public int Rank
}
The input for a search of List might be "Acme" for merchant and "13.37" for amount. Or "Amce" -- Acme spelled incorrectly. Weather merchant is spelled 100% correct or slightly off I would like to return all "Acme" transactions. Additionally based on the "closeness" of input amount & closeness of spelling to actual Transaction amount/name provide a rank or weighting to the transactions so the UI layer can present accordingly.
Comceptually i understand SoundEx and Edit Distance type algorithms but have zero practical experience implementing this in code. Looking to draw from the community here you experience guidance. I understand this code may (maybe not) be better suited to implement in SQL (in my case SQL) but right now i'd like to see if this is achievable in the application code -- c#. Open to SQL suggestions though.
Thanks