Store statistics on server database.

This commit is contained in:
2018-12-22 03:46:48 +00:00
parent 72f31d0bcd
commit 414cbf73c0
15 changed files with 381 additions and 2 deletions

View File

@@ -1791,12 +1791,24 @@
<e p="201812201613369_InitialMigration.Designer.cs" t="Include" />
<e p="201812201613369_InitialMigration.cs" t="Include" />
<e p="201812201613369_InitialMigration.resx" t="Include" />
<e p="201812220029427_AddStatistics.Designer.cs" t="Include" />
<e p="201812220029427_AddStatistics.cs" t="Include" />
<e p="201812220029427_AddStatistics.resx" t="Include" />
<e p="Configuration.cs" t="Include" />
</e>
<e p="Models" t="Include">
<e p="Command.cs" t="Include" />
<e p="Context.cs" t="Include" />
<e p="Device.cs" t="Include" />
<e p="DeviceStat.cs" t="Include" />
<e p="Filesystem.cs" t="Include" />
<e p="Filter.cs" t="Include" />
<e p="Media.cs" t="Include" />
<e p="MediaFormat.cs" t="Include" />
<e p="OperatingSystem.cs" t="Include" />
<e p="Partition.cs" t="Include" />
<e p="UploadedReport.cs" t="Include" />
<e p="Version.cs" t="Include" />
</e>
<e p="Reports" t="Include">
<e p=".htaccess" t="Include" />

View File

@@ -200,10 +200,23 @@
<Compile Include="Migrations\201812201613369_InitialMigration.Designer.cs">
<DependentUpon>201812201613369_InitialMigration.cs</DependentUpon>
</Compile>
<Compile Include="Migrations\201812220029427_AddStatistics.cs" />
<Compile Include="Migrations\201812220029427_AddStatistics.Designer.cs">
<DependentUpon>201812220029427_AddStatistics.cs</DependentUpon>
</Compile>
<Compile Include="Migrations\Configuration.cs" />
<Compile Include="Models\Command.cs" />
<Compile Include="Models\Context.cs" />
<Compile Include="Models\Device.cs" />
<Compile Include="Models\DeviceStat.cs" />
<Compile Include="Models\Filesystem.cs" />
<Compile Include="Models\Filter.cs" />
<Compile Include="Models\Media.cs" />
<Compile Include="Models\MediaFormat.cs" />
<Compile Include="Models\OperatingSystem.cs" />
<Compile Include="Models\Partition.cs" />
<Compile Include="Models\UploadedReport.cs" />
<Compile Include="Models\Version.cs" />
<Compile Include="Statistics.aspx.cs">
<DependentUpon>Statistics.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@@ -277,6 +290,9 @@
<EmbeddedResource Include="Migrations\201812201613369_InitialMigration.resx">
<DependentUpon>201812201613369_InitialMigration.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Migrations\201812220029427_AddStatistics.resx">
<DependentUpon>201812220029427_AddStatistics.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>

View File

@@ -0,0 +1,29 @@
// <auto-generated />
namespace DiscImageChef.Server.Migrations
{
using System.CodeDom.Compiler;
using System.Data.Entity.Migrations;
using System.Data.Entity.Migrations.Infrastructure;
using System.Resources;
[GeneratedCode("EntityFramework.Migrations", "6.2.0-61023")]
public sealed partial class AddStatistics : IMigrationMetadata
{
private readonly ResourceManager Resources = new ResourceManager(typeof(AddStatistics));
string IMigrationMetadata.Id
{
get { return "201812220029427_AddStatistics"; }
}
string IMigrationMetadata.Source
{
get { return null; }
}
string IMigrationMetadata.Target
{
get { return Resources.GetString("Target"); }
}
}
}

View File

