aboutsummaryrefslogtreecommitdiff
path: root/src/Data
diff options
context:
space:
mode:
authorDanail Dimitrov <danaildimitrov321@gmail.com>2021-02-18 22:58:36 +0200
committerDanail Dimitrov <danaildimitrov321@gmail.com>2021-02-18 22:58:36 +0200
commit1ff5502483c5ee8bab1ef0a70f61e18f6ba2399d (patch)
tree1d0be161dd38aead8e62aa1aac069b5f3f89f730 /src/Data
parent02cf7a097c781cd0ef9e844078e873fcda5a3fcd (diff)
downloadDevHive-1ff5502483c5ee8bab1ef0a70f61e18f6ba2399d.tar
DevHive-1ff5502483c5ee8bab1ef0a70f61e18f6ba2399d.tar.gz
DevHive-1ff5502483c5ee8bab1ef0a70f61e18f6ba2399d.zip
initial implementation of message layer
Diffstat (limited to 'src/Data')
-rw-r--r--src/Data/DevHive.Data.Models/Chat.cs17
-rw-r--r--src/Data/DevHive.Data.Models/Message.cs15
-rw-r--r--src/Data/DevHive.Data/DevHiveContext.cs1
-rw-r--r--src/Data/DevHive.Data/Interfaces/IChatRepository.cs9
-rw-r--r--src/Data/DevHive.Data/Interfaces/IMessageRepository.cs10
-rw-r--r--src/Data/DevHive.Data/Repositories/MessageRepository.cs16
6 files changed, 68 insertions, 0 deletions
diff --git a/src/Data/DevHive.Data.Models/Chat.cs b/src/Data/DevHive.Data.Models/Chat.cs
new file mode 100644
index 0000000..d68981f
--- /dev/null
+++ b/src/Data/DevHive.Data.Models/Chat.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DevHive.Data.Models
+{
+ public class Chat
+ {
+ public HashSet<User> ChatMembers { get; set; }
+
+ public List<Message> Messages { get; set; }
+
+ public string ChatName { get; set; }
+ }
+}
diff --git a/src/Data/DevHive.Data.Models/Message.cs b/src/Data/DevHive.Data.Models/Message.cs
new file mode 100644
index 0000000..89592f8
--- /dev/null
+++ b/src/Data/DevHive.Data.Models/Message.cs
@@ -0,0 +1,15 @@
+using System;
+
+namespace DevHive.Data.Models
+{
+ public class Message
+ {
+ public User Creator { get; set; }
+
+ public string Content { get; set; }
+
+ public DateTime TimeCreated { get; set; }
+
+ public Chat Chat { get; set; }
+ }
+}
diff --git a/src/Data/DevHive.Data/DevHiveContext.cs b/src/Data/DevHive.Data/DevHiveContext.cs
index ece3439..b841bca 100644
--- a/src/Data/DevHive.Data/DevHiveContext.cs
+++ b/src/Data/DevHive.Data/DevHiveContext.cs
@@ -19,6 +19,7 @@ namespace DevHive.Data
public DbSet<Rating> Rating { get; set; }
public DbSet<RatedPost> RatedPost { get; set; }
public DbSet<UserRate> UserRate { get; set; }
+ public DbSet<Message> Message { get; set; }
protected override void OnModelCreating(ModelBuilder builder)
{
diff --git a/src/Data/DevHive.Data/Interfaces/IChatRepository.cs b/src/Data/DevHive.Data/Interfaces/IChatRepository.cs
new file mode 100644
index 0000000..c4faf54
--- /dev/null
+++ b/src/Data/DevHive.Data/Interfaces/IChatRepository.cs
@@ -0,0 +1,9 @@
+using DevHive.Data.Models;
+using DevHive.Data.Repositories.Interfaces;
+
+namespace DevHive.Data.Interfaces
+{
+ public interface IChatRepository : IRepository<Chat>
+ {
+ }
+}
diff --git a/src/Data/DevHive.Data/Interfaces/IMessageRepository.cs b/src/Data/DevHive.Data/Interfaces/IMessageRepository.cs
new file mode 100644
index 0000000..f694bc0
--- /dev/null
+++ b/src/Data/DevHive.Data/Interfaces/IMessageRepository.cs
@@ -0,0 +1,10 @@
+using DevHive.Data.Models;
+using DevHive.Data.Repositories.Interfaces;
+
+namespace DevHive.Data.Interfaces
+{
+ public interface IMessageRepository : IRepository<Message>
+ {
+
+ }
+}
diff --git a/src/Data/DevHive.Data/Repositories/MessageRepository.cs b/src/Data/DevHive.Data/Repositories/MessageRepository.cs
new file mode 100644
index 0000000..9697c97
--- /dev/null
+++ b/src/Data/DevHive.Data/Repositories/MessageRepository.cs
@@ -0,0 +1,16 @@
+using DevHive.Data.Interfaces;
+using DevHive.Data.Models;
+
+namespace DevHive.Data.Repositories
+{
+ public class MessageRepository : BaseRepository<Message>, IMessageRepository
+ {
+ private readonly DevHiveContext _context;
+
+ public MessageRepository(DevHiveContext context)
+ : base(context)
+ {
+ this._context = context;
+ }
+ }
+}