While creating a 'search' form I've been faced to an overwhelming complexity and I was wondering whether there is a well-known way to accomplish such task.
Fields of the form in question can be seen here: http://developer.echonest.com/docs/v4/artist.html#search
Here are a few issues I've been faced to and tried to solve with simple solutions though it led to a lot of copying and pasting in the end :
When the user can select multiple choices for a field or not, I systematically had to create a collection of them, adding a 'null' value for the ability of ignoring that field. Also, as these are enumeration values they are not user-friendly to read and therefore needed an extra description field that will be shown instead on the UI. And at the end all this user-friendly values need to be converted back to the original object.
Selection being made by the user, these choices need to be retrieved and for this, unfortunately in my case WPF data binding shown its limits. Example : when a user chooses items from a collection, there is no way to update the target object with these selections. (Obviously this is unrealistic as the object serves as a data source)
In the end it resumes to a lot of manual fetching from combo boxes, list boxes etc ... a middle-man object to receive all that and to this you have to add validation as well.
A strategy therefore becomes imperative as I will have to realise a couple of these complex forms.
I've been searching the web for solutions but beside extremely simple examples I found nothing relevant.
So the question is, is there an effective way that helps when creating complex user forms ?