aboutsummaryrefslogtreecommitdiff
path: root/src/Data
diff options
context:
space:
mode:
authorDanail Dimitrov <danaildimitrov321@gmail.com>2021-02-19 23:05:24 +0200
committerDanail Dimitrov <danaildimitrov321@gmail.com>2021-02-19 23:05:24 +0200
commitd6d70dc432cf2b6523ce9f06575e178cbd208414 (patch)
tree23bf9315473067167f67aa8afd9e32299d1f037e /src/Data
parentce6471578364310de31ed02e21ba5d7ae6529234 (diff)
downloadDevHive-d6d70dc432cf2b6523ce9f06575e178cbd208414.tar
DevHive-d6d70dc432cf2b6523ce9f06575e178cbd208414.tar.gz
DevHive-d6d70dc432cf2b6523ce9f06575e178cbd208414.zip
Adding Message layerchat_system
Diffstat (limited to 'src/Data')
-rw-r--r--src/Data/DevHive.Data.Models/Message.cs2
-rw-r--r--src/Data/DevHive.Data/Interfaces/IMessageRepository.cs4
-rw-r--r--src/Data/DevHive.Data/Repositories/ChatRepository.cs20
-rw-r--r--src/Data/DevHive.Data/Repositories/MessageRepository.cs10
4 files changed, 35 insertions, 1 deletions
diff --git a/src/Data/DevHive.Data.Models/Message.cs b/src/Data/DevHive.Data.Models/Message.cs
index 89592f8..e9e0e64 100644
--- a/src/Data/DevHive.Data.Models/Message.cs
+++ b/src/Data/DevHive.Data.Models/Message.cs
@@ -4,6 +4,8 @@ namespace DevHive.Data.Models
{
public class Message
{
+ public Guid Id { get; set; }
+
public User Creator { get; set; }
public string Content { get; set; }
diff --git a/src/Data/DevHive.Data/Interfaces/IMessageRepository.cs b/src/Data/DevHive.Data/Interfaces/IMessageRepository.cs
index f694bc0..57a5220 100644
--- a/src/Data/DevHive.Data/Interfaces/IMessageRepository.cs
+++ b/src/Data/DevHive.Data/Interfaces/IMessageRepository.cs
@@ -1,3 +1,5 @@
+using System;
+using System.Threading.Tasks;
using DevHive.Data.Models;
using DevHive.Data.Repositories.Interfaces;
@@ -5,6 +7,6 @@ namespace DevHive.Data.Interfaces
{
public interface IMessageRepository : IRepository<Message>
{
-
+ Task<Message> GetMessageByCreatorAndTimeCreatedAsync(Guid creatorId, DateTime timeCreated);
}
}
diff --git a/src/Data/DevHive.Data/Repositories/ChatRepository.cs b/src/Data/DevHive.Data/Repositories/ChatRepository.cs
new file mode 100644
index 0000000..5cda676
--- /dev/null
+++ b/src/Data/DevHive.Data/Repositories/ChatRepository.cs
@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using DevHive.Data.Models;
+
+namespace DevHive.Data.Repositories
+{
+ public class ChatRepository : BaseRepository<Chat>
+ {
+ private readonly DevHiveContext _context;
+
+ public ChatRepository(DevHiveContext context)
+ : base(context)
+ {
+ this._context = context;
+ }
+ }
+}
diff --git a/src/Data/DevHive.Data/Repositories/MessageRepository.cs b/src/Data/DevHive.Data/Repositories/MessageRepository.cs
index 9697c97..902cabf 100644
--- a/src/Data/DevHive.Data/Repositories/MessageRepository.cs
+++ b/src/Data/DevHive.Data/Repositories/MessageRepository.cs
@@ -1,5 +1,8 @@
+using System;
+using System.Threading.Tasks;
using DevHive.Data.Interfaces;
using DevHive.Data.Models;
+using Microsoft.EntityFrameworkCore;
namespace DevHive.Data.Repositories
{
@@ -12,5 +15,12 @@ namespace DevHive.Data.Repositories
{
this._context = context;
}
+
+ public async Task<Message> GetMessageByCreatorAndTimeCreatedAsync(Guid creatorId, DateTime timeCreated)
+ {
+ return await this._context.Message
+ .FirstOrDefaultAsync(p => p.Creator.Id == creatorId &&
+ p.TimeCreated == timeCreated);
+ }
}
}