BSClient
Got some work done on "the client":http://feralboy.com/log/archives/000387/ over the weekend, as you can see below: "!/images/bsclient/bsclient1_thumb.png (ScreenShot 1)!":http://feralboy.com/images/bsclient/bsclient1.png "!/images/bsclient/bsclient2_thumb.png (ScreenShot 2)!":http://feralboy.com/images/bsclient/bsclient2.png "!/images/bsclient/bsclient3_thumb.png (ScreenShot 3)!":http://feralboy.com/images/bsclient/bsclient3.png
It was very easy to get the basic buy/sell logic implemented (in fact, I did it the same day the API(Application Programming Interface) was released), but getting the interface put together is going to take a bit longer, I think. The main reason for this is that WinForms are teh sux0rs. Working with DataGrids in WinForms is _nothing_ like working with them in Web Forms. You can't access any of the controls in the grid directly; you need to get at the underlying DataTable instead. So, to add a checkbox column, you have to create a new Boolean DataColumn, append it to the end of your XML(eXtensible Markup Language)-based datatable, and then set it as the datasource. Of course, reordering said columns is a tremendous pain in the ass, but that doesn't really matter anyway, because of the the fact that the datatype doesn't get set right just from reading the XML(eXtensible Markup Language), so after I bring it down, I have to create a new DataTable from scratch, set the right column DataTypes, add them to the DataTable in the right order, and then copy data from the XML(eXtensible Markup Language)-produced DataTable to my new one. Once the DataType is set right, there's automatic sorting on columns, without having to write any code, which is cool. It also supports automatic adding/deleting/editing of rows, but that doesn't really help me here, since all actions have to go through the API(Application Programming Interface) anyway, and can't just be done through a merged DataTable.
Things that I know I have left to do, based on "input from other users":http://www.blogshares.com/forum/viewtopic.php?t=2771 and just thinks I know need to be improved:
* "Implement threading":http://www.developer.com/design/article.php/2244501. * Flexible buy/sell options from either the portfolio interface or a search interface. Buy all available shares, sell 1% of total shares, etc. * Add login! Right now my UserID and pwd are hardcoded. Naughty! * Figure out how best to store searches for a user. Local XML file? * Consider pros/cons of making app only for "Premium Members":http://blogshares.com/upgrade.html. The app really is for power traders, and I also don't want to give people the ability to store a whole bunch of searches if they aren't premium, as non-premium members can only store 2 seaches. People need to pony up the $15. * Work on filtering of portfolio. This won't be hard, technically, but I'm bad at WinForms design, as I haven't really done it before. Do I put it all on one page? Have a modal dialog that pops up for entering filter criteria?