Loose coupling of data models using interfaces

This commit is contained in:
2020-06-28 12:07:50 +01:00
parent 7c8ef0cc10
commit af984ecfb1
10 changed files with 75 additions and 13 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
public class DirectoriesModel
public class DirectoriesModel : FireLance.Interfaces.IDirectories
{
public int id { get; set; }
public int GameID { get; set; }
@@ -1,6 +1,6 @@
using System.Data.Common;
public class GameEntryModal
public class GameEntryModal : FireLance.Interfaces.IGameEntry
{
public int id { get; set; }
public string GameName { get; set; }
+4
View File
@@ -10,6 +10,10 @@
<PackageReference Include="Microsoft.Data.Sqlite.Core" Version="3.1.5" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\FireLance\FireLance.csproj" />
</ItemGroup>
<ItemGroup>
<None Update="games.db">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
+7 -6
View File
@@ -3,6 +3,7 @@ using System;
using System.Collections.Generic;
using System.IO;
using Dapper;
using FireLance.Interfaces;
public class GSMParser
{
@@ -29,18 +30,18 @@ public class GSMParser
return Convert.ToString(DBConnection.State);
}
public List<GameEntryModal> QueryGameById(string id)
public IEnumerable<IGameEntry> QueryGameById(string id)
{
return (List<GameEntryModal>)DBConnection.Query<GameEntryModal>(QueryBuilder.GameEntryByGameId(id), new DynamicParameters());
return (IEnumerable<IGameEntry>)DBConnection.Query<GameEntryModal>(QueryBuilder.GameEntryByGameId(id), new DynamicParameters());
}
public List<DirectoriesModel> QueryDirectoryById(string id)
public IEnumerable<IDirectories> QueryDirectoryById(string id)
{
return (List<DirectoriesModel>)DBConnection.Query<DirectoriesModel>(QueryBuilder.DirectoryByGameId(id), new DynamicParameters());
return (IEnumerable<IDirectories>)DBConnection.Query<DirectoriesModel>(QueryBuilder.DirectoryByGameId(id), new DynamicParameters());
}
public List<GameEntryModal> QueryGameByName(string name)
public IEnumerable<IGameEntry> QueryGameByName(string name)
{
return (List<GameEntryModal>) DBConnection.Query<GameEntryModal>(QueryBuilder.GameEntryByName(name), new DynamicParameters());
return (IEnumerable<IGameEntry>) DBConnection.Query<GameEntryModal>(QueryBuilder.GameEntryByName(name), new DynamicParameters());
}
}