Thank you for your quick reply.
I wish they were using IHydratable. It seems like even though this is DNN 7, none of the newer features are being used. It's not the cleanest code I've seen, so I have had to stop thinking logically about anything I see....it's definitely a mashup.
Here is what I have determined....maybe someone will see something familiar. Believe me, I have searched high and low for a simple answer (I have been coding for years).
User control (.ascx) saves a new "row" like this:
EventsDataSet.u_EventsDataTable table = new EventsDataSet.u_EventsDataTable();
EventsDataSet.u_EventsRow row = table.Newu_EventsRow();
bunch fields to be saved
Then it calls this:
eventID = DataProvider.Instance().InsertEvent(row);
Which in turn accesses a DataProvider.cs, and the SQLDataProvider - both of which are in the App_Code folder.
In hacking around, I was able to go into the .xsd file, which represented all the custom tables they've created. Just for kicks, I added a new column. I then went into the SQLDataProvider and manually added the field to the insert statement.
Somehow, this feels wrong. At this point, I will take anything: "Oh this is the way it used to be" or "Don't mess with stuff in the App_Code folder". Even if you think it's vague - I might be able to search for something.
Btw, as far as the controller....one of the controller files does have a bunch of fields - like you would expect from a normal class. The one that I'm working with does not.