@jpslav / @Dantemss - Regarding multiple models: That's one of the reasons why this code is ugly.  (ORM's only go so far).  Today my plan is to come up with an optimal query and figure out how to replicate it using AR.