diff --git a/src/GameIdeas/GameIdeas.Shared/Model/Game.cs b/src/GameIdeas/GameIdeas.Shared/Model/Game.cs new file mode 100644 index 0000000..ca7d07a --- /dev/null +++ b/src/GameIdeas/GameIdeas.Shared/Model/Game.cs @@ -0,0 +1,21 @@ +namespace GameIdeas.Shared.Model; + +public partial class Game +{ + public Game() + { + GamePlatforms = new HashSet(); + } + + public int Id { get; set; } + public string Title { get; set; } = null!; + public DateTime? ReleaseDate { get; set; } + public DateTime CreationDate { get; set; } + public DateTime? ModificationDate { get; set; } + public double? StorageSpace { get; set; } + public string? Description { get; set; } + public int? Interest { get; set; } + + public virtual ICollection GamePlatforms { get; set; } +} + \ No newline at end of file diff --git a/src/GameIdeas/GameIdeas.Shared/Model/GamePlatform.cs b/src/GameIdeas/GameIdeas.Shared/Model/GamePlatform.cs new file mode 100644 index 0000000..b2eb056 --- /dev/null +++ b/src/GameIdeas/GameIdeas.Shared/Model/GamePlatform.cs @@ -0,0 +1,10 @@ +namespace GameIdeas.Shared.Model; + +public partial class GamePlatform +{ + public int GameId { get; set; } + public int PlatformId { get; set; } + + public virtual Game Game { get; set; } = null!; + public virtual Platform Platform { get; set; } = null!; +} diff --git a/src/GameIdeas/GameIdeas.Shared/Model/Platform.cs b/src/GameIdeas/GameIdeas.Shared/Model/Platform.cs new file mode 100644 index 0000000..067ed65 --- /dev/null +++ b/src/GameIdeas/GameIdeas.Shared/Model/Platform.cs @@ -0,0 +1,8 @@ +namespace GameIdeas.Shared.Model; + +public partial class Platform +{ + public int Id { get; set; } + public string Libelle { get; set; } = null!; + public string? Url { get; set; } +} diff --git a/src/GameIdeas/Server/GameIdeas.WebAPI/Context/GameIdeasContext.cs b/src/GameIdeas/Server/GameIdeas.WebAPI/Context/GameIdeasContext.cs new file mode 100644 index 0000000..d135ee6 --- /dev/null +++ b/src/GameIdeas/Server/GameIdeas.WebAPI/Context/GameIdeasContext.cs @@ -0,0 +1,25 @@ +using GameIdeas.Shared.Model; +using Microsoft.EntityFrameworkCore; + +namespace GameIdeas.WebAPI.Context; + +public class GameIdeasContext : DbContext +{ + public GameIdeasContext(DbContextOptions option) + : base(option) + { } + + public virtual DbSet Games { get; set; } = null!; + public virtual DbSet Platforms { get; set; } = null!; + public virtual DbSet GamePlatforms { get; set; } = null!; + + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) + { + optionsBuilder.UseNpgsql(@"Host=myserver;Username=mylogin;Password=mypass;Database=mydatabase"); + } + + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + base.OnModelCreating(modelBuilder); + } +} diff --git a/src/GameIdeas/Server/GameIdeas.WebAPI/GameIdeas.WebAPI.csproj b/src/GameIdeas/Server/GameIdeas.WebAPI/GameIdeas.WebAPI.csproj index ef7a3c8..1988e33 100644 --- a/src/GameIdeas/Server/GameIdeas.WebAPI/GameIdeas.WebAPI.csproj +++ b/src/GameIdeas/Server/GameIdeas.WebAPI/GameIdeas.WebAPI.csproj @@ -1,4 +1,4 @@ - + net9.0 @@ -12,10 +12,13 @@ + + +