diff --git a/code/server/DataBase/PongDbContext.cs b/code/server/DataBase/Context/PongDbContext.cs similarity index 70% rename from code/server/DataBase/PongDbContext.cs rename to code/server/DataBase/Context/PongDbContext.cs index 233b597..6bf8ec2 100644 --- a/code/server/DataBase/PongDbContext.cs +++ b/code/server/DataBase/Context/PongDbContext.cs @@ -1,14 +1,14 @@ using DataBase.Entity; using Microsoft.EntityFrameworkCore; -namespace DataBase +namespace DataBase.Context { public class PongDbContext : DbContext { - DbSet Players { get; set; } - DbSet Games { get; set; } - DbSet Messages { get; set; } - DbSet Chats { get; set; } + public DbSet Players { get; set; } + public DbSet Games { get; set; } + public DbSet Messages { get; set; } + public DbSet Chats { get; set; } public PongDbContext() { } public PongDbContext(DbContextOptions options) : base(options) { } diff --git a/code/server/DataBase/PongDbContextWithStub.cs b/code/server/DataBase/Context/PongDbContextWithStub.cs similarity index 98% rename from code/server/DataBase/PongDbContextWithStub.cs rename to code/server/DataBase/Context/PongDbContextWithStub.cs index 0d868fa..fe6a6bd 100644 --- a/code/server/DataBase/PongDbContextWithStub.cs +++ b/code/server/DataBase/Context/PongDbContextWithStub.cs @@ -7,7 +7,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace DataBase +namespace DataBase.Context { public class PongDbContextWithStub : PongDbContext { diff --git a/code/server/DataBase/DataManager/DbDataManager.Chat.cs b/code/server/DataBase/DataManager/DbDataManager.Chat.cs new file mode 100644 index 0000000..955e082 --- /dev/null +++ b/code/server/DataBase/DataManager/DbDataManager.Chat.cs @@ -0,0 +1,35 @@ +using DataBase.Context; +using DataBase.Entity; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DataBase.DataManager +{ + public partial class DbDataManager + { + public async Task AddChat(Chat chat) + { + using (var context = new PongDbContext()) + { + await context.Chats.AddAsync(chat); + } + } + + public Task RemoveChat(int id) + { + using (var context = new PongDbContext()) + { + var chat = context.Chats.Where(c => c.chatId == id).ToList().FirstOrDefault(); + if (chat != null) + { + var result = context.Chats.Remove(chat); + return Task.FromResult(result != null); + } + return Task.FromResult(false); + } + } + } +} diff --git a/code/server/DataBase/DataManager/DbDataManager.Game.cs b/code/server/DataBase/DataManager/DbDataManager.Game.cs new file mode 100644 index 0000000..1663856 --- /dev/null +++ b/code/server/DataBase/DataManager/DbDataManager.Game.cs @@ -0,0 +1,44 @@ +using DataBase.Context; +using DataBase.Entity; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DataBase.DataManager +{ + public partial class DbDataManager + { + public async Task AddGame(Game game) + { + using (var context = new PongDbContext()) + { + await context.Games.AddAsync(game); + } + } + + public Task RemoveGame(int id) + { + using (var context = new PongDbContext()) + { + var game = context.Games.Where(g => g.gameId == id).ToList().FirstOrDefault(); + if (game != null) + { + var result = context.Games.Remove(game); + return Task.FromResult(result != null); + } + return Task.FromResult(false); + } + } + + public Task GetGame(int id) + { + using (var context = new PongDbContext()) + { + var game = context.Games.Where(g => g.gameId == id).ToList().FirstOrDefault(); + return Task.FromResult(game); + } + } + } +} diff --git a/code/server/DataBase/DataManager/DbDataManager.Message.cs b/code/server/DataBase/DataManager/DbDataManager.Message.cs new file mode 100644 index 0000000..137ba69 --- /dev/null +++ b/code/server/DataBase/DataManager/DbDataManager.Message.cs @@ -0,0 +1,45 @@ +using DataBase.Context; +using DataBase.Entity; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Numerics; +using System.Text; +using System.Threading.Tasks; + +namespace DataBase.DataManager +{ + public partial class DbDataManager + { + public async Task SendMessage(Message message) + { + using (var context = new PongDbContext()) + { + await context.Messages.AddAsync(message); + } + } + + public Task ReceiveMessage(int id) + { + using (var context = new PongDbContext()) + { + var message = context.Messages.Where(m => m.messageId == id).ToList().FirstOrDefault(); + return Task.FromResult(message); + } + } + + public Task RemoveMessage(int id) + { + using (var context = new PongDbContext()) + { + var message = context.Messages.Where(m => m.messageId == id).ToList().FirstOrDefault(); + if (message != null) + { + var result = context.Messages.Remove(message); + return Task.FromResult(result != null); + } + return Task.FromResult(false); + } + } + } +} diff --git a/code/server/DataBase/DataManager/DbDataManager.Player.cs b/code/server/DataBase/DataManager/DbDataManager.Player.cs new file mode 100644 index 0000000..a6a7842 --- /dev/null +++ b/code/server/DataBase/DataManager/DbDataManager.Player.cs @@ -0,0 +1,59 @@ +using DataBase.Context; +using DataBase.Entity; +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Numerics; +using System.Text; +using System.Threading.Tasks; + +namespace DataBase.DataManager +{ + public partial class DbDataManager + { + public async Task AddPlayer(Player player) + { + using (var context = new PongDbContext()) + { + await context.Players.AddAsync(player); + } + } + + public Task RemovePlayer(int id) + { + using (var context = new PongDbContext()) + { + var player = context.Players.Where(p => p.playerId == id).ToList().FirstOrDefault(); + if (player != null) + { + var result = context.Players.Remove(player); + return Task.FromResult(result != null); + } + return Task.FromResult(false); + } + } + + public Task UpdatePlayer(int id, string newName) + { + using (var context = new PongDbContext()) + { + var player = context.Players.Where(p => p.playerId == id).ToList().FirstOrDefault(); + if (player != null) + { + player.name = newName; + } + return Task.FromResult(player); + } + } + + public Task GetPlayer(int id) + { + using (var context = new PongDbContext()) + { + var player = context.Players.Where(p => p.playerId == id).ToList().FirstOrDefault(); + return Task.FromResult(player); + } + } + } +} diff --git a/code/server/DataBase/DataManager/DbDataManager.cs b/code/server/DataBase/DataManager/DbDataManager.cs new file mode 100644 index 0000000..d2ddb41 --- /dev/null +++ b/code/server/DataBase/DataManager/DbDataManager.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DataBase.DataManager +{ + public partial class DbDataManager + { + } +} diff --git a/code/server/DataBase/Migrations/20230216161314_initMigration.Designer.cs b/code/server/DataBase/Migrations/20230216161314_initMigration.Designer.cs index bf3366b..810a199 100644 --- a/code/server/DataBase/Migrations/20230216161314_initMigration.Designer.cs +++ b/code/server/DataBase/Migrations/20230216161314_initMigration.Designer.cs @@ -1,6 +1,6 @@ // using System; -using DataBase; +using DataBase.Context; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; diff --git a/code/server/DataBase/Migrations/PongDbContextWithStubModelSnapshot.cs b/code/server/DataBase/Migrations/PongDbContextWithStubModelSnapshot.cs index c39de80..7e3f4a3 100644 --- a/code/server/DataBase/Migrations/PongDbContextWithStubModelSnapshot.cs +++ b/code/server/DataBase/Migrations/PongDbContextWithStubModelSnapshot.cs @@ -1,6 +1,6 @@ // using System; -using DataBase; +using DataBase.Context; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage.ValueConversion;