@@ -0,0 +1,75 @@
using System.Data.Entity.Migrations;
namespace DiscImageChef.Server.Migrations
{
public partial class AddStatistics : DbMigration
{
public override void Up()
{
CreateTable("dbo.Commands",
c => new {Id = c.Int(false, true), Name = c.String(unicode: false), Count = c.Long(false)})
.PrimaryKey(t => t.Id);
CreateTable("dbo.DeviceStats",
c => new
{
Id = c.Int(false, true),
Manufacturer = c.String(unicode: false),
Model = c.String(unicode: false),
Revision = c.String(unicode: false),
Bus = c.String(unicode: false)
}).PrimaryKey(t => t.Id);
CreateTable("dbo.Filesystems",
c => new {Id = c.Int(false, true), Name = c.String(unicode: false), Count = c.Long(false)})
.PrimaryKey(t => t.Id);
CreateTable("dbo.Filters",
c => new {Id = c.Int(false, true), Name = c.String(unicode: false), Count = c.Long(false)})
.PrimaryKey(t => t.Id);
CreateTable("dbo.MediaFormats",
c => new {Id = c.Int(false, true), Name = c.String(unicode: false), Count = c.Long(false)})
.PrimaryKey(t => t.Id);
CreateTable("dbo.Media",
c => new
{
Id = c.Int(false, true),
Type = c.String(unicode: false),
Real = c.Boolean(false),
Count = c.Long(false)
}).PrimaryKey(t => t.Id);
CreateTable("dbo.OperatingSystems",
c => new
{
Id = c.Int(false, true),
Name = c.String(unicode: false),
Version = c.String(unicode: false),
Count = c.Long(false)
}).PrimaryKey(t => t.Id);
CreateTable("dbo.Partitions",
c => new {Id = c.Int(false, true), Name = c.String(unicode: false), Count = c.Long(false)})
.PrimaryKey(t => t.Id);
CreateTable("dbo.Versions",
c => new {Id = c.Int(false, true), Value = c.String(unicode: false), Count = c.Long(false)})
.PrimaryKey(t => t.Id);
}
public override void Down()
{
DropTable("dbo.Versions");
DropTable("dbo.Partitions");
DropTable("dbo.OperatingSystems");
DropTable("dbo.Media");
DropTable("dbo.MediaFormats");
DropTable("dbo.Filters");
DropTable("dbo.Filesystems");
DropTable("dbo.DeviceStats");
DropTable("dbo.Commands");
}
}
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,12 @@
using System.ComponentModel.DataAnnotations;
namespace DiscImageChef.Server.Models
{
public class Command
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public long Count { get; set; }
}
}

View File

@@ -40,5 +40,14 @@ namespace DiscImageChef.Server.Models
{
public DbSet<Device> Devices { get; set; }
public DbSet<UploadedReport> Reports { get; set; }
public DbSet<Command> Commands { get; set; }
public DbSet<DeviceStat> DeviceStats { get; set; }
public DbSet<Filesystem> Filesystems { get; set; }
public DbSet<Filter> Filters { get; set; }
public DbSet<Media> Medias { get; set; }
public DbSet<MediaFormat> MediaFormats { get; set; }
public DbSet<OperatingSystem> OperatingSystems { get; set; }
public DbSet<Partition> Partitions { get; set; }
public DbSet<Version> Versions { get; set; }
}
}

View File

@@ -0,0 +1,14 @@
using System.ComponentModel.DataAnnotations;
namespace DiscImageChef.Server.Models
{
public class DeviceStat
{
[Key]
public int Id { get; set; }
public string Manufacturer { get; set; }
public string Model { get; set; }
public string Revision { get; set; }
public string Bus { get; set; }
}
}

View File

@@ -0,0 +1,12 @@
using System.ComponentModel.DataAnnotations;
namespace DiscImageChef.Server.Models
{
public class Filesystem
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public long Count { get; set; }
}
}

View File

@@ -0,0 +1,12 @@
using System.ComponentModel.DataAnnotations;
namespace DiscImageChef.Server.Models
{
public class Filter
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public long Count { get; set; }
}
}

View File

@@ -0,0 +1,13 @@
using System.ComponentModel.DataAnnotations;
namespace DiscImageChef.Server.Models
{
public class Media
{
[Key]
public int Id { get; set; }
public string Type { get; set; }
public bool Real { get; set; }
public long Count { get; set; }
}
}

View File

@@ -0,0 +1,12 @@
using System.ComponentModel.DataAnnotations;
namespace DiscImageChef.Server.Models
{
public class MediaFormat
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public long Count { get; set; }
}
}

View File

@@ -0,0 +1,13 @@
using System.ComponentModel.DataAnnotations;
namespace DiscImageChef.Server.Models
{
public class OperatingSystem
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public string Version { get; set; }
public long Count { get; set; }
}
}

View File

@@ -0,0 +1,12 @@
using System.ComponentModel.DataAnnotations;
namespace DiscImageChef.Server.Models
{
public class Partition
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public long Count { get; set; }
}
}

View File

@@ -0,0 +1,12 @@
using System.ComponentModel.DataAnnotations;
namespace DiscImageChef.Server.Models
{
public class Version
{
[Key]
public int Id { get; set; }
public string Value { get; set; }
public long Count { get; set; }
}
}