We are developing a WinForm application using Visual Studio 2010, DevExpress, and SQL Server 2012. For this application, we seek help developing a set of components, user controls and business logic classes. The project description below represents a portion of this development. Successful completion of this portion will lead to additional project work.
Your project will be developed using a Win7 developer's machine that is set up at our office. The PC is installed with All the development tools that are needed for your work; including Visual Studio 2010, DevExpress v2012, SQL Server 2012, and the database that will be needed to perform the work. You will connect to the PC using a VPN connection. You will need to install a VPN client on your home machine, which is a Java-based program. You will also need to run a Remote Desktop Connection client from your machine. This configuration will allow work to begin quickly, with minimal development environment set up time incurred.
We require two standard and straightforward DevExpress Lookup edit controls.
The content for these list controls will come from a SQLServer database. Simple single table SQL queries can be used to obtain the list information. A .NET Dataset and DataTables will be needed to facilitate this interaction. The list data is read-only. .NET DataReader components should be used. Initialization code should read the database. The data table information obtained from the database should be written to disk using the standard.net, XML serialization calls. If during initialization, the database read fails, then the initialization code should load the lists from file with data serialized to XML from the mpst recent successful database read.
The DevExpress LookUpEdit controls should be deployed within a DevExpress user control. Each of the controls should share the same initialization logic as outlined above.
The controls need to be easily added to a DevExpress persistent repository, for use either as a standalone control or from within a DevExpress grid control.
A logger interface and implemention will be provided to you. Appropriate informational and error messages must be written to this logger.
The database connection string should be made configurable using standard .NET app.config functionality.
Initialization exceptions should be propagated to the application code, i.e don't catch exceptions from the underlying .NET libraries and throw appropriate exceptions using a supplied exception class.