feat: initial signature look up support

This commit is contained in:
Michael Green
2023-03-07 10:53:46 +11:00
parent 959f6f2419
commit 8175b4b6e6
13 changed files with 507 additions and 7 deletions

View File

@@ -0,0 +1,98 @@
using System;
using static gaseous_romsignatureobject.RomSignatureObject.Game;
namespace gaseous_server.Models
{
public class Signatures_Games
{
public Signatures_Games()
{
}
public GameItem? Game { get; set; }
public RomItem? Rom { get; set; }
public class GameItem
{
public Int32? Id { get; set; }
public string? Name { get; set; }
public string? Description { get; set; }
public string? Year { get; set; }
public string? Publisher { get; set; }
public DemoTypes Demo { get; set; }
public string? System { get; set; }
public string? SystemVariant { get; set; }
public string? Video { get; set; }
public string? Country { get; set; }
public string? Language { get; set; }
public string? Copyright { get; set; }
public enum DemoTypes
{
NotDemo = 0,
demo = 1,
demo_kiosk = 2,
demo_playable = 3,
demo_rolling = 4,
demo_slideshow = 5
}
}
public class RomItem
{
public Int32? Id { get; set; }
public string? Name { get; set; }
public Int64? Size { get; set; }
public string? Crc { get; set; }
public string? Md5 { get; set; }
public string? Sha1 { get; set; }
public string? DevelopmentStatus { get; set; }
public List<string> flags { get; set; } = new List<string>();
public RomTypes RomType { get; set; }
public string? RomTypeMedia { get; set; }
public string? MediaLabel { get; set; }
public enum RomTypes
{
/// <summary>
/// Media type is unknown
/// </summary>
Unknown = 0,
/// <summary>
/// Optical media
/// </summary>
Disc = 1,
/// <summary>
/// Magnetic media
/// </summary>
Disk = 2,
/// <summary>
/// Individual files
/// </summary>
File = 3,
/// <summary>
/// Individual pars
/// </summary>
Part = 4,
/// <summary>
/// Tape base media
/// </summary>
Tape = 5,
/// <summary>
/// Side of the media
/// </summary>
Side = 6
}
}
}
}

View File

@@ -0,0 +1,63 @@
using System;
using System.Data;
using gaseous_tools;
namespace gaseous_server.Models
{
public class Signatures_Status
{
private Int64 _SourceCount = 0;
private Int64 _PlatformCount = 0;
private Int64 _GameCount = 0;
private Int64 _RomCount = 0;
public Signatures_Status()
{
Database db = new gaseous_tools.Database(Database.databaseType.MySql, Config.DatabaseConfiguration.ConnectionString);
string sql = "select (select count(*) from signatures_sources) as SourceCount, (select count(*) from signatures_platforms) as PlatformCount, (select count(*) from signatures_games) as GameCount, (select count(*) from signatures_roms) as RomCount;";
DataTable sigDb = db.ExecuteCMD(sql);
if (sigDb.Rows.Count > 0)
{
_SourceCount = (Int64)sigDb.Rows[0]["SourceCount"];
_PlatformCount = (Int64)sigDb.Rows[0]["PlatformCount"];
_GameCount = (Int64)sigDb.Rows[0]["GameCount"];
_RomCount = (Int64)sigDb.Rows[0]["RomCount"];
}
}
public Int64 Sources
{
get
{
return _SourceCount;
}
}
public Int64 Platforms
{
get
{
return _PlatformCount;
}
}
public Int64 Games
{
get
{
return _GameCount;
}
}
public Int64 Roms
{
get
{
return _RomCount;
}
}
}
}