aboutsummaryrefslogtreecommitdiff
path: root/src/Data
diff options
context:
space:
mode:
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);
+ }
}
}