I am developing a timesheet application in ASP.net that has pretty straightforward functionality, although achieving it in ASP.net will require some fairly complex code. I will do my best to be as clear and complete as possible, but I will be more than willing to provide any clarification that you might need. I've attached a PDF that contains the mock up of the interface that I am going off of to create this app so you can more clearly see what I am trying to do.
When an employee logs into their company site and navigates to the Timesheet page, they will see a datagrid that contains a column with a dropdown which will allow the user to select a Job # that they are recording time for. There are also 7 columns for each day of the week so that they may enter their times for the entire week. Each column will contain textboxes that allow the user to enter their Time In (Date/Time), Time Out(Date/Time), Time Spent At Lunch (In Hours), Time Spent at Dinner (Hours). There are also fields that contain the total hours for each day and a column that contains the grand total number of hours for the week.
An employee will be able to enter hours for multiple jobs in a week, so there is an "Add Job" that will add another row to the datagrid just like the one described above and allow them to begin entering times for another job code.
The final row of this grid will contain totals hours for all jobs for each day, and one grand total that has the total number of hours per week. All in all, it behaves like most spreadsheets you've used.
In the database I am storing the entries in a table called TimesheetEntries, each record in the table has the fields:
id - int
employee_id - int
job_id - int
entry_date - date/time
entry_in - date/time
entry_out - float
lunch_time - float
Essentially each cell in the datagrid will be a record in this table. What I need to do is to figure out how to pull these records out into a dataset, and arrange them in a way that fits the timesheet format described above. I would also like to be able to work with and manipulate this dataset without actually committing changes to the database until the user clicks 'save' on the timesheet.
1) Is this possible
2) Can you help me do it? :)
Please check out the PDF for a clearer picture on how the timesheet should look. I appreciate any thoughts that you have on this matter.