commit
5f91c1afce
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||||||
// You can specify all the values or you can default the Build and Revision Numbers
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("1.0.0.0")]
|
[assembly: AssemblyVersion("0.1.2.0")]
|
||||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
[assembly: AssemblyFileVersion("0.1.2.0")]
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
<Product Id="{DA4797C8-E60E-499F-95A3-B7BD9D19D6DA}"
|
<Product Id="{DA4797C8-E60E-499F-95A3-B7BD9D19D6DA}"
|
||||||
Name="CardReaderServiceInstaller"
|
Name="CardReaderServiceInstaller"
|
||||||
Language="1033"
|
Language="1033"
|
||||||
Version="1.0.0.0"
|
Version="0.1.2.0"
|
||||||
Manufacturer="ChrisWatts"
|
Manufacturer="ChrisWatts"
|
||||||
UpgradeCode="3b61e4ae-d717-4c95-9ce5-a53a1c180bf6">
|
UpgradeCode="3b61e4ae-d717-4c95-9ce5-a53a1c180bf6">
|
||||||
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
|
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
|
||||||
|
|||||||
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||||||
// You can specify all the values or you can default the Build and Revision Numbers
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("1.0.0.0")]
|
[assembly: AssemblyVersion("0.1.2.0")]
|
||||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
[assembly: AssemblyFileVersion("0.1.2.0")]
|
||||||
|
|||||||
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||||||
// You can specify all the values or you can default the Build and Revision Numbers
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("1.0.0.0")]
|
[assembly: AssemblyVersion("0.1.2.0")]
|
||||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
[assembly: AssemblyFileVersion("0.1.2.0")]
|
||||||
|
|||||||
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||||||
// You can specify all the values or you can default the Build and Revision Numbers
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("1.0.0.0")]
|
[assembly: AssemblyVersion("0.1.2.0")]
|
||||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
[assembly: AssemblyFileVersion("0.1.2.0")]
|
||||||
|
|||||||
@ -2,6 +2,7 @@ namespace SQLiteRepository
|
|||||||
{
|
{
|
||||||
internal static class SQLiteProcedures
|
internal static class SQLiteProcedures
|
||||||
{
|
{
|
||||||
|
public const string GET_LOGS_IN_LAST_X_MINUTES= "select * from TimeLogDb where "+nameof(TimeLogDb.SwipeEventDateTime)+" > ? AND "+nameof(TimeLogDb.UserId_FK)+"=?";
|
||||||
public const string GET_TIMELOGS = "select * from "+nameof(TimeLogDb)+ " where (" + nameof(TimeLogDb.UserId_FK) + "=? AND " + nameof(TimeLogDb.CalendarWeek) + "=? and " + nameof(TimeLogDb.Year) + "=?)";
|
public const string GET_TIMELOGS = "select * from "+nameof(TimeLogDb)+ " where (" + nameof(TimeLogDb.UserId_FK) + "=? AND " + nameof(TimeLogDb.CalendarWeek) + "=? and " + nameof(TimeLogDb.Year) + "=?)";
|
||||||
public const string GET_ALL_USERS = "select * from " + nameof(UserIdentity);
|
public const string GET_ALL_USERS = "select * from " + nameof(UserIdentity);
|
||||||
public const string GET_USER_BY_ID = "select * from " + nameof(UserIdentity) + " where " + nameof(UserIdentity.Id) + "=?";
|
public const string GET_USER_BY_ID = "select * from " + nameof(UserIdentity) + " where " + nameof(UserIdentity.Id) + "=?";
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Configuration;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
@ -349,6 +350,21 @@ namespace SQLiteRepository
|
|||||||
// Get The User Direction (are they going in or out)?
|
// Get The User Direction (are they going in or out)?
|
||||||
var logDirection = GetLogDirection(ident.UserId_FK);
|
var logDirection = GetLogDirection(ident.UserId_FK);
|
||||||
|
|
||||||
|
#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<TimeLogDb>(
|
||||||
|
SQLiteProcedures.GET_LOGS_IN_LAST_X_MINUTES,
|
||||||
|
threshold, ident.UserId_FK);
|
||||||
|
if (logs.Any())
|
||||||
|
{
|
||||||
|
logId = -1;
|
||||||
|
return OperationResponse.FAILED;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
#region Get the current time (for swiping). and calendar week/year to help recall the data.
|
#region Get the current time (for swiping). and calendar week/year to help recall the data.
|
||||||
var logTime = DateTime.UtcNow;
|
var logTime = DateTime.UtcNow;
|
||||||
var calendarWeek = GetIso8601CalendarWeek(logTime);
|
var calendarWeek = GetIso8601CalendarWeek(logTime);
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
<Product Id="{52F7296E-1C7E-497E-9B25-4FE715D7AD1C}"
|
<Product Id="{52F7296E-1C7E-497E-9B25-4FE715D7AD1C}"
|
||||||
Name="DataCentreHostInstaller"
|
Name="DataCentreHostInstaller"
|
||||||
Language="1033"
|
Language="1033"
|
||||||
Version="0.0.1.0"
|
Version="0.1.2.0"
|
||||||
Manufacturer="ChrisWatts"
|
Manufacturer="ChrisWatts"
|
||||||
UpgradeCode="7282166b-691e-4caa-9a80-f348b8e5ffef">
|
UpgradeCode="7282166b-691e-4caa-9a80-f348b8e5ffef">
|
||||||
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
|
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
|
||||||
|
|||||||
@ -2,6 +2,8 @@
|
|||||||
<configuration>
|
<configuration>
|
||||||
<appSettings>
|
<appSettings>
|
||||||
<add key="NLogConfigFilePath" value="Configs/NLogConfig.xml" />
|
<add key="NLogConfigFilePath" value="Configs/NLogConfig.xml" />
|
||||||
|
<add key="DefaultPageSize" value="20"/>
|
||||||
|
<add key="SwipeTimeGap" value="20"/>
|
||||||
</appSettings>
|
</appSettings>
|
||||||
<startup>
|
<startup>
|
||||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
|
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.Configuration;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
using System.Net.Http;
|
using System.Net.Http;
|
||||||
using System.Net.Http.Headers;
|
using System.Net.Http.Headers;
|
||||||
@ -29,8 +30,9 @@ namespace WindowsDataCenter
|
|||||||
public IHttpActionResult GetUsers([FromUri] string query = "",[FromUri] int pageSize = -1, [FromUri] int pageNumber =-1)
|
public IHttpActionResult GetUsers([FromUri] string query = "",[FromUri] int pageSize = -1, [FromUri] int pageNumber =-1)
|
||||||
{
|
{
|
||||||
_logger.Trace("GetUsers called with arguments >> query: {0}, pageSize: {1}, pageNumber: {2}", query, pageSize, pageNumber);
|
_logger.Trace("GetUsers called with arguments >> query: {0}, pageSize: {1}, pageNumber: {2}", query, pageSize, pageNumber);
|
||||||
|
|
||||||
pageNumber = pageNumber == -1 ? 1 : pageNumber;
|
pageNumber = pageNumber == -1 ? 1 : pageNumber;
|
||||||
pageSize = pageSize == -1 ? 1 : pageSize;
|
pageSize = GetPageSize(pageSize);
|
||||||
var userList = query == string.Empty ? _repo.GetUsers(pageNumber, pageSize) : _repo.Search(query);
|
var userList = query == string.Empty ? _repo.GetUsers(pageNumber, pageSize) : _repo.Search(query);
|
||||||
_logger.Trace("Got UserList from Repository, UserCount: {0}", userList.UserCount);
|
_logger.Trace("Got UserList from Repository, UserCount: {0}", userList.UserCount);
|
||||||
if (query != string.Empty)
|
if (query != string.Empty)
|
||||||
@ -50,6 +52,15 @@ namespace WindowsDataCenter
|
|||||||
return ResponseMessage(msg);
|
return ResponseMessage(msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private int GetPageSize(int pageSize)
|
||||||
|
{
|
||||||
|
var cfgPageSize = ConfigurationManager.AppSettings["DefaultPageSize"] ?? 10.ToString();
|
||||||
|
|
||||||
|
return pageSize == -1
|
||||||
|
? Convert.ToInt32(cfgPageSize)
|
||||||
|
: pageSize;
|
||||||
|
}
|
||||||
|
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
[Route("{id:int}")]
|
[Route("{id:int}")]
|
||||||
[CacheControl(MaxAge = 0)]
|
[CacheControl(MaxAge = 0)]
|
||||||
|
|||||||
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||||||
// You can specify all the values or you can default the Build and Revision Numbers
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("1.0.0.0")]
|
[assembly: AssemblyVersion("0.1.2.0")]
|
||||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
[assembly: AssemblyFileVersion("0.1.2.0")]
|
||||||
|
|||||||
@ -110,6 +110,7 @@
|
|||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
<Reference Include="System.ComponentModel.DataAnnotations" />
|
<Reference Include="System.ComponentModel.DataAnnotations" />
|
||||||
|
<Reference Include="System.Configuration" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
<Reference Include="System.Data.SQLite, Version=1.0.104.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
<Reference Include="System.Data.SQLite, Version=1.0.104.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\System.Data.SQLite.Core.1.0.104.0\lib\net451\System.Data.SQLite.dll</HintPath>
|
<HintPath>..\packages\System.Data.SQLite.Core.1.0.104.0\lib\net451\System.Data.SQLite.dll</HintPath>
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
function DataVM() {
|
function DataVM() {
|
||||||
"use strict";
|
"use strict";
|
||||||
var self = this;
|
var self = this;
|
||||||
self.menuOptions = ["Users", "Data", "Stats", "Other"];
|
self.menuOptions = ["Home"];
|
||||||
self.chosenMenuItemId = ko.observable();
|
self.chosenMenuItemId = ko.observable();
|
||||||
self.userList = ko.observable(null);
|
self.userList = ko.observable(null);
|
||||||
self.chosenUserDetails = ko.observable(null);
|
self.chosenUserDetails = ko.observable(null);
|
||||||
@ -12,11 +12,11 @@
|
|||||||
self.errorData = ko.observable(null);
|
self.errorData = ko.observable(null);
|
||||||
self.apiEndpoints = {
|
self.apiEndpoints = {
|
||||||
root: "http://localhost:8800",
|
root: "http://localhost:8800",
|
||||||
getUserList: "/api/users",//"/userstest",
|
getUserList: "/api/users",
|
||||||
getUserDetails: "/api/users",//"/users",
|
getUserDetails: "/api/users",
|
||||||
editUser: "/api/users/edit",//"/users/edit",
|
editUser: "/api/users/edit",
|
||||||
getTimeLogs: "/api/timelogs",//"/timelogs",
|
getTimeLogs: "/api/timelogs",
|
||||||
getUnassignedCards: "/api/cards/unassigned"//"/unassignedcards"
|
getUnassignedCards: "/api/cards/unassigned"
|
||||||
};
|
};
|
||||||
self.uiPages = {
|
self.uiPages = {
|
||||||
users: "users",
|
users: "users",
|
||||||
@ -200,10 +200,6 @@
|
|||||||
if (!data.events.changeDate) {
|
if (!data.events.changeDate) {
|
||||||
$("#weeklyDatePicker").on("changeDate", function (e) {
|
$("#weeklyDatePicker").on("changeDate", function (e) {
|
||||||
var kk = e.date;
|
var kk = e.date;
|
||||||
//console.log(
|
|
||||||
// "1: Iso Week Number: " + moment(kk).isoWeek() + " of " +
|
|
||||||
// moment(kk).weeksInYear()
|
|
||||||
//);
|
|
||||||
self.selectedCalendarWeek(moment(kk).isoWeek());
|
self.selectedCalendarWeek(moment(kk).isoWeek());
|
||||||
self.goToTimeLogs(self.chosenTimeLogUserId, null, [{ key: "selectedDate", value: moment(kk).format("MM-DD-YYYY") }]);
|
self.goToTimeLogs(self.chosenTimeLogUserId, null, [{ key: "selectedDate", value: moment(kk).format("MM-DD-YYYY") }]);
|
||||||
});
|
});
|
||||||
@ -313,8 +309,6 @@
|
|||||||
self.searchUsers(query);
|
self.searchUsers(query);
|
||||||
else
|
else
|
||||||
self.getUserList(pageSize, pageNumber);
|
self.getUserList(pageSize, pageNumber);
|
||||||
self.assignErrorObject(101, "An Error has occurred.. run away!!!", "test");
|
|
||||||
//$.get("http://localhost:3000", { menu: this.params.menu }, self.chosenMenuData);
|
|
||||||
});
|
});
|
||||||
this.get("#userData/:userId", function () {
|
this.get("#userData/:userId", function () {
|
||||||
self.chosenMenuItemId("Data");
|
self.chosenMenuItemId("Data");
|
||||||
@ -322,7 +316,6 @@
|
|||||||
self.getUserDetails(this.params.userId);
|
self.getUserDetails(this.params.userId);
|
||||||
self.userTimeLogData(null);
|
self.userTimeLogData(null);
|
||||||
self.getUnassignedCardData();
|
self.getUnassignedCardData();
|
||||||
//$.get("http://localhost:3000", { menu: this.params.menu }, self.chosenMenuData);
|
|
||||||
});
|
});
|
||||||
this.get("#timelogs/:userId", function () {
|
this.get("#timelogs/:userId", function () {
|
||||||
var selectedDate = this.params.selectedDate;
|
var selectedDate = this.params.selectedDate;
|
||||||
@ -330,9 +323,6 @@
|
|||||||
self.userList(null);
|
self.userList(null);
|
||||||
self.chosenUserDetails(null);
|
self.chosenUserDetails(null);
|
||||||
self.chosenTimeLogUserId = this.params.userId;
|
self.chosenTimeLogUserId = this.params.userId;
|
||||||
//if (!selectedDate) {
|
|
||||||
// selectedDate = new Date();
|
|
||||||
//}
|
|
||||||
self.getTimeLogData(this.params.userId, selectedDate);
|
self.getTimeLogData(this.params.userId, selectedDate);
|
||||||
});
|
});
|
||||||
this.get("#newUser", function () {
|
this.get("#newUser", function () {
|
||||||
|
|||||||
@ -2,6 +2,8 @@
|
|||||||
<configuration>
|
<configuration>
|
||||||
<appSettings>
|
<appSettings>
|
||||||
<add key="NLogConfigFilePath" value="Configs/NLogConfig.xml" />
|
<add key="NLogConfigFilePath" value="Configs/NLogConfig.xml" />
|
||||||
|
<add key="DefaultPageSize" value="20"/>
|
||||||
|
<add key="SwipeTimeGap" value="20"/>
|
||||||
</appSettings>
|
</appSettings>
|
||||||
<startup>
|
<startup>
|
||||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
|
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user