From d6d70dc432cf2b6523ce9f06575e178cbd208414 Mon Sep 17 00:00:00 2001 From: Danail Dimitrov Date: Fri, 19 Feb 2021 23:05:24 +0200 Subject: Adding Message layer --- .../DevHive.Data/Interfaces/IMessageRepository.cs | 4 +++- src/Data/DevHive.Data/Repositories/ChatRepository.cs | 20 ++++++++++++++++++++ .../DevHive.Data/Repositories/MessageRepository.cs | 10 ++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 src/Data/DevHive.Data/Repositories/ChatRepository.cs (limited to 'src/Data/DevHive.Data') 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 { - + Task 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 + { + 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 GetMessageByCreatorAndTimeCreatedAsync(Guid creatorId, DateTime timeCreated) + { + return await this._context.Message + .FirstOrDefaultAsync(p => p.Creator.Id == creatorId && + p.TimeCreated == timeCreated); + } } } -- cgit v1.2.3