The workspace is already configured, but you will need Eclipse with the Android SDK installed. To do this, please follow the instructions listed here: developer.android.com/sdk
We are using a SQL Server database called "Incident" for this application. Here is a summary of all of the tables and how each is setup:
User
This table is used to store the users for the application. It is keyed on by "LoginEmail", but all fields are required.
Key - | LoginEmail |
Has - | Password First Name LastName CellNumber |
User Splashscreen
This table is used to populate the introductory screen with a personalized image and message for the user. If no record exists, the application will use a default image and message. The image field is just using a filename to reference the particular image. It is owned by the User table.
Key - | LoginEmail |
Has - | SplashImage SplashMessage |
Incident Type
This is a simple table used to populate the Incident Type combo box. It is being reference by another table. It is keyed on by IncidentType.
Key - | IncidentType |
Incident
This is the primary table of the application. It stores all the relevant information for the Incident. It is owned by the User table, and uses Incident Number as a surrogate key.
Key - | LoginEmail Incident Number |
Has - | IncidentDescription IncidentType (referred to) IncidentStatus IncidentDate IncidentLatitude Incident Longitude CloseDate |
Incident Image
This table will store the file name of Image attached to the incident, as well as the file name of the Thumbnail version of the image. It is owned by the Incident table.
Key - | LoginEmail Incident Number |
Has - | ImageLocation ThumbnailImageLoc |
Customized Server Functionality
General Changes
All views in the application were made to be "Type Table_access". Because of this, no views need to be generated and all SQL queries will be done using the tables.
User.ByCell
A custom view was created for the User entity. This view inherits directly from the Fetch view, but keys on the CellNumber
Incident.Update.InsertRow
The Incident Number was added to the Output for this function. This field is being set just before the row is inserted. This is so we can reference the Incident Number after the record was created.
Incident.Fetch.BlockFetchSet
Several changes were made to this function.