Use MySQL database server in Server to store uploaded reports (version 2).

This commit is contained in:
2018-12-20 21:04:08 +00:00
parent c964cf27b3
commit 13ce58cac0
15 changed files with 1263 additions and 150 deletions

View File

@@ -1741,6 +1741,7 @@
</e> </e>
</e> </e>
<e p="DiscImageChef.Server" t="IncludeRecursive"> <e p="DiscImageChef.Server" t="IncludeRecursive">
<e p="App.config" t="Include" />
<e p="App_Start" t="Include"> <e p="App_Start" t="Include">
<e p="Ata.cs" t="Include" /> <e p="Ata.cs" t="Include" />
<e p="ScsiEvpd.cs" t="Include" /> <e p="ScsiEvpd.cs" t="Include" />
@@ -1764,6 +1765,17 @@
<e p="DiscImageChef.Server.csproj" t="IncludeRecursive" /> <e p="DiscImageChef.Server.csproj" t="IncludeRecursive" />
<e p="Global.asax" t="Include" /> <e p="Global.asax" t="Include" />
<e p="Global.asax.cs" t="Include" /> <e p="Global.asax.cs" t="Include" />
<e p="Migrations" t="Include">
<e p="201812201613369_InitialMigration.Designer.cs" t="Include" />
<e p="201812201613369_InitialMigration.cs" t="Include" />
<e p="201812201613369_InitialMigration.resx" t="Include" />
<e p="Configuration.cs" t="Include" />
</e>
<e p="Models" t="Include">
<e p="Context.cs" t="Include" />
<e p="Device.cs" t="Include" />
<e p="UploadedReport.cs" t="Include" />
</e>
<e p="Reports" t="Include"> <e p="Reports" t="Include">
<e p=".htaccess" t="Include" /> <e p=".htaccess" t="Include" />
</e> </e>
@@ -1781,6 +1793,8 @@
<e p="ViewReport.aspx" t="Include" /> <e p="ViewReport.aspx" t="Include" />
<e p="ViewReport.aspx.cs" t="Include" /> <e p="ViewReport.aspx.cs" t="Include" />
<e p="ViewReport.aspx.designer.cs" t="Include" /> <e p="ViewReport.aspx.designer.cs" t="Include" />
<e p="Web.Debug.config" t="Include" />
<e p="Web.Release.config" t="Include" />
<e p="Web.config" t="Include" /> <e p="Web.config" t="Include" />
<e p="bin" t="ExcludeRecursive" /> <e p="bin" t="ExcludeRecursive" />
<e p="docs" t="Include"> <e p="docs" t="Include">
@@ -1794,13 +1808,7 @@
<e p="vga_squarepx.woff" t="Include" /> <e p="vga_squarepx.woff" t="Include" />
<e p="vga_squarepx.woff2" t="Include" /> <e p="vga_squarepx.woff2" t="Include" />
</e> </e>
<e p="obj" t="ExcludeRecursive"> <e p="obj" t="ExcludeRecursive" />
<e p="Debug" t="Include">
<e p="net461" t="Include">
<e p="DiscImageChef.Server.AssemblyInfo.cs" t="Include" />
</e>
</e>
</e>
<e p="packages.config" t="Include" /> <e p="packages.config" t="Include" />
<e p="usb.ids" t="Include" /> <e p="usb.ids" t="Include" />
</e> </e>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
</configSections>
</configuration>

View File

@@ -33,7 +33,10 @@
// This is verbatim from ASP.NET so left as is // This is verbatim from ASP.NET so left as is
// ReSharper disable All // ReSharper disable All
using System.Data.Entity.Migrations;
using System.Web.Http; using System.Web.Http;
using DiscImageChef.Server.Migrations;
using DiscImageChef.Server.Models;
namespace DiscImageChef.Server namespace DiscImageChef.Server
{ {
@@ -48,6 +51,11 @@ namespace DiscImageChef.Server
config.Routes.MapHttpRoute(name: "DefaultApi", routeTemplate: "api/{controller}/{id}", config.Routes.MapHttpRoute(name: "DefaultApi", routeTemplate: "api/{controller}/{id}",
defaults: new {id = RouteParameter.Optional}); defaults: new {id = RouteParameter.Optional});
//DicServerContext ctx = new DicServerContext();
Configuration migratorConfig = new Migrations.Configuration();
DbMigrator dbMigrator = new DbMigrator(migratorConfig);
dbMigrator.Update();
} }
} }
} }

View File

