Finalized the merge..

Merge remote-tracking branch 'origin/CreateStaticFileHost' into UnbrokenSQLiteImplementation

# Conflicts:
#	DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/App.config
#	DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/Service1.cs
#	DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/WindowsDataCenter.csproj
#	DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/packages.config
#	DataCenter_Windows/WindowsDataCenter/WindowsDataServiceHost/App.config
#	DataCenter_Windows/WindowsDataCenter/WindowsDataServiceHost/packages.config
This commit is contained in:
chris.watts90@outlook.com 2017-02-01 20:28:42 +00:00
commit fa3a115c5c
8 changed files with 150 additions and 18 deletions

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <PropertyGroup>
<ProjectView>ShowAllFiles</ProjectView> <ProjectView>ProjectFiles</ProjectView>
</PropertyGroup> </PropertyGroup>
</Project> </Project>

View File

@ -33,13 +33,41 @@
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="Microsoft.Owin, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Owin.3.0.1\lib\net45\Microsoft.Owin.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Owin.Host.HttpListener, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <Reference Include="Microsoft.Owin.Host.HttpListener, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Owin.Host.HttpListener.3.0.1\lib\net45\Microsoft.Owin.Host.HttpListener.dll</HintPath> <HintPath>..\packages\Microsoft.Owin.Host.HttpListener.3.0.1\lib\net45\Microsoft.Owin.Host.HttpListener.dll</HintPath>
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Owin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f0ebd12fd5e55cc5, processorArchitecture=MSIL">
<HintPath>..\packages\Owin.1.0\lib\net40\Owin.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="RazorEngine, Version=3.7.2.0, Culture=neutral, PublicKeyToken=9ee697374c7e744a, processorArchitecture=MSIL">
<HintPath>..\packages\RazorEngine.3.7.2\lib\net45\RazorEngine.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Core" /> <Reference Include="System.Core" />
<Reference Include="System.Net.Http.Formatting, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.ServiceProcess" /> <Reference Include="System.ServiceProcess" />
<Reference Include="System.Web.Http, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Core.5.2.3\lib\net45\System.Web.Http.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.Razor.3.0.0\lib\net45\System.Web.Razor.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Xml.Linq" /> <Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" /> <Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" /> <Reference Include="Microsoft.CSharp" />

View File

@ -3,5 +3,6 @@
<package id="Microsoft.Owin" version="3.0.1" targetFramework="net452" /> <package id="Microsoft.Owin" version="3.0.1" targetFramework="net452" />
<package id="Microsoft.Owin.FileSystems" version="3.0.1" targetFramework="net452" /> <package id="Microsoft.Owin.FileSystems" version="3.0.1" targetFramework="net452" />
<package id="Microsoft.Owin.Host.HttpListener" version="3.0.1" targetFramework="net452" /> <package id="Microsoft.Owin.Host.HttpListener" version="3.0.1" targetFramework="net452" />
<package id="Newtonsoft.Json" version="9.0.1" targetFramework="net452" />
<package id="Owin" version="1.0" targetFramework="net452" /> <package id="Owin" version="1.0" targetFramework="net452" />
</packages> </packages>

View File

