Content Progress
I have been working a fair ammount on the api, as much as time allows, and this was a holiday week :-)
In anycase, I wanted to update a bit. The objects are starting to take a bit more shape, and feel to them, i am already finding some things i wasnt quite ppleased with and worked out nicer solutions, i am also trying to keep in mind that its meant to be an api, a functional api, but its an api, which when you really start to think about it is quite abstract, and a bit different from just writing application logic.
In anycase, since i was bored yesterday, i am building in support for a couple of "added" features as far as the api, and initial design are concerned, bascially, all items will have support for ratings, comments, and a couple other things,
I have also started breaking out the inital design of some rainbow specific concepts, like Portal, Page, Module Type and Item objects, this is where i started seeing immediatly the strengths and weaknesses of my work in progress, and its nice to catch them very early on.
the sql wrapper is proving to be very nice, because i can mainly work in code, and not bother with sql, until im pleased with someone, as sql is a pain to change compared to code i think.
Here is a sample of how the sql wrapper is used in the dal to implement the loading of statuses for an item.
1: [SWCommand("select is.StatusID, s.Title, s.Description, sc.CategoryID from 2: ItemStatuses is left join Status s on is.StatusId=s.StatusID
3: left join StatusCategories sc
4: on is.StatusId = sc.StatusID where is.itemId=@ItemID")]
5: public abstract DataTable GetItemStatuses(long ItemID);
1: ItemData id = DAL.Items;
2: id.Connection = new DatabaseHelper().Connection;
3: DataTable dtstatuses = id.GetItemStatuses(ItemID);
4: if (dtstatuses != null && dtstatuses.Rows.Count > 0)
5: { 6: foreach (DataRow row in dtstatuses.Rows)
7: { { 8: Status st = new Status(Convert.ToInt32(row["SatusID"]),
9: row["Title"].ToString(), row["Description"].ToString());
10: st.CategoryID = Convert.ToInt32(row["CategoryID"]);
11: this.Statuses.Add(st);
12: }
13: }