@@ -41,12 +41,15 @@ using System.Web.Hosting;
using System.Web.Http; using System.Web.Http;
using System.Xml.Serialization; using System.Xml.Serialization;
using DiscImageChef.CommonTypes.Metadata; using DiscImageChef.CommonTypes.Metadata;
using DiscImageChef.Server.Models;
using Newtonsoft.Json; using Newtonsoft.Json;
namespace DiscImageChef.Server.Controllers namespace DiscImageChef.Server.Controllers
{ {
public class UploadReportController : ApiController public class UploadReportController : ApiController
{ {
DicServerContext ctx = new DicServerContext();
/// <summary> /// <summary>
/// Receives a report from DiscImageChef.Core, verifies it's in the correct format and stores it on the server /// Receives a report from DiscImageChef.Core, verifies it's in the correct format and stores it on the server
/// </summary> /// </summary>
@@ -113,8 +116,7 @@ namespace DiscImageChef.Server.Controllers
HttpRequest request = HttpContext.Current.Request; HttpRequest request = HttpContext.Current.Request;
StreamReader sr = new StreamReader(request.InputStream); StreamReader sr = new StreamReader(request.InputStream);
string jsonData = sr.ReadToEnd(); DeviceReportV2 newReport = JsonConvert.DeserializeObject<DeviceReportV2>(sr.ReadToEnd());
DeviceReportV2 newReport = JsonConvert.DeserializeObject<DeviceReportV2>(jsonData);
if(newReport == null) if(newReport == null)
{ {
@@ -122,20 +124,8 @@ namespace DiscImageChef.Server.Controllers
return response; return response;
} }
Random rng = new Random(); ctx.Reports.Add(new UploadedReport(newReport));
string filename = $"NewReport_{DateTime.UtcNow:yyyyMMddHHmmssfff}_{rng.Next()}.json"; ctx.SaveChanges();
while(File.Exists(Path.Combine(HostingEnvironment.MapPath("~") ?? throw new InvalidOperationException(),
"Upload", filename)))
filename = $"NewReport_{DateTime.UtcNow:yyyyMMddHHmmssfff}_{rng.Next()}.json";
FileStream newFile =
new
FileStream(Path.Combine(HostingEnvironment.MapPath("~") ?? throw new InvalidOperationException(), "Upload", filename),
FileMode.CreateNew, FileAccess.ReadWrite, FileShare.None);
StreamWriter sw = new StreamWriter(newFile);
sw.Write(jsonData);
sw.Close();
newFile.Close();
response.Content = new StringContent("ok", Encoding.UTF8, "text/plain"); response.Content = new StringContent("ok", Encoding.UTF8, "text/plain");
return response; return response;

View File

@@ -1,20 +1,22 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project Sdk="Microsoft.NET.Sdk"> <Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\Unclassified.NetRevisionTask.0.2.5\build\Unclassified.NetRevisionTask.props" Condition="Exists('..\packages\Unclassified.NetRevisionTask.0.2.5\build\Unclassified.NetRevisionTask.props')" />
<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup> <PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>
</ProductVersion>
<SchemaVersion>2.0</SchemaVersion> <SchemaVersion>2.0</SchemaVersion>
<ProjectTypeGuids>{349C5851-65DF-11DA-9384-00065B846F21};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> <ProjectGuid>{911ADDF5-E5FA-445D-88CD-C7F8FFDBE645}</ProjectGuid>
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
<OutputType>Library</OutputType> <OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>DiscImageChef.Server</RootNamespace> <RootNamespace>DiscImageChef.Server</RootNamespace>
<AssemblyName>DiscImageChef.Server</AssemblyName> <AssemblyName>DiscImageChef.Server</AssemblyName>
<ReleaseVersion>4.5.99.1693</ReleaseVersion> <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<SynchReleaseVersion>false</SynchReleaseVersion> <MvcBuildViews>false</MvcBuildViews>
<FileUpgradeFlags>
</FileUpgradeFlags>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<OldToolsVersion>4.0</OldToolsVersion>
<UseIISExpress>true</UseIISExpress> <UseIISExpress>true</UseIISExpress>
<Use64BitIISExpress /> <Use64BitIISExpress />
<IISExpressSSLPort /> <IISExpressSSLPort />
@@ -22,9 +24,11 @@
<IISExpressWindowsAuthentication /> <IISExpressWindowsAuthentication />
<IISExpressUseClassicPipelineMode /> <IISExpressUseClassicPipelineMode />
<UseGlobalApplicationHostFile /> <UseGlobalApplicationHostFile />
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
<SynchReleaseVersion>false</SynchReleaseVersion>
<ReleaseVersion>4.5.99.1693</ReleaseVersion>
<ReleaseVersion>$(Version)</ReleaseVersion> <ReleaseVersion>$(Version)</ReleaseVersion>
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
<TargetFramework>net461</TargetFramework>
<GenerateAssemblyInfo>true</GenerateAssemblyInfo> <GenerateAssemblyInfo>true</GenerateAssemblyInfo>
<Version>4.5.99.1693</Version> <Version>4.5.99.1693</Version>
<Company>Claunia.com</Company> <Company>Claunia.com</Company>
@@ -42,44 +46,164 @@
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType> <DebugType>full</DebugType>
<Optimize>false</Optimize> <Optimize>false</Optimize>
<OutputPath>bin</OutputPath> <OutputPath>bin\</OutputPath>
<DefineConstants>DEBUG;NET461</DefineConstants> <DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize> <Optimize>true</Optimize>
<OutputPath>bin</OutputPath> <OutputPath>bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<HintPath>..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<HintPath>..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.SqlServer.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Google.Protobuf, Version=3.5.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604">
<HintPath>..\packages\Google.Protobuf.3.5.1\lib\net45\Google.Protobuf.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="MySql.Data, Version=8.0.13.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d">
<HintPath>..\packages\MySql.Data.8.0.13\lib\net452\MySql.Data.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="MySql.Data.EntityFramework, Version=8.0.13.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d">
<HintPath>..\packages\MySql.Data.EntityFramework.8.0.13\lib\net452\MySql.Data.EntityFramework.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.ComponentModel" />
<Reference Include="System.Configuration.Install" />
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
<Reference Include="System.Drawing.Design" />
<Reference Include="System.Management" />
<Reference Include="System.Security" />
<Reference Include="System.Transactions" />
<Reference Include="System.Web.Entity" />
<Reference Include="System.Web.ApplicationServices" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Core" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Web" /> <Reference Include="System.Web" />
<Reference Include="System.Web.Abstractions" />
<Reference Include="System.Web.Routing" />
<Reference Include="System.Xml" /> <Reference Include="System.Xml" />
<Reference Include="System.Web.Services" /> <Reference Include="System.Configuration" />
<Reference Include="System.Net.Http" /> <Reference Include="System.Runtime.Serialization" />
<Reference Include="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json">
<HintPath>..\packages\Newtonsoft.Json.11.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http">
</Reference>
<Reference Include="System.Net.Http.Formatting, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.4\lib\net45\System.Net.Http.Formatting.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http.WebRequest">
</Reference>
<Reference Include="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.4\lib\net45\System.Web.Helpers.dll</HintPath>
</Reference>
<Reference Include="System.Web.Http, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Core.5.2.4\lib\net45\System.Web.Http.dll</HintPath>
</Reference>
<Reference Include="System.Web.Http.WebHost, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.4\lib\net45\System.Web.Http.WebHost.dll</HintPath>
</Reference>
<Reference Include="System.Web.Mvc, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\Microsoft.AspNet.Mvc.5.2.4\lib\net45\System.Web.Mvc.dll</HintPath>
</Reference>
<Reference Include="System.Web.Optimization">
<HintPath>..\packages\Microsoft.AspNet.Web.Optimization.1.1.3\lib\net40\System.Web.Optimization.dll</HintPath>
</Reference>
<Reference Include="System.Web.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\Microsoft.AspNet.Razor.3.2.4\lib\net45\System.Web.Razor.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.4\lib\net45\System.Web.WebPages.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages.Deployment, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.4\lib\net45\System.Web.WebPages.Deployment.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.4\lib\net45\System.Web.WebPages.Razor.dll</HintPath>
</Reference>
<Reference Include="Velyo.AspNet.Markdown, Version=1.0.26.6184, Culture=neutral, PublicKeyToken=null">
<HintPath>..\packages\Velyo.AspNet.Markdown.1.0.26.6184\lib\net451\Velyo.AspNet.Markdown.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="WebGrease">
<Private>True</Private>
<HintPath>..\packages\WebGrease.1.6.0\lib\WebGrease.dll</HintPath>
</Reference>
<Reference Include="Antlr3.Runtime">
<Private>True</Private>
<HintPath>..\packages\Antlr.3.5.0.2\lib\Antlr3.Runtime.dll</HintPath>
</Reference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Content Include="Global.asax" /> <Reference Include="System.Diagnostics.DiagnosticSource">
<Content Include="Web.config" /> <HintPath>..\packages\System.Diagnostics.DiagnosticSource.4.4.1\lib\net46\System.Diagnostics.DiagnosticSource.dll</HintPath>
<Content Include="Statistics.aspx" /> </Reference>
<Content Include="packages.config" /> <Reference Include="Microsoft.AspNet.TelemetryCorrelation">
<Content Include="dos.css" /> <HintPath>..\packages\Microsoft.AspNet.TelemetryCorrelation.1.0.0\lib\net45\Microsoft.AspNet.TelemetryCorrelation.dll</HintPath>
<Content Include="int10h.org\vga_squarepx.eot" /> </Reference>
<Content Include="int10h.org\vga_squarepx.ttf" /> <Reference Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform">
<Content Include="int10h.org\vga_squarepx.woff" /> <HintPath>..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0\lib\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll</HintPath>
<Content Include="ViewReport.aspx" /> </Reference>
<Content Include="Default.aspx" />
<Content Include="Changelog.aspx" />
<Content Include="TODO.aspx" />
<Content Include="DONATING.aspx" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="App_Start\Ata.cs" />
<Compile Include="App_Start\ScsiEvpd.cs" />
<Compile Include="App_Start\ScsiInquiry.cs" />
<Compile Include="App_Start\ScsiMmcFeatures.cs" />
<Compile Include="App_Start\ScsiMmcMode.cs" />
<Compile Include="App_Start\ScsiModeSense.cs" />
<Compile Include="App_Start\SscTestedMedia.cs" />
<Compile Include="App_Start\TestedMedia.cs" />
<Compile Include="App_Start\WebApiConfig.cs" />
<Compile Include="Controllers\UploadReportController.cs" />
<Compile Include="Controllers\UploadStatsController.cs" />
<Compile Include="Default.aspx.cs">
<DependentUpon>Default.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="Default.aspx.designer.cs">
<DependentUpon>Default.aspx</DependentUpon>
</Compile>
<Compile Include="Global.asax.cs"> <Compile Include="Global.asax.cs">
<DependentUpon>Global.asax</DependentUpon> <DependentUpon>Global.asax</DependentUpon>
</Compile> </Compile>
<Compile Include="App_Start\WebApiConfig.cs" /> <Compile Include="Migrations\201812201613369_InitialMigration.cs" />
<Compile Include="Migrations\201812201613369_InitialMigration.Designer.cs">
<DependentUpon>201812201613369_InitialMigration.cs</DependentUpon>
</Compile>
<Compile Include="Migrations\Configuration.cs" />
<Compile Include="Models\Context.cs" />
<Compile Include="Models\Device.cs" />
<Compile Include="Models\UploadedReport.cs" />
<Compile Include="Statistics.aspx.cs"> <Compile Include="Statistics.aspx.cs">
<DependentUpon>Statistics.aspx</DependentUpon> <DependentUpon>Statistics.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType> <SubType>ASPXCodeBehind</SubType>
@@ -94,88 +218,85 @@
<Compile Include="ViewReport.aspx.designer.cs"> <Compile Include="ViewReport.aspx.designer.cs">
<DependentUpon>ViewReport.aspx</DependentUpon> <DependentUpon>ViewReport.aspx</DependentUpon>
</Compile> </Compile>
<Compile Include="App_Start\ScsiInquiry.cs" /> </ItemGroup>
<Compile Include="App_Start\Ata.cs" /> <ItemGroup>
<Compile Include="App_Start\ScsiModeSense.cs" /> <Content Include="Changelog.aspx" />
<Compile Include="App_Start\ScsiEvpd.cs" /> <Content Include="Default.aspx" />
<Compile Include="App_Start\ScsiMmcMode.cs" /> <Content Include="DONATING.aspx" />
<Compile Include="App_Start\ScsiMmcFeatures.cs" /> <Content Include="dos.css" />
<Compile Include="App_Start\SscTestedMedia.cs" /> <Content Include="Global.asax" />
<Compile Include="App_Start\TestedMedia.cs" /> <Content Include="int10h.org\vga_squarepx.eot" />
<Compile Include="Controllers\UploadStatsController.cs" /> <Content Include="int10h.org\vga_squarepx.ttf" />
<Compile Include="Controllers\UploadReportController.cs" /> <Content Include="int10h.org\vga_squarepx.woff" />
<Compile Include="Default.aspx.cs"> <Content Include="Statistics.aspx" />
<DependentUpon>Default.aspx</DependentUpon> <Content Include="TODO.aspx" />
</Compile> <Content Include="ViewReport.aspx" />
<Compile Include="Default.aspx.designer.cs"> <Content Include="Web.config" />
<DependentUpon>Default.aspx</DependentUpon> <Content Include="Web.Debug.config">
</Compile> <DependentUpon>Web.config</DependentUpon>
</Content>
<Content Include="Web.Release.config">
<DependentUpon>Web.config</DependentUpon>
</Content>
<None Include="..\Changelog.md">
<Link>docs/Changelog.md</Link>
</None>
<None Include="..\DONATING.md">
<Link>docs/DONATING.md</Link>
</None>
<None Include="..\README.md">
<Link>docs/README.md</Link>
</None>
<None Include="..\TODO.md">
<Link>docs/TODO.md</Link>
</None>
<None Include="App.config" />
<None Include="docs\README.md" />
<None Include="int10h.org\.htaccess" />
<None Include="int10h.org\vga_squarepx.woff2" />
<None Include="Reports\.htaccess" />
<None Include="Statistics\.htaccess" />
<None Include="Statistics\Statistics.xml" />
<None Include="Upload\.htaccess" />
<None Include="usb.ids" />
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\DiscImageChef.CommonTypes\DiscImageChef.CommonTypes.csproj"> <ProjectReference Include="..\DiscImageChef.CommonTypes\DiscImageChef.CommonTypes.csproj">
<Project>{f2b84194-26eb-4227-b1c5-6602517e85ae}</Project>
<Name>DiscImageChef.CommonTypes</Name>
</ProjectReference> </ProjectReference>
<ProjectReference Include="..\DiscImageChef.Decoders\DiscImageChef.Decoders.csproj"> <ProjectReference Include="..\DiscImageChef.Decoders\DiscImageChef.Decoders.csproj">
<Project>{0beb3088-b634-4289-ae17-cdf2d25d00d5}</Project>
<Name>DiscImageChef.Decoders</Name>
</ProjectReference> </ProjectReference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.AspNet.WebApi" Version="5.2.4" /> <EmbeddedResource Include="Migrations\201812201613369_InitialMigration.resx">
<PackageReference Include="Microsoft.AspNet.WebApi.WebHost" Version="5.2.4" /> <DependentUpon>201812201613369_InitialMigration.cs</DependentUpon>
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" /> </EmbeddedResource>
<PackageReference Include="Unclassified.NetRevisionTask" Version="0.2.2-beta" />
<PackageReference Include="Velyo.AspNet.Markdown" Version="1.0.26.6184" />
</ItemGroup>
<ItemGroup>
<None Include="int10h.org\vga_squarepx.woff2" />
<None Include="usb.ids" />
<None Include="Statistics\Statistics.xml" />
<None Include="Upload\.htaccess" />
<None Include="Statistics\.htaccess" />
<None Include="Reports\.htaccess" />
<None Include="int10h.org\.htaccess" />
<None Include="..\README.md">
<Link>docs\README.md</Link>
</None>
<None Include="..\Changelog.md">
<Link>docs\Changelog.md</Link>
</None>
<None Include="..\DONATING.md">
<Link>docs\DONATING.md</Link>
</None>
<None Include="..\TODO.md">
<Link>docs\TODO.md</Link>
</None>
</ItemGroup>
<ItemGroup>
<Folder Include="docs\" />
</ItemGroup> </ItemGroup>
<PropertyGroup> <PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion> <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath> <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup> </PropertyGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
<Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" />
</Target>
<ProjectExtensions> <ProjectExtensions>
<MonoDevelop>
<Properties>
<XspParameters Port="8080" Address="127.0.0.1" SslMode="None" SslProtocol="Default" KeyType="None" CertFile="" KeyFile="" PasswordOptions="None" Password="" Verbose="True" />
<Policies>
<DotNetNamingPolicy DirectoryNamespaceAssociation="PrefixedHierarchical" ResourceNamePolicy="MSBuild" />
<TextStylePolicy FileWidth="120" TabWidth="4" IndentWidth="4" RemoveTrailingWhitespace="True" NoTabsAfterNonTabs="False" EolMarker="Native" TabsToSpaces="True" scope="text/x-csharp" />
<CSharpFormattingPolicy IndentBlock="True" IndentBraces="False" IndentSwitchSection="True" IndentSwitchCaseSection="True" LabelPositioning="OneLess" NewLinesForBracesInTypes="True" NewLinesForBracesInMethods="True" NewLinesForBracesInProperties="True" NewLinesForBracesInAccessors="True" NewLinesForBracesInAnonymousMethods="True" NewLinesForBracesInControlBlocks="True" NewLinesForBracesInAnonymousTypes="True" NewLinesForBracesInObjectCollectionArrayInitializers="True" NewLinesForBracesInLambdaExpressionBody="True" NewLineForElse="True" NewLineForCatch="True" NewLineForFinally="True" SpacingAfterMethodDeclarationName="False" SpaceWithinMethodDeclarationParenthesis="False" SpaceBetweenEmptyMethodDeclarationParentheses="False" SpaceAfterMethodCallName="False" SpaceWithinMethodCallParentheses="False" SpaceBetweenEmptyMethodCallParentheses="False" SpaceWithinExpressionParentheses="False" SpaceWithinCastParentheses="False" SpaceWithinOtherParentheses="False" SpaceAfterCast="False" SpacesIgnoreAroundVariableDeclaration="False" SpaceBeforeOpenSquareBracket="False" SpaceBetweenEmptySquareBrackets="False" SpaceWithinSquareBrackets="False" SpaceAfterColonInBaseTypeDeclaration="True" SpaceAfterComma="True" SpaceAfterDot="False" SpaceAfterSemicolonsInForStatement="True" SpaceBeforeColonInBaseTypeDeclaration="True" SpaceBeforeComma="False" SpaceBeforeDot="False" SpaceBeforeSemicolonsInForStatement="False" SpacingAroundBinaryOperator="Single" WrappingPreserveSingleLine="True" WrappingKeepStatementsOnSingleLine="True" PlaceSystemDirectiveFirst="True" NewLineForMembersInObjectInit="False" NewLineForMembersInAnonymousTypes="False" NewLineForClausesInQuery="False" SpaceAfterControlFlowStatementKeyword="False" scope="text/x-csharp" />
<ChangeLogPolicy VcsIntegration="Enabled" UpdateMode="ProjectRoot">
<MessageStyle Header="${Date:yyyy-MM-dd} ${AuthorName} &lt;${AuthorEmail}&gt;&#xA;&#xA;" Indent=" " FirstFilePrefix="* " FileSeparator=":&#xA;* " LastFilePostfix=": " LineAlign="0" InterMessageLines="1" IncludeDirectoryPaths="False" Wrap="True" />
<inheritsSet />
<inheritsScope />
</ChangeLogPolicy>
</Policies>
</Properties>
</MonoDevelop>
<VisualStudio> <VisualStudio>
<FlavorProperties GUID="{349C5851-65DF-11DA-9384-00065B846F21}"> <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
<WebProjectProperties> <WebProjectProperties>
<UseIIS>True</UseIIS> <UseIIS>True</UseIIS>
<AutoAssignPort>True</AutoAssignPort> <AutoAssignPort>True</AutoAssignPort>
<DevelopmentServerPort>0</DevelopmentServerPort> <DevelopmentServerPort>22810</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath> <DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl>http://localhost:64415/</IISUrl> <IISUrl>http://localhost:22810/</IISUrl>
<NTLMAuthentication>False</NTLMAuthentication> <NTLMAuthentication>False</NTLMAuthentication>
<UseCustomServer>False</UseCustomServer> <UseCustomServer>False</UseCustomServer>
<CustomServerUrl> <CustomServerUrl>
@@ -185,6 +306,19 @@
</FlavorProperties> </FlavorProperties>
</VisualStudio> </VisualStudio>
</ProjectExtensions> </ProjectExtensions>
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" /> <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" /> <PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
<Error Condition="!Exists('..\packages\Unclassified.NetRevisionTask.0.2.5\build\Unclassified.NetRevisionTask.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Unclassified.NetRevisionTask.0.2.5\build\Unclassified.NetRevisionTask.props'))" />
<Error Condition="!Exists('..\packages\Unclassified.NetRevisionTask.0.2.5\build\Unclassified.NetRevisionTask.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Unclassified.NetRevisionTask.0.2.5\build\Unclassified.NetRevisionTask.targets'))" />
</Target>
<Import Project="..\packages\Unclassified.NetRevisionTask.0.2.5\build\Unclassified.NetRevisionTask.targets" Condition="Exists('..\packages\Unclassified.NetRevisionTask.0.2.5\build\Unclassified.NetRevisionTask.targets')" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target> -->
</Project> </Project>

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 InitialMigration : IMigrationMetadata
{
private readonly ResourceManager Resources = new ResourceManager(typeof(InitialMigration));
string IMigrationMetadata.Id
{
get { return "201812201613369_InitialMigration"; }
}
string IMigrationMetadata.Source
{
get { return null; }
}
string IMigrationMetadata.Target
{
get { return Resources.GetString("Target"); }
}
}
}

View File

@@ -0,0 +1,584 @@
using System.Data.Entity.Migrations;
namespace DiscImageChef.Server.Migrations
{
public partial class InitialMigration : DbMigration
{
public override void Up()
{
CreateTable("dbo.Devices",
c => new
{
Id = c.Int(false, true),
AddedWhen = c.DateTime(false, 0),
CompactFlash = c.Boolean(false),
Manufacturer = c.String(unicode: false),
Model = c.String(unicode: false),
Revision = c.String(unicode: false),
Type = c.Int(false),
ATA_Id = c.Int(),
ATAPI_Id = c.Int(),
FireWire_Id = c.Int(),
MultiMediaCard_Id = c.Int(),
PCMCIA_Id = c.Int(),
SCSI_Id = c.Int(),
SecureDigital_Id = c.Int(),
USB_Id = c.Int()
}).PrimaryKey(t => t.Id).ForeignKey("dbo.Atas", t => t.ATA_Id)
.ForeignKey("dbo.Atas", t => t.ATAPI_Id).ForeignKey("dbo.FireWires", t => t.FireWire_Id)
.ForeignKey("dbo.MmcSds", t => t.MultiMediaCard_Id)
.ForeignKey("dbo.Pcmcias", t => t.PCMCIA_Id).ForeignKey("dbo.Scsis", t => t.SCSI_Id)
.ForeignKey("dbo.MmcSds", t => t.SecureDigital_Id).ForeignKey("dbo.Usbs", t => t.USB_Id)
.Index(t => t.ATA_Id).Index(t => t.ATAPI_Id).Index(t => t.FireWire_Id)
.Index(t => t.MultiMediaCard_Id).Index(t => t.PCMCIA_Id).Index(t => t.SCSI_Id)
.Index(t => t.SecureDigital_Id).Index(t => t.USB_Id);
CreateTable("dbo.Atas",
c => new {Id = c.Int(false, true), Identify = c.Binary(), ReadCapabilities_Id = c.Int()})
.PrimaryKey(t => t.Id).ForeignKey("dbo.TestedMedias", t => t.ReadCapabilities_Id)
.Index(t => t.ReadCapabilities_Id);
CreateTable("dbo.TestedMedias",
c => new
{
Id = c.Int(false, true),
IdentifyData = c.Binary(),
CanReadAACS = c.Boolean(),
CanReadADIP = c.Boolean(),
CanReadATIP = c.Boolean(),
CanReadBCA = c.Boolean(),
CanReadC2Pointers = c.Boolean(),
CanReadCMI = c.Boolean(),
CanReadCorrectedSubchannel = c.Boolean(),
CanReadCorrectedSubchannelWithC2 = c.Boolean(),
CanReadDCB = c.Boolean(),
CanReadDDS = c.Boolean(),
CanReadDMI = c.Boolean(),
CanReadDiscInformation = c.Boolean(),
CanReadFullTOC = c.Boolean(),
CanReadHDCMI = c.Boolean(),
CanReadLayerCapacity = c.Boolean(),
CanReadFirstTrackPreGap = c.Boolean(),
CanReadLeadIn = c.Boolean(),
CanReadLeadOut = c.Boolean(),
CanReadMediaID = c.Boolean(),
CanReadMediaSerial = c.Boolean(),
CanReadPAC = c.Boolean(),
CanReadPFI = c.Boolean(),
CanReadPMA = c.Boolean(),
CanReadPQSubchannel = c.Boolean(),
CanReadPQSubchannelWithC2 = c.Boolean(),
CanReadPRI = c.Boolean(),
CanReadRWSubchannel = c.Boolean(),
CanReadRWSubchannelWithC2 = c.Boolean(),
CanReadRecordablePFI = c.Boolean(),
CanReadSpareAreaInformation = c.Boolean(),
CanReadTOC = c.Boolean(),
Density = c.Byte(),
Manufacturer = c.String(unicode: false),
MediaIsRecognized = c.Boolean(false),
MediumType = c.Byte(),
MediumTypeName = c.String(unicode: false),
Model = c.String(unicode: false),
SupportsHLDTSTReadRawDVD = c.Boolean(),
SupportsNECReadCDDA = c.Boolean(),
SupportsPioneerReadCDDA = c.Boolean(),
SupportsPioneerReadCDDAMSF = c.Boolean(),
SupportsPlextorReadCDDA = c.Boolean(),
SupportsPlextorReadRawDVD = c.Boolean(),
SupportsRead10 = c.Boolean(),
SupportsRead12 = c.Boolean(),
SupportsRead16 = c.Boolean(),
SupportsRead6 = c.Boolean(),
SupportsReadCapacity16 = c.Boolean(),
SupportsReadCapacity = c.Boolean(),
SupportsReadCd = c.Boolean(),
SupportsReadCdMsf = c.Boolean(),
SupportsReadCdRaw = c.Boolean(),
SupportsReadCdMsfRaw = c.Boolean(),
SupportsReadLong16 = c.Boolean(),
SupportsReadLong = c.Boolean(),
ModeSense6Data = c.Binary(),
ModeSense10Data = c.Binary(),
SolidStateDevice = c.Boolean(),
SupportsReadDmaLba = c.Boolean(),
SupportsReadDmaRetryLba = c.Boolean(),
SupportsReadLba = c.Boolean(),
SupportsReadRetryLba = c.Boolean(),
SupportsReadLongLba = c.Boolean(),
SupportsReadLongRetryLba = c.Boolean(),
SupportsSeekLba = c.Boolean(),
SupportsReadDmaLba48 = c.Boolean(),
SupportsReadLba48 = c.Boolean(),
SupportsReadDma = c.Boolean(),
SupportsReadDmaRetry = c.Boolean(),
SupportsReadRetry = c.Boolean(),
SupportsReadSectors = c.Boolean(),
SupportsReadLongRetry = c.Boolean(),
SupportsSeek = c.Boolean(),
CHS_Id = c.Int(),
CurrentCHS_Id = c.Int(),
Ata_Id = c.Int(),
Mmc_Id = c.Int(),
Scsi_Id = c.Int()
}).PrimaryKey(t => t.Id).ForeignKey("dbo.Chs", t => t.CHS_Id)
.ForeignKey("dbo.Chs", t => t.CurrentCHS_Id).ForeignKey("dbo.Atas", t => t.Ata_Id)
.ForeignKey("dbo.Mmcs", t => t.Mmc_Id).ForeignKey("dbo.Scsis", t => t.Scsi_Id)
.Index(t => t.CHS_Id).Index(t => t.CurrentCHS_Id).Index(t => t.Ata_Id)
.Index(t => t.Mmc_Id).Index(t => t.Scsi_Id);
CreateTable("dbo.Chs", c => new {Id = c.Int(false, true)}).PrimaryKey(t => t.Id);
CreateTable("dbo.FireWires",
c => new
{
Id = c.Int(false, true),
Manufacturer = c.String(unicode: false),
Product = c.String(unicode: false),
RemovableMedia = c.Boolean(false)
}).PrimaryKey(t => t.Id);
CreateTable("dbo.MmcSds",
c => new
{
Id = c.Int(false, true),
CID = c.Binary(),
CSD = c.Binary(),
OCR = c.Binary(),
SCR = c.Binary(),
ExtendedCSD = c.Binary()
}).PrimaryKey(t => t.Id);
CreateTable("dbo.Pcmcias",
c => new
{
Id = c.Int(false, true),
CIS = c.Binary(),
Compliance = c.String(unicode: false),
Manufacturer = c.String(unicode: false),
ProductName = c.String(unicode: false)
}).PrimaryKey(t => t.Id);
CreateTable("dbo.Scsis",
c => new
{
Id = c.Int(false, true),
InquiryData = c.Binary(),
SupportsModeSense6 = c.Boolean(false),
SupportsModeSense10 = c.Boolean(false),
SupportsModeSubpages = c.Boolean(false),
ModeSense6Data = c.Binary(),
ModeSense10Data = c.Binary(),
ModeSense_Id = c.Int(),
MultiMediaDevice_Id = c.Int(),
ReadCapabilities_Id = c.Int(),
SequentialDevice_Id = c.Int()
}).PrimaryKey(t => t.Id).ForeignKey("dbo.ScsiModes", t => t.ModeSense_Id)
.ForeignKey("dbo.Mmcs", t => t.MultiMediaDevice_Id)
.ForeignKey("dbo.TestedMedias", t => t.ReadCapabilities_Id)
.ForeignKey("dbo.Sscs", t => t.SequentialDevice_Id).Index(t => t.ModeSense_Id)
.Index(t => t.MultiMediaDevice_Id).Index(t => t.ReadCapabilities_Id)
.Index(t => t.SequentialDevice_Id);
CreateTable("dbo.ScsiPages",
c => new
{
Id = c.Int(false, true),
page = c.Byte(false),
subpage = c.Byte(),
value = c.Binary(),
Scsi_Id = c.Int(),
ScsiMode_Id = c.Int()
}).PrimaryKey(t => t.Id).ForeignKey("dbo.Scsis", t => t.Scsi_Id)
.ForeignKey("dbo.ScsiModes", t => t.ScsiMode_Id).Index(t => t.Scsi_Id)
.Index(t => t.ScsiMode_Id);
CreateTable("dbo.ScsiModes",
c => new
{
Id = c.Int(false, true),
MediumType = c.Byte(),
WriteProtected = c.Boolean(false),
Speed = c.Byte(),
BufferedMode = c.Byte(),
BlankCheckEnabled = c.Boolean(false),
DPOandFUA = c.Boolean(false)
}).PrimaryKey(t => t.Id);
CreateTable("dbo.BlockDescriptors",
c => new {Id = c.Int(false, true), Density = c.Byte(false), ScsiMode_Id = c.Int()})
.PrimaryKey(t => t.Id).ForeignKey("dbo.ScsiModes", t => t.ScsiMode_Id).Index(t => t.ScsiMode_Id);
CreateTable("dbo.Mmcs", c => new {Id = c.Int(false, true), Features_Id = c.Int(), ModeSense2A_Id = c.Int()})
.PrimaryKey(t => t.Id).ForeignKey("dbo.MmcFeatures", t => t.Features_Id)
.ForeignKey("dbo.ModePage_2A", t => t.ModeSense2A_Id).Index(t => t.Features_Id)
.Index(t => t.ModeSense2A_Id);
CreateTable("dbo.MmcFeatures",
c => new
{
Id = c.Int(false, true),
AACSVersion = c.Byte(),
AGIDs = c.Byte(),
BindingNonceBlocks = c.Byte(),
BufferUnderrunFreeInDVD = c.Boolean(false),
BufferUnderrunFreeInSAO = c.Boolean(false),
BufferUnderrunFreeInTAO = c.Boolean(false),
CanAudioScan = c.Boolean(false),
CanEject = c.Boolean(false),
CanEraseSector = c.Boolean(false),
CanExpandBDRESpareArea = c.Boolean(false),
CanFormat = c.Boolean(false),
CanFormatBDREWithoutSpare = c.Boolean(false),
CanFormatCert = c.Boolean(false),
CanFormatFRF = c.Boolean(false),
CanFormatQCert = c.Boolean(false),
CanFormatRRM = c.Boolean(false),
CanGenerateBindingNonce = c.Boolean(false),
CanLoad = c.Boolean(false),
CanMuteSeparateChannels = c.Boolean(false),
CanOverwriteSAOTrack = c.Boolean(false),
CanOverwriteTAOTrack = c.Boolean(false),
CanPlayCDAudio = c.Boolean(false),
CanPseudoOverwriteBDR = c.Boolean(false),
CanReadAllDualR = c.Boolean(false),
CanReadAllDualRW = c.Boolean(false),
CanReadBD = c.Boolean(false),
CanReadBDR = c.Boolean(false),
CanReadBDRE1 = c.Boolean(false),
CanReadBDRE2 = c.Boolean(false),
CanReadBDROM = c.Boolean(false),
CanReadBluBCA = c.Boolean(false),
CanReadCD = c.Boolean(false),
CanReadCDMRW = c.Boolean(false),
CanReadCPRM_MKB = c.Boolean(false),
CanReadDDCD = c.Boolean(false),
CanReadDVD = c.Boolean(false),
CanReadDVDPlusMRW = c.Boolean(false),
CanReadDVDPlusR = c.Boolean(false),
CanReadDVDPlusRDL = c.Boolean(false),
CanReadDVDPlusRW = c.Boolean(false),
CanReadDVDPlusRWDL = c.Boolean(false),
CanReadDriveAACSCertificate = c.Boolean(false),
CanReadHDDVD = c.Boolean(false),
CanReadHDDVDR = c.Boolean(false),
CanReadHDDVDRAM = c.Boolean(false),
CanReadLeadInCDText = c.Boolean(false),
CanReadOldBDR = c.Boolean(false),
CanReadOldBDRE = c.Boolean(false),
CanReadOldBDROM = c.Boolean(false),
CanReadSpareAreaInformation = c.Boolean(false),
CanReportDriveSerial = c.Boolean(false),
CanReportMediaSerial = c.Boolean(false),
CanTestWriteDDCDR = c.Boolean(false),
CanTestWriteDVD = c.Boolean(false),
CanTestWriteInSAO = c.Boolean(false),
CanTestWriteInTAO = c.Boolean(false),
CanUpgradeFirmware = c.Boolean(false),
CanWriteBD = c.Boolean(false),
CanWriteBDR = c.Boolean(false),
CanWriteBDRE1 = c.Boolean(false),
CanWriteBDRE2 = c.Boolean(false),
CanWriteBusEncryptedBlocks = c.Boolean(false),
CanWriteCDMRW = c.Boolean(false),
CanWriteCDRW = c.Boolean(false),
CanWriteCDRWCAV = c.Boolean(false),
CanWriteCDSAO = c.Boolean(false),
CanWriteCDTAO = c.Boolean(false),
CanWriteCSSManagedDVD = c.Boolean(false),
CanWriteDDCDR = c.Boolean(false),
CanWriteDDCDRW = c.Boolean(false),
CanWriteDVDPlusMRW = c.Boolean(false),
CanWriteDVDPlusR = c.Boolean(false),
CanWriteDVDPlusRDL = c.Boolean(false),
CanWriteDVDPlusRW = c.Boolean(false),
CanWriteDVDPlusRWDL = c.Boolean(false),
CanWriteDVDR = c.Boolean(false),
CanWriteDVDRDL = c.Boolean(false),
CanWriteDVDRW = c.Boolean(false),
CanWriteHDDVDR = c.Boolean(false),
CanWriteHDDVDRAM = c.Boolean(false),
CanWriteOldBDR = c.Boolean(false),
CanWriteOldBDRE = c.Boolean(false),
CanWritePackedSubchannelInTAO = c.Boolean(false),
CanWriteRWSubchannelInSAO = c.Boolean(false),
CanWriteRWSubchannelInTAO = c.Boolean(false),
CanWriteRaw = c.Boolean(false),
CanWriteRawMultiSession = c.Boolean(false),
CanWriteRawSubchannelInTAO = c.Boolean(false),
ChangerIsSideChangeCapable = c.Boolean(false),
ChangerSlots = c.Byte(false),
ChangerSupportsDiscPresent = c.Boolean(false),
CPRMVersion = c.Byte(),
CSSVersion = c.Byte(),
DBML = c.Boolean(false),
DVDMultiRead = c.Boolean(false),
EmbeddedChanger = c.Boolean(false),
ErrorRecoveryPage = c.Boolean(false),
FirmwareDate = c.DateTime(precision: 0),
LoadingMechanismType = c.Byte(),
Locked = c.Boolean(false),
MultiRead = c.Boolean(false),
PreventJumper = c.Boolean(false),
SupportsAACS = c.Boolean(false),
SupportsBusEncryption = c.Boolean(false),
SupportsC2 = c.Boolean(false),
SupportsCPRM = c.Boolean(false),
SupportsCSS = c.Boolean(false),
SupportsDAP = c.Boolean(false),
SupportsDeviceBusyEvent = c.Boolean(false),
SupportsHybridDiscs = c.Boolean(false),
SupportsModePage1Ch = c.Boolean(false),
SupportsOSSC = c.Boolean(false),
SupportsPWP = c.Boolean(false),
SupportsSWPP = c.Boolean(false),
SupportsSecurDisc = c.Boolean(false),
SupportsSeparateVolume = c.Boolean(false),
SupportsVCPS = c.Boolean(false),
SupportsWriteInhibitDCB = c.Boolean(false),
SupportsWriteProtectPAC = c.Boolean(false)
}).PrimaryKey(t => t.Id);
CreateTable("dbo.ModePage_2A",
c => new
{
Id = c.Int(false, true),
PS = c.Boolean(false),
MultiSession = c.Boolean(false),
Mode2Form2 = c.Boolean(false),
Mode2Form1 = c.Boolean(false),
AudioPlay = c.Boolean(false),
ISRC = c.Boolean(false),
UPC = c.Boolean(false),
C2Pointer = c.Boolean(false),
DeinterlaveSubchannel = c.Boolean(false),
Subchannel = c.Boolean(false),
AccurateCDDA = c.Boolean(false),
CDDACommand = c.Boolean(false),
LoadingMechanism = c.Byte(false),
Eject = c.Boolean(false),
PreventJumper = c.Boolean(false),
LockState = c.Boolean(false),
Lock = c.Boolean(false),
SeparateChannelMute = c.Boolean(false),
SeparateChannelVolume = c.Boolean(false),
Method2 = c.Boolean(false),
ReadCDRW = c.Boolean(false),
ReadCDR = c.Boolean(false),
WriteCDRW = c.Boolean(false),
WriteCDR = c.Boolean(false),
DigitalPort2 = c.Boolean(false),
DigitalPort1 = c.Boolean(false),
Composite = c.Boolean(false),
SSS = c.Boolean(false),
SDP = c.Boolean(false),
Length = c.Byte(false),
LSBF = c.Boolean(false),
RCK = c.Boolean(false),
BCK = c.Boolean(false),
TestWrite = c.Boolean(false),
ReadBarcode = c.Boolean(false),
ReadDVDRAM = c.Boolean(false),
ReadDVDR = c.Boolean(false),
ReadDVDROM = c.Boolean(false),
WriteDVDRAM = c.Boolean(false),
WriteDVDR = c.Boolean(false),
LeadInPW = c.Boolean(false),
SCC = c.Boolean(false),
BUF = c.Boolean(false),
RotationControlSelected = c.Byte(false)
}).PrimaryKey(t => t.Id);
CreateTable("dbo.Sscs", c => new {Id = c.Int(false, true), BlockSizeGranularity = c.Byte()})
.PrimaryKey(t => t.Id);
CreateTable("dbo.SupportedDensities",
c => new
{
Id = c.Int(false, true),
PrimaryCode = c.Byte(false),
SecondaryCode = c.Byte(false),
Writable = c.Boolean(false),
Duplicate = c.Boolean(false),
DefaultDensity = c.Boolean(false),
Organization = c.String(unicode: false),
Name = c.String(unicode: false),
Description = c.String(unicode: false),
Ssc_Id = c.Int(),
TestedSequentialMedia_Id = c.Int()
}).PrimaryKey(t => t.Id).ForeignKey("dbo.Sscs", t => t.Ssc_Id)
.ForeignKey("dbo.TestedSequentialMedias", t => t.TestedSequentialMedia_Id)
.Index(t => t.Ssc_Id).Index(t => t.TestedSequentialMedia_Id);
CreateTable("dbo.SscSupportedMedias",
c => new
{
Id = c.Int(false, true),
MediumType = c.Byte(false),
Organization = c.String(unicode: false),
Name = c.String(unicode: false),
Description = c.String(unicode: false),
Ssc_Id = c.Int(),
TestedSequentialMedia_Id = c.Int()
}).PrimaryKey(t => t.Id).ForeignKey("dbo.Sscs", t => t.Ssc_Id)
.ForeignKey("dbo.TestedSequentialMedias", t => t.TestedSequentialMedia_Id)
.Index(t => t.Ssc_Id).Index(t => t.TestedSequentialMedia_Id);
CreateTable("dbo.DensityCodes", c => new {Code = c.Int(false, true), SscSupportedMedia_Id = c.Int()})
.PrimaryKey(t => t.Code).ForeignKey("dbo.SscSupportedMedias", t => t.SscSupportedMedia_Id)
.Index(t => t.SscSupportedMedia_Id);
CreateTable("dbo.TestedSequentialMedias",
c => new
{
Id = c.Int(false, true),
CanReadMediaSerial = c.Boolean(),
Density = c.Byte(),
Manufacturer = c.String(unicode: false),
MediaIsRecognized = c.Boolean(false),
MediumType = c.Byte(),
MediumTypeName = c.String(unicode: false),
Model = c.String(unicode: false),
ModeSense6Data = c.Binary(),
ModeSense10Data = c.Binary(),
Ssc_Id = c.Int()
}).PrimaryKey(t => t.Id).ForeignKey("dbo.Sscs", t => t.Ssc_Id).Index(t => t.Ssc_Id);
CreateTable("dbo.Usbs",
c => new
{
Id = c.Int(false, true),
Manufacturer = c.String(unicode: false),
Product = c.String(unicode: false),
RemovableMedia = c.Boolean(false),
Descriptors = c.Binary()
}).PrimaryKey(t => t.Id);
CreateTable("dbo.UploadedReports",
c => new
{
Id = c.Int(false, true),
UploadedWhen = c.DateTime(false, 0),
CompactFlash = c.Boolean(false),
Manufacturer = c.String(unicode: false),
Model = c.String(unicode: false),
Revision = c.String(unicode: false),
Type = c.Int(false),
ATA_Id = c.Int(),
ATAPI_Id = c.Int(),
FireWire_Id = c.Int(),
MultiMediaCard_Id = c.Int(),
PCMCIA_Id = c.Int(),
SCSI_Id = c.Int(),
SecureDigital_Id = c.Int(),
USB_Id = c.Int()
}).PrimaryKey(t => t.Id).ForeignKey("dbo.Atas", t => t.ATA_Id)
.ForeignKey("dbo.Atas", t => t.ATAPI_Id).ForeignKey("dbo.FireWires", t => t.FireWire_Id)
.ForeignKey("dbo.MmcSds", t => t.MultiMediaCard_Id)
.ForeignKey("dbo.Pcmcias", t => t.PCMCIA_Id).ForeignKey("dbo.Scsis", t => t.SCSI_Id)
.ForeignKey("dbo.MmcSds", t => t.SecureDigital_Id).ForeignKey("dbo.Usbs", t => t.USB_Id)
.Index(t => t.ATA_Id).Index(t => t.ATAPI_Id).Index(t => t.FireWire_Id)
.Index(t => t.MultiMediaCard_Id).Index(t => t.PCMCIA_Id).Index(t => t.SCSI_Id)
.Index(t => t.SecureDigital_Id).Index(t => t.USB_Id);
}
public override void Down()
{
DropForeignKey("dbo.UploadedReports", "USB_Id", "dbo.Usbs");
DropForeignKey("dbo.UploadedReports", "SecureDigital_Id", "dbo.MmcSds");
DropForeignKey("dbo.UploadedReports", "SCSI_Id", "dbo.Scsis");
DropForeignKey("dbo.UploadedReports", "PCMCIA_Id", "dbo.Pcmcias");
DropForeignKey("dbo.UploadedReports", "MultiMediaCard_Id", "dbo.MmcSds");
DropForeignKey("dbo.UploadedReports", "FireWire_Id", "dbo.FireWires");
DropForeignKey("dbo.UploadedReports", "ATAPI_Id", "dbo.Atas");
DropForeignKey("dbo.UploadedReports", "ATA_Id", "dbo.Atas");
DropForeignKey("dbo.Devices", "USB_Id", "dbo.Usbs");
DropForeignKey("dbo.Devices", "SecureDigital_Id", "dbo.MmcSds");
DropForeignKey("dbo.Devices", "SCSI_Id", "dbo.Scsis");
DropForeignKey("dbo.Scsis", "SequentialDevice_Id", "dbo.Sscs");
DropForeignKey("dbo.TestedSequentialMedias", "Ssc_Id", "dbo.Sscs");
DropForeignKey("dbo.SscSupportedMedias", "TestedSequentialMedia_Id", "dbo.TestedSequentialMedias");
DropForeignKey("dbo.SupportedDensities", "TestedSequentialMedia_Id", "dbo.TestedSequentialMedias");
DropForeignKey("dbo.SscSupportedMedias", "Ssc_Id", "dbo.Sscs");
DropForeignKey("dbo.DensityCodes", "SscSupportedMedia_Id", "dbo.SscSupportedMedias");
DropForeignKey("dbo.SupportedDensities", "Ssc_Id", "dbo.Sscs");
DropForeignKey("dbo.TestedMedias", "Scsi_Id", "dbo.Scsis");
DropForeignKey("dbo.Scsis", "ReadCapabilities_Id", "dbo.TestedMedias");
DropForeignKey("dbo.Scsis", "MultiMediaDevice_Id", "dbo.Mmcs");
DropForeignKey("dbo.TestedMedias", "Mmc_Id", "dbo.Mmcs");
DropForeignKey("dbo.Mmcs", "ModeSense2A_Id", "dbo.ModePage_2A");
DropForeignKey("dbo.Mmcs", "Features_Id", "dbo.MmcFeatures");
DropForeignKey("dbo.Scsis", "ModeSense_Id", "dbo.ScsiModes");
DropForeignKey("dbo.ScsiPages", "ScsiMode_Id", "dbo.ScsiModes");
DropForeignKey("dbo.BlockDescriptors", "ScsiMode_Id", "dbo.ScsiModes");
DropForeignKey("dbo.ScsiPages", "Scsi_Id", "dbo.Scsis");
DropForeignKey("dbo.Devices", "PCMCIA_Id", "dbo.Pcmcias");
DropForeignKey("dbo.Devices", "MultiMediaCard_Id", "dbo.MmcSds");
DropForeignKey("dbo.Devices", "FireWire_Id", "dbo.FireWires");
DropForeignKey("dbo.Devices", "ATAPI_Id", "dbo.Atas");
DropForeignKey("dbo.Devices", "ATA_Id", "dbo.Atas");
DropForeignKey("dbo.TestedMedias", "Ata_Id", "dbo.Atas");
DropForeignKey("dbo.Atas", "ReadCapabilities_Id", "dbo.TestedMedias");
DropForeignKey("dbo.TestedMedias", "CurrentCHS_Id", "dbo.Chs");
DropForeignKey("dbo.TestedMedias", "CHS_Id", "dbo.Chs");
DropIndex("dbo.UploadedReports", new[] {"USB_Id"});
DropIndex("dbo.UploadedReports", new[] {"SecureDigital_Id"});
DropIndex("dbo.UploadedReports", new[] {"SCSI_Id"});
DropIndex("dbo.UploadedReports", new[] {"PCMCIA_Id"});
DropIndex("dbo.UploadedReports", new[] {"MultiMediaCard_Id"});
DropIndex("dbo.UploadedReports", new[] {"FireWire_Id"});
DropIndex("dbo.UploadedReports", new[] {"ATAPI_Id"});
DropIndex("dbo.UploadedReports", new[] {"ATA_Id"});
DropIndex("dbo.TestedSequentialMedias", new[] {"Ssc_Id"});
DropIndex("dbo.DensityCodes", new[] {"SscSupportedMedia_Id"});
DropIndex("dbo.SscSupportedMedias", new[] {"TestedSequentialMedia_Id"});
DropIndex("dbo.SscSupportedMedias", new[] {"Ssc_Id"});
DropIndex("dbo.SupportedDensities", new[] {"TestedSequentialMedia_Id"});
DropIndex("dbo.SupportedDensities", new[] {"Ssc_Id"});
DropIndex("dbo.Mmcs", new[] {"ModeSense2A_Id"});
DropIndex("dbo.Mmcs", new[] {"Features_Id"});
DropIndex("dbo.BlockDescriptors", new[] {"ScsiMode_Id"});
DropIndex("dbo.ScsiPages", new[] {"ScsiMode_Id"});
DropIndex("dbo.ScsiPages", new[] {"Scsi_Id"});
DropIndex("dbo.Scsis", new[] {"SequentialDevice_Id"});
DropIndex("dbo.Scsis", new[] {"ReadCapabilities_Id"});
DropIndex("dbo.Scsis", new[] {"MultiMediaDevice_Id"});
DropIndex("dbo.Scsis", new[] {"ModeSense_Id"});
DropIndex("dbo.TestedMedias", new[] {"Scsi_Id"});
DropIndex("dbo.TestedMedias", new[] {"Mmc_Id"});
DropIndex("dbo.TestedMedias", new[] {"Ata_Id"});
DropIndex("dbo.TestedMedias", new[] {"CurrentCHS_Id"});
DropIndex("dbo.TestedMedias", new[] {"CHS_Id"});
DropIndex("dbo.Atas", new[] {"ReadCapabilities_Id"});
DropIndex("dbo.Devices", new[] {"USB_Id"});
DropIndex("dbo.Devices", new[] {"SecureDigital_Id"});
DropIndex("dbo.Devices", new[] {"SCSI_Id"});
DropIndex("dbo.Devices", new[] {"PCMCIA_Id"});
DropIndex("dbo.Devices", new[] {"MultiMediaCard_Id"});
DropIndex("dbo.Devices", new[] {"FireWire_Id"});
DropIndex("dbo.Devices", new[] {"ATAPI_Id"});
DropIndex("dbo.Devices", new[] {"ATA_Id"});
DropTable("dbo.UploadedReports");
DropTable("dbo.Usbs");
DropTable("dbo.TestedSequentialMedias");
DropTable("dbo.DensityCodes");
DropTable("dbo.SscSupportedMedias");
DropTable("dbo.SupportedDensities");
DropTable("dbo.Sscs");
DropTable("dbo.ModePage_2A");
DropTable("dbo.MmcFeatures");
DropTable("dbo.Mmcs");
DropTable("dbo.BlockDescriptors");
DropTable("dbo.ScsiModes");
DropTable("dbo.ScsiPages");
DropTable("dbo.Scsis");
DropTable("dbo.Pcmcias");
DropTable("dbo.MmcSds");
DropTable("dbo.FireWires");
DropTable("dbo.Chs");
DropTable("dbo.TestedMedias");
DropTable("dbo.Atas");
DropTable("dbo.Devices");
}
}
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,21 @@
using System.Data.Entity.Migrations;
using DiscImageChef.Server.Models;
namespace DiscImageChef.Server.Migrations
{
sealed class Configuration : DbMigrationsConfiguration<DicServerContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = true;
}
protected override void Seed(DicServerContext context)
{
// This method will be called after migrating to the latest version.
// You can use the DbSet<T>.AddOrUpdate() helper extension method
// to avoid creating duplicate seed data.
}
}
}

View File

@@ -0,0 +1,44 @@
// /***************************************************************************
// The Disc Image Chef
// ----------------------------------------------------------------------------
//
// Filename : Context.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Database.
//
// --[ Description ] ----------------------------------------------------------
//
// Entity framework database context.
//
// --[ License ] --------------------------------------------------------------
//
// This library is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of the
// License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, see <http://www.gnu.org/licenses/>.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
using System.Data.Entity;
using MySql.Data.EntityFramework;
namespace DiscImageChef.Server.Models
{
[DbConfigurationType(typeof(MySqlEFConfiguration))]
public sealed class DicServerContext : DbContext
{
public DbSet<Device> Devices { get; set; }
public DbSet<UploadedReport> Reports { get; set; }
}
}

View File

@@ -0,0 +1,33 @@
using System;
using DiscImageChef.CommonTypes.Metadata;
namespace DiscImageChef.Server.Models
{
public class Device : DeviceReportV2
{
public Device()
{
AddedWhen = DateTime.UtcNow;
}
public Device(DeviceReportV2 report)
{
ATA = report.ATA;
ATAPI = report.ATAPI;
CompactFlash = report.CompactFlash;
FireWire = report.FireWire;
AddedWhen = DateTime.UtcNow;
MultiMediaCard = report.MultiMediaCard;
PCMCIA = report.PCMCIA;
SCSI = report.SCSI;
SecureDigital = report.SecureDigital;
USB = report.USB;
Manufacturer = report.Manufacturer;
Model = report.Model;
Revision = report.Revision;
Type = report.Type;
}
public DateTime AddedWhen { get; set; }
}
}

View File

@@ -0,0 +1,33 @@
using System;
using DiscImageChef.CommonTypes.Metadata;
namespace DiscImageChef.Server.Models
{
public class UploadedReport : DeviceReportV2
{
public UploadedReport()
{
UploadedWhen = DateTime.UtcNow;
}
public UploadedReport(DeviceReportV2 report)
{
ATA = report.ATA;
ATAPI = report.ATAPI;
CompactFlash = report.CompactFlash;
FireWire = report.FireWire;
UploadedWhen = DateTime.UtcNow;
MultiMediaCard = report.MultiMediaCard;
PCMCIA = report.PCMCIA;
SCSI = report.SCSI;
SecureDigital = report.SecureDigital;
USB = report.USB;
Manufacturer = report.Manufacturer;
Model = report.Model;
Revision = report.Revision;
Type = report.Type;
}
public DateTime UploadedWhen { get; set; }
}
}

View File

@@ -1,22 +1,94 @@
<?xml version="1.0"?> <?xml version="1.0" encoding="utf-8"?>
<!-- <!--
Web.config file for DiscImageChef.Server. For more information on how to configure your ASP.NET application, please visit
https://go.microsoft.com/fwlink/?LinkId=301879
The settings that can be used in this file are documented at -->
http://www.mono-project.com/Config_system.web and
http://msdn2.microsoft.com/en-us/library/b5ysx397.aspx
-->
<configuration> <configuration>
<system.web> <configSections>
<compilation targetFramework="4.5"> <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<assemblies /> <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</compilation> </configSections>
<httpRuntime targetFramework="4.5" /> <connectionStrings>
</system.web> <add name="DicServerContext" connectionString="server=localhost;port=3306;database=discimagechef;uid=dic;password=dicpass"
<pages> providerName="MySql.Data.MySqlClient" />
<controls> </connectionStrings>
<add assembly="Velyo.AspNet.Markdown" namespace="Velyo.AspNet.Markdown" tagPrefix="velyo" /> <entityFramework>
</controls> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework"/>
</pages> <providers>
<provider invariantName="MySql.Data.MySqlClient"
type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.EntityFramework"/>
<provider invariantName="System.Data.SqlClient"
type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
</providers>
</entityFramework> <appSettings>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.6.1" />
<httpRuntime targetFramework="4.6.1" />
</system.web>
<system.webServer>
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
<modules>
<remove name="TelemetryCorrelationHttpModule" />
<add name="TelemetryCorrelationHttpModule" type="Microsoft.AspNet.TelemetryCorrelation.TelemetryCorrelationHttpModule, Microsoft.AspNet.TelemetryCorrelation" preCondition="integratedMode,managedHandler" />
</modules>
</system.webServer>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" />
<bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.DiagnosticSource" publicKeyToken="cc7b13ffcd2ddd51" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.1" newVersion="4.0.2.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
<bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-5.2.4.0" newVersion="5.2.4.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701" />
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
</compilers>
</system.codedom>
<system.data>
<DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient" />
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL"
type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=8.0.13.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
</configuration> </configuration>

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Antlr" version="3.5.0.2" targetFramework="net461" />
<package id="EntityFramework" version="6.2.0" targetFramework="net461" />
<package id="Google.Protobuf" version="3.5.1" targetFramework="net461" />
<package id="Microsoft.AspNet.Mvc" version="5.2.4" targetFramework="net461" />
<package id="Microsoft.AspNet.Razor" version="3.2.4" targetFramework="net461" />
<package id="Microsoft.AspNet.TelemetryCorrelation" version="1.0.0" targetFramework="net461" />
<package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net461" />
<package id="Microsoft.AspNet.WebApi" version="5.2.4" targetFramework="net461" />
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.4" targetFramework="net461" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.4" targetFramework="net461" />
<package id="Microsoft.AspNet.WebApi.HelpPage" version="5.2.4" targetFramework="net461" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.4" targetFramework="net461" />
<package id="Microsoft.AspNet.WebPages" version="3.2.4" targetFramework="net461" />
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="2.0.0" targetFramework="net461" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net461" />
<package id="MySql.Data" version="8.0.13" targetFramework="net461" />
<package id="MySql.Data.EntityFramework" version="8.0.13" targetFramework="net461" />
<package id="Newtonsoft.Json" version="11.0.1" targetFramework="net461" />
<package id="System.Diagnostics.DiagnosticSource" version="4.4.1" targetFramework="net461" />
<package id="Unclassified.NetRevisionTask" version="0.2.5" targetFramework="net461" developmentDependency="true" />
<package id="Velyo.AspNet.Markdown" version="1.0.26.6184" targetFramework="net461" />
<package id="WebGrease" version="1.6.0" targetFramework="net461" />
</packages>

View File

@@ -29,8 +29,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DiscImageChef.Filters", "Di
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DiscImageChef.Core", "DiscImageChef.Core\DiscImageChef.Core.csproj", "{679659B8-25D0-4279-B632-56EF8F94ADC0}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DiscImageChef.Core", "DiscImageChef.Core\DiscImageChef.Core.csproj", "{679659B8-25D0-4279-B632-56EF8F94ADC0}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DiscImageChef.Server", "DiscImageChef.Server\DiscImageChef.Server.csproj", "{75342D7A-C5EA-4A6F-A511-850B54310E5B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DiscImageChef.Tests", "DiscImageChef.Tests\DiscImageChef.Tests.csproj", "{B2ABC1F2-C365-4515-9F23-A5725050CC48}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DiscImageChef.Tests", "DiscImageChef.Tests\DiscImageChef.Tests.csproj", "{B2ABC1F2-C365-4515-9F23-A5725050CC48}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DiscImageChef.Tests.Devices", "DiscImageChef.Tests.Devices\DiscImageChef.Tests.Devices.csproj", "{A40662EB-D202-46A4-AB41-9C32ADE6D6B5}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DiscImageChef.Tests.Devices", "DiscImageChef.Tests.Devices\DiscImageChef.Tests.Devices.csproj", "{A40662EB-D202-46A4-AB41-9C32ADE6D6B5}"
@@ -43,10 +41,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DiscImageChef.Gui", "DiscIm
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DiscImageChef.EntityFramework", "DiscImageChef.EntityFramework\DiscImageChef.EntityFramework.csproj", "{F73EE2BD-6009-4590-9F5A-68198CA5C0DA}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DiscImageChef.EntityFramework", "DiscImageChef.EntityFramework\DiscImageChef.EntityFramework.csproj", "{F73EE2BD-6009-4590-9F5A-68198CA5C0DA}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiscImageChef.Server", "DiscImageChef.Server\DiscImageChef.Server.csproj", "{911ADDF5-E5FA-445D-88CD-C7F8FFDBE645}"
EndProject
Global Global
GlobalSection(Performance) = preSolution
HasPerformanceSessions = true
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU Debug|Any CPU = Debug|Any CPU
Debug|x86 = Debug|x86 Debug|x86 = Debug|x86
@@ -158,14 +155,6 @@ Global
{679659B8-25D0-4279-B632-56EF8F94ADC0}.Release|Any CPU.Build.0 = Release|Any CPU {679659B8-25D0-4279-B632-56EF8F94ADC0}.Release|Any CPU.Build.0 = Release|Any CPU
{679659B8-25D0-4279-B632-56EF8F94ADC0}.Release|x86.ActiveCfg = Release|Any CPU {679659B8-25D0-4279-B632-56EF8F94ADC0}.Release|x86.ActiveCfg = Release|Any CPU
{679659B8-25D0-4279-B632-56EF8F94ADC0}.Release|x86.Build.0 = Release|Any CPU {679659B8-25D0-4279-B632-56EF8F94ADC0}.Release|x86.Build.0 = Release|Any CPU
{75342D7A-C5EA-4A6F-A511-850B54310E5B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{75342D7A-C5EA-4A6F-A511-850B54310E5B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{75342D7A-C5EA-4A6F-A511-850B54310E5B}.Debug|x86.ActiveCfg = Debug|Any CPU
{75342D7A-C5EA-4A6F-A511-850B54310E5B}.Debug|x86.Build.0 = Debug|Any CPU
{75342D7A-C5EA-4A6F-A511-850B54310E5B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{75342D7A-C5EA-4A6F-A511-850B54310E5B}.Release|Any CPU.Build.0 = Release|Any CPU
{75342D7A-C5EA-4A6F-A511-850B54310E5B}.Release|x86.ActiveCfg = Release|Any CPU
{75342D7A-C5EA-4A6F-A511-850B54310E5B}.Release|x86.Build.0 = Release|Any CPU
{B2ABC1F2-C365-4515-9F23-A5725050CC48}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {B2ABC1F2-C365-4515-9F23-A5725050CC48}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B2ABC1F2-C365-4515-9F23-A5725050CC48}.Debug|Any CPU.Build.0 = Debug|Any CPU {B2ABC1F2-C365-4515-9F23-A5725050CC48}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B2ABC1F2-C365-4515-9F23-A5725050CC48}.Debug|x86.ActiveCfg = Debug|Any CPU {B2ABC1F2-C365-4515-9F23-A5725050CC48}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -214,6 +203,14 @@ Global
{F73EE2BD-6009-4590-9F5A-68198CA5C0DA}.Release|Any CPU.Build.0 = Release|Any CPU {F73EE2BD-6009-4590-9F5A-68198CA5C0DA}.Release|Any CPU.Build.0 = Release|Any CPU
{F73EE2BD-6009-4590-9F5A-68198CA5C0DA}.Release|x86.ActiveCfg = Release|Any CPU {F73EE2BD-6009-4590-9F5A-68198CA5C0DA}.Release|x86.ActiveCfg = Release|Any CPU
{F73EE2BD-6009-4590-9F5A-68198CA5C0DA}.Release|x86.Build.0 = Release|Any CPU {F73EE2BD-6009-4590-9F5A-68198CA5C0DA}.Release|x86.Build.0 = Release|Any CPU
{911ADDF5-E5FA-445D-88CD-C7F8FFDBE645}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{911ADDF5-E5FA-445D-88CD-C7F8FFDBE645}.Debug|Any CPU.Build.0 = Debug|Any CPU
{911ADDF5-E5FA-445D-88CD-C7F8FFDBE645}.Debug|x86.ActiveCfg = Debug|Any CPU
{911ADDF5-E5FA-445D-88CD-C7F8FFDBE645}.Debug|x86.Build.0 = Debug|Any CPU
{911ADDF5-E5FA-445D-88CD-C7F8FFDBE645}.Release|Any CPU.ActiveCfg = Release|Any CPU
{911ADDF5-E5FA-445D-88CD-C7F8FFDBE645}.Release|Any CPU.Build.0 = Release|Any CPU
{911ADDF5-E5FA-445D-88CD-C7F8FFDBE645}.Release|x86.ActiveCfg = Release|Any CPU
{911ADDF5-E5FA-445D-88CD-C7F8FFDBE645}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
@@ -221,6 +218,9 @@ Global
GlobalSection(ExtensibilityGlobals) = postSolution GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {A004EA3D-916D-495A-A130-D4E4F0A168C8} SolutionGuid = {A004EA3D-916D-495A-A130-D4E4F0A168C8}
EndGlobalSection EndGlobalSection
GlobalSection(Performance) = preSolution
HasPerformanceSessions = true
EndGlobalSection
GlobalSection(MonoDevelopProperties) = preSolution GlobalSection(MonoDevelopProperties) = preSolution
Policies = $0 Policies = $0
$0.StandardHeader = $1 $0.StandardHeader = $1