@ -1,16 +1,28 @@
module.exports = function(){ module.exports = function(){
var fakeTimeDataCount = 4000, maxUserCount = 120; var fakeTimeDataCount = 4000, maxUserCount = 120, unassignedCardCount = 4, maxValidCardCount = 150;
var faker = require("faker"); var faker = require("faker");
var _ = require("lodash"); var _ = require("lodash");
var directions = ["in", "out"]; var directions = ["in", "out"];
var validCards = _.times(maxValidCardCount, function(n){
return{
id:n,
Id:n,
UserId_FK: faker.random.number(maxUserCount),
IsSelected: true,
CardUId: faker.random.uuid()
};
});
var usersData = _.times(maxUserCount, function (n) var usersData = _.times(maxUserCount, function (n)
{ {
return { return {
id: n, id: n, //needed for the /users/id endpoint
//timestamp: faker.date.past(), Id: n,
userId: n, UserId: n,
firstName: faker.name.firstName(), FirstName: faker.name.firstName(),
lastName: faker.name.lastName() LastName: faker.name.lastName(),
HoursPerWeek: 37.0,
AssociatedCardCount: _.filter(validCards, {'UserId_FK': n}).length,
AssociatedCards: _.filter(validCards, {'UserId_FK': n})
} }
} }
); );
@ -18,22 +30,38 @@ module.exports = function(){
{ {
return { return {
id: n, id: n,
userId: faker.random.number(maxUserCount), Id: n,
timestamp: faker.date.past(), UserId: faker.random.number(maxUserCount),
direction: directions[faker.random.number(1)] Timestamp: faker.date.past(),
Direction: directions[faker.random.number(1)]
}
} }
} );
); //var userDataObject = {users: _.orderBy(usersData, ["lastName", "firstName"],["asc", "asc"])};
var userDataObject = {users: _.orderBy(usersData, ["lastName", "firstName"],["asc", "asc"])}; var unassignedTestCards = _.times(unassignedCardCount, function(n)
{
return {
id: n,
Id: n,
UserId: -1,
IsSelected: false, //needed for knockout checked binding.
CardUId: faker.random.uuid()
}
});
return { return {
userSwipeData: _.orderBy(userSwipeDataPoints, ["id"], ["asc"]), timelogs: _.orderBy(userSwipeDataPoints, ["id"], ["asc"]),
//users: _.orderBy(data, ["userId", "asc"]), //users: _.orderBy(data, ["userId", "asc"]),
users: _.orderBy(usersData, ["lastName", "firstName"],["asc", "asc"]), users: _.orderBy(usersData, ["lastName", "firstName"],["asc", "asc"]),
//weather: _.orderBy(data, ["timestamp"],["asc"]), //weather: _.orderBy(data, ["timestamp"],["asc"]),
stats: _.countBy(userSwipeDataPoints, "userId"), stats: _.countBy(userSwipeDataPoints, "userId"),
timelogtest: {
Logs: _.orderBy(userSwipeDataPoints, "Timestamp", "asc")
},
userstest: { userstest: {
users: _.orderBy(usersData, ["lastName", "firstName"],["asc", "asc"]) UserCount: maxUserCount,
} Users: _.orderBy(usersData, ["lastName", "firstName"],["asc", "asc"])
},
unassignedCards: { data: unassignedTestCards}
} }
} }
/* /*

View File

@ -0,0 +1,75 @@
//so the user gets this data from /timelogs?userId=x
//however, given the data below could be over many years and therefore, thousands of data points.. some consideration should be given for reduced format.
// consideration should be to have a calendarWeek argument, i.e.: /timelogs?userId=x&calendarWeek=y.
// If no calendarWeek argument is provided, then it should default to the current calendarweek.
{
availableYears: [2017],
data: [
2017: [ //year of the logs collection
1:[ //calendar week of year.
{
LogId: n,
UserId: faker.random.number(maxUserCount),
Timestamp: faker.date.past(),
Direction: directions[faker.random.number(1)]
},
{
LogId: n,
UserId: faker.random.number(maxUserCount),
Timestamp: faker.date.past(),
Direction: directions[faker.random.number(1)]
},
{
LogId: n,
UserId: faker.random.number(maxUserCount),
Timestamp: faker.date.past(),
Direction: directions[faker.random.number(1)]
},
{
LogId: n,
UserId: faker.random.number(maxUserCount),
Timestamp: faker.date.past(),
Direction: directions[faker.random.number(1)]
},
{
LogId: n,
UserId: faker.random.number(maxUserCount),
Timestamp: faker.date.past(),
Direction: directions[faker.random.number(1)]
}
],
2:[
{
LogId: n,
UserId: faker.random.number(maxUserCount),
Timestamp: faker.date.past(),
Direction: directions[faker.random.number(1)]
},
{
LogId: n,
UserId: faker.random.number(maxUserCount),
Timestamp: faker.date.past(),
Direction: directions[faker.random.number(1)]
},
{
LogId: n,
UserId: faker.random.number(maxUserCount),
Timestamp: faker.date.past(),
Direction: directions[faker.random.number(1)]
},
{
LogId: n,
UserId: faker.random.number(maxUserCount),
Timestamp: faker.date.past(),
Direction: directions[faker.random.number(1)]
},
{
LogId: n,
UserId: faker.random.number(maxUserCount),
Timestamp: faker.date.past(),
Direction: directions[faker.random.number(1)]
}
]
],
]
}

BIN
UI/ViewTimeTool.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB