# Conflicts:
# DataCenter_Windows/WindowsDataCenter/SQLiteRepository/SQLiteRepository.cs
# DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/App.config
Merged Branch for linux work. Now Deploying Card Reader on RPI.
code has been split into smaller methods, and queries on db have been optimised to make fewer, larger queries than lots of small queries. (using IN sql queries).
restructured UpdateUser to be more logical which has reduced some of the complexity of the method.
When deleting unassociated cards, the system will ensure all timelogs associated to those Ids are deleted also.
CreateGroup will now not allow duplicate groups, but will return the ID of the existing Group found in the DB.
pulled out GetUserCount method to simplify the GetUsers method.
removed empty quotes in favour of string.empty
#95
removed conversion code from SQLiteRepository.cs in favour of new converters.
pulled out string queries from SQLiteRepository and moved to SQLiteProcedures.cs.
#95
The code will change in> out and vice versa when an entry is created or deleted from the UI.
Does not affect the automatic TimeLog system (swipe cards etc)
#89
Implement Clear Unassigned Card method to remove all cards/identifiers from the database not assigned to a user.
Add procedure to delete cards from the db.
#69
update assemblyinfo so that it uses static const properties.
Create 0.2 upgrade script.
Add code to repository class that will check version of the database currently being referenced. IT will then proceed to run upgrade scripts (in order) from the oldest to newest version on the database, before finally setting the db version number.
#85
updated LogEventTime method to update the last used time in the db.
changed LogEventTime method to not store timelogs against unassigned cards.
updated GetUnassignedIdentifierList method to populate the Identifier LastUsed property.
#56
Add Code to populate the LastEventDateTime property in SQLiteRepository - getting the last TimeLogEvent datetime. will return min value if no logs available.
#53
implement logs in last x minute check.
can be configured from app.config file using "SwipeTimeGap" configuration. defaults to 3 minutes if configuration is not there.
#36
extended TimeLogList object:
> to group logs into days with the "DailyLogs" object
> to calculate the WeeklyTotal hours automatically based on the TimeLogs.DailyLogs object for each day.
Created DailyLogs object:
> holds the number of entries for a day.
> holds the time "in"/"at work" for that day (dailytotal).
#15
added pagesixe to userlist object.
added total user count to enable PageCount to work correctly.
added GET_TOTAL_USER_COUNT and GET_ALL_USERS_PAGINATE sqlite procedures to support pagination.
updated methods in SQLiteRepository to support pagination procedures and pagination properties of UserList.
updated UsersController to support pagination parameters.
tidied html script tags.
added pagination buttons at the bottom of user page. including drop down to select PageSize
added setPageSize, goToUserPage and setPagination methods to the viewmodel.
updated other methods for sammy etc to work with pagesize and PageNumber params.
#11
update initDatePicker to accept date. This date will be the setDate argument for bootstrap datepicker.
error is here, its not assigning the date correctly for the picker.
#5
added SelectedDate to the TimeLog object.
changed the timelog controller to accept a datetime as an arg, instead of the previous calendarweek/year args.
This kills two birds with one arg.
Changed the goToTimeLogs function to accept an args object to allow passing of datetime SelectedDate parameter.
removed console.logs to tidy code a little.
corrected some "undefined" parameter bugs/errors.
#5
re-referenced TimeLog to TimeLogDB
implemented the LogEventTime method, now logs direction user was going.
also logs the CalendarWeek and Year, returns the Id of the time log entry now too.
changed references to User.Id to User.UserId.
added relativePath option to createRequestUrl(..).
added documentation to returnButtonClick and createRequestUrl methods.
changed initDatePicker to have separate assign handler method to make code simpler.
changed all URL references to relative urls, no longer JSONP/crossdomain compatible.
tidied code.
added query parameter to home/users page.
added search getJson method.
changed all property names to match the WebApi endpoint.
added js to conditionally highlight the datepicker row on hover.
changed script and css references to proper CDN urls.
tidied html.
added form for querying user list.
UserController will conditionally choose to GetUsersList or Search, based on Query Parameter.
Add search method to IRepository
Implement Search method on IRepository interface
added search procedure to SQLiteProcedures
added Query property to UserList to allow UI to display the last filter/query parameter.