diff options
Diffstat (limited to 'src/Data')
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); + } } } |
