diff --git a/DataCenter_Windows/WindowsDataCenter/CardReaderService/App.config b/DataCenter_Windows/WindowsDataCenter/CardReaderService/App.config index 6fda695..a1f8f1f 100644 --- a/DataCenter_Windows/WindowsDataCenter/CardReaderService/App.config +++ b/DataCenter_Windows/WindowsDataCenter/CardReaderService/App.config @@ -5,6 +5,6 @@ - + \ No newline at end of file diff --git a/DataCenter_Windows/WindowsDataCenter/CardReaderService/CardReaderService.cs b/DataCenter_Windows/WindowsDataCenter/CardReaderService/CardReaderService.cs index 380c99a..37a7711 100644 --- a/DataCenter_Windows/WindowsDataCenter/CardReaderService/CardReaderService.cs +++ b/DataCenter_Windows/WindowsDataCenter/CardReaderService/CardReaderService.cs @@ -142,7 +142,7 @@ namespace CardReaderService { _logger.Trace("Reader failed to connect, error: " + Enum.GetName(typeof(SCardError), err)); } - + reader.Dispose(); } } diff --git a/DataCenter_Windows/WindowsDataCenter/SQLiteRepository/SQLiteRepository.cs b/DataCenter_Windows/WindowsDataCenter/SQLiteRepository/SQLiteRepository.cs index 84da476..6745187 100644 --- a/DataCenter_Windows/WindowsDataCenter/SQLiteRepository/SQLiteRepository.cs +++ b/DataCenter_Windows/WindowsDataCenter/SQLiteRepository/SQLiteRepository.cs @@ -352,15 +352,20 @@ namespace SQLiteRepository #region Check the user hasnt registered an event in the last few minutes.. - var hysteresisThresholdMinutes = Convert.ToInt32(ConfigurationManager.AppSettings["SwipeTimeGap"] ?? "3"); - var threshold = DateTime.UtcNow.AddMinutes(0 - hysteresisThresholdMinutes); - var logs = _connection.Query( - SQLiteProcedures.GET_LOGS_IN_LAST_X_MINUTES, - threshold.Ticks, ident.UserId_FK); - if (logs.Any()) - { - logId = -1; - return OperationResponse.FAILED; + if (ident.UserId_FK!=-1) + { //only check log gap if the card is associated to a user + var hysteresisThresholdMinutes = Convert.ToInt32(ConfigurationManager.AppSettings["SwipeTimeGap"] ?? "3"); + var threshold = DateTime.UtcNow.AddMinutes(0 - hysteresisThresholdMinutes); + var logs = _connection.Query( + SQLiteProcedures.GET_LOGS_IN_LAST_X_MINUTES, + threshold.Ticks, ident.UserId_FK); + _logger.Trace("Checking last swipe event gap"); + if (logs.Any()) + { + _logger.Error("Not logging event for user id: {0}, logged event within TimeGap Threshold of {1}", ident.UserId_FK, threshold); + logId = -1; + return OperationResponse.FAILED; + } } #endregion diff --git a/DataCenter_Windows/WindowsDataCenter/SQLiteRepository/SQLiteRepository.csproj b/DataCenter_Windows/WindowsDataCenter/SQLiteRepository/SQLiteRepository.csproj index 337b41c..9efe2f3 100644 --- a/DataCenter_Windows/WindowsDataCenter/SQLiteRepository/SQLiteRepository.csproj +++ b/DataCenter_Windows/WindowsDataCenter/SQLiteRepository/SQLiteRepository.csproj @@ -45,6 +45,7 @@ True + ..\packages\System.Data.SQLite.Core.1.0.104.0\lib\net451\System.Data.SQLite.dll diff --git a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/App.config b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/App.config index e91591d..00e1396 100644 --- a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/App.config +++ b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/App.config @@ -2,8 +2,8 @@ - - + + diff --git a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/Controllers/SwipeDataController.cs b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/Controllers/SwipeDataController.cs index cf7fe12..d2e5d29 100644 --- a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/Controllers/SwipeDataController.cs +++ b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/Controllers/SwipeDataController.cs @@ -49,6 +49,8 @@ namespace WindowsDataCenter /// /// /// + [HttpPost] + [Route("manual")] public IHttpActionResult ManuallyPostData([FromBody] ManualLog log) { throw new NotImplementedException(); diff --git a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/StartOwin.cs b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/StartOwin.cs index 142e637..e9b05a2 100644 --- a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/StartOwin.cs +++ b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/StartOwin.cs @@ -20,7 +20,7 @@ namespace WindowsDataCenter config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always; //ninject resolver for ApiController DI. - config.DependencyResolver = new NinjectDependencyResolver(NinjectHelper.GetInstance().Kernel); + //config.DependencyResolver = new NinjectDependencyResolver(NinjectHelper.GetInstance().Kernel); //JSONP formatter for cross-domain requests. config.Formatters.Insert(0, new JsonpFormatter()); diff --git a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/WindowsDataCenter.csproj b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/WindowsDataCenter.csproj index 012fb8d..03cfb28 100644 --- a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/WindowsDataCenter.csproj +++ b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/WindowsDataCenter.csproj @@ -69,7 +69,7 @@ True - ..\packages\Ninject.3.2.0.0\lib\net45-full\Ninject.dll + ..\packages\Ninject.3.2.2.0\lib\net45-full\Ninject.dll True @@ -85,7 +85,7 @@ True - ..\packages\Ninject.Web.Common.3.2.0.0\lib\net45-full\Ninject.Web.Common.dll + ..\packages\Ninject.Web.Common.3.2.3.0\lib\net45-full\Ninject.Web.Common.dll True @@ -93,7 +93,7 @@ True - ..\packages\Ninject.Web.WebApi.3.2.0.0\lib\net45-full\Ninject.Web.WebApi.dll + ..\packages\Ninject.Web.WebApi.3.2.4.0\lib\net45-full\Ninject.Web.WebApi.dll True diff --git a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/packages.config b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/packages.config index f8a9e8b..0363aa3 100644 --- a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/packages.config +++ b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/packages.config @@ -15,13 +15,13 @@ - + - + - + diff --git a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/www/index.html b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/www/index.html index 398f305..983b120 100644 --- a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/www/index.html +++ b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/www/index.html @@ -61,20 +61,18 @@ - - - - - + + + - - - + + diff --git a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/www/spa.js b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/www/spa.js index 82ac54b..50911e8 100644 --- a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/www/spa.js +++ b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/www/spa.js @@ -134,7 +134,7 @@ if (hrs < 1) { return value + " mins"; } - return (value / 60)+" hrs"; + return self.round(hrs, 2)+" hrs"; }; self.convertToDisplayTime = function (dateValue) { var date = new Date(dateValue); @@ -146,6 +146,9 @@ } return logCount; } + self.round = function (value, decimals) { + return parseFloat(Math.round(value * 100) / 100).toFixed(decimals); + } self.getTimeLogEntryArrayLength = function(maxDailyLogs) { return Math.round(maxDailyLogs/2); }; diff --git a/DataCenter_Windows/WindowsDataCenter/WindowsDataServiceHost/App.config b/DataCenter_Windows/WindowsDataCenter/WindowsDataServiceHost/App.config index e152d66..b7a67d4 100644 --- a/DataCenter_Windows/WindowsDataCenter/WindowsDataServiceHost/App.config +++ b/DataCenter_Windows/WindowsDataCenter/WindowsDataServiceHost/App.config @@ -2,8 +2,8 @@ - - + +
IDUserIdfirstNamelastName + First NameLast NameContractor