diff --git a/AyCode.Database/Extensions/DbContextExtension.cs b/AyCode.Database/Extensions/DbContextExtension.cs
index dc87900..92cca64 100644
--- a/AyCode.Database/Extensions/DbContextExtension.cs
+++ b/AyCode.Database/Extensions/DbContextExtension.cs
@@ -5,7 +5,7 @@ using System.Reflection.Emit;
using System.Security.Principal;
using System.Text;
using System.Threading.Tasks;
-using AyCode.Entities.Interfaces;
+using AyCode.Interfaces.Entities;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
diff --git a/AyCode.Entities/AyCode.Entities.csproj b/AyCode.Entities/AyCode.Entities.csproj
index 0117eb9..d0f8593 100644
--- a/AyCode.Entities/AyCode.Entities.csproj
+++ b/AyCode.Entities/AyCode.Entities.csproj
@@ -10,4 +10,8 @@
+
+
+
+
diff --git a/AyCode.Entities/Locations/ILocationBase.cs b/AyCode.Entities/Locations/ILocationBase.cs
index 96e0cb6..5b8b6f3 100644
--- a/AyCode.Entities/Locations/ILocationBase.cs
+++ b/AyCode.Entities/Locations/ILocationBase.cs
@@ -1,5 +1,5 @@
-using AyCode.Entities.Interfaces;
-using AyCode.Interfaces.TimeStampInfo;
+using AyCode.Interfaces.Entities;
+
namespace AyCode.Entities.Locations;
diff --git a/AyCode.Entities/Messages/MessageBase.cs b/AyCode.Entities/Messages/MessageBase.cs
new file mode 100644
index 0000000..7fd95e5
--- /dev/null
+++ b/AyCode.Entities/Messages/MessageBase.cs
@@ -0,0 +1,36 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations.Schema;
+using System.ComponentModel.DataAnnotations;
+using AyCode.Interfaces.Messages;
+
+namespace AyCode.Entities.Messages
+{
+ [Table("Messages")]
+ public class MessageBase : IMessageBase
+ {
+
+ public MessageBase() { }
+
+ public MessageBase(Guid sender, Guid receiver, string message) : this(Guid.NewGuid(), sender, receiver, message) { }
+ public MessageBase(Guid id, Guid sender, Guid receiver, string message) : this()
+ {
+ Id = id;
+ Sender = sender;
+ Receiver = receiver;
+ Message = message;
+ }
+
+
+ [Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
+ public Guid Sender { get; set; }
+
+ public Guid Receiver { get; set; }
+
+ public string Message { get; set; }
+
+ public Guid Id { get; set; }
+ public DateTime Created { get; set; }
+ public DateTime Modified { get; set; }
+ }
+}
diff --git a/AyCode.Entities/Profiles/IProfileBase.cs b/AyCode.Entities/Profiles/IProfileBase.cs
index 18df33c..7c06114 100644
--- a/AyCode.Entities/Profiles/IProfileBase.cs
+++ b/AyCode.Entities/Profiles/IProfileBase.cs
@@ -1,7 +1,7 @@
-using AyCode.Entities.Interfaces;
-using AyCode.Interfaces;
+using AyCode.Interfaces;
using AyCode.Interfaces.TimeStampInfo;
using AyCode.Interfaces.MediaInfo;
+using AyCode.Interfaces.Entities;
namespace AyCode.Entities.Profiles;
diff --git a/AyCode.Entities/Users/IUserBase.cs b/AyCode.Entities/Users/IUserBase.cs
index 9940007..27babd2 100644
--- a/AyCode.Entities/Users/IUserBase.cs
+++ b/AyCode.Entities/Users/IUserBase.cs
@@ -1,4 +1,5 @@
-using AyCode.Entities.Interfaces;
+
+using AyCode.Interfaces.Entities;
using AyCode.Interfaces.TimeStampInfo;
namespace AyCode.Entities.Users;
diff --git a/AyCode.Entities/Interfaces/IEntity.cs b/AyCode.Interfaces/Entities/IEntity.cs
similarity index 56%
rename from AyCode.Entities/Interfaces/IEntity.cs
rename to AyCode.Interfaces/Entities/IEntity.cs
index ea8045d..a3170cf 100644
--- a/AyCode.Entities/Interfaces/IEntity.cs
+++ b/AyCode.Interfaces/Entities/IEntity.cs
@@ -1,11 +1,8 @@
-using System;
-using System.Collections.Generic;
+
using System.ComponentModel.DataAnnotations;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-namespace AyCode.Entities.Interfaces
+
+namespace AyCode.Interfaces.Entities
{
public interface IEntity
{
diff --git a/AyCode.Entities/Interfaces/IEntityGuid.cs b/AyCode.Interfaces/Entities/IEntityGuid.cs
similarity index 54%
rename from AyCode.Entities/Interfaces/IEntityGuid.cs
rename to AyCode.Interfaces/Entities/IEntityGuid.cs
index 22c9ef2..c65a0f7 100644
--- a/AyCode.Entities/Interfaces/IEntityGuid.cs
+++ b/AyCode.Interfaces/Entities/IEntityGuid.cs
@@ -1,4 +1,4 @@
-namespace AyCode.Entities.Interfaces;
+namespace AyCode.Interfaces.Entities;
public interface IEntityGuid : IEntity
{
diff --git a/AyCode.Entities/Interfaces/IEntityInt.cs b/AyCode.Interfaces/Entities/IEntityInt.cs
similarity index 53%
rename from AyCode.Entities/Interfaces/IEntityInt.cs
rename to AyCode.Interfaces/Entities/IEntityInt.cs
index a187df6..384156d 100644
--- a/AyCode.Entities/Interfaces/IEntityInt.cs
+++ b/AyCode.Interfaces/Entities/IEntityInt.cs
@@ -1,4 +1,4 @@
-namespace AyCode.Entities.Interfaces;
+namespace AyCode.Interfaces.Entities;
public interface IEntityInt : IEntity
{
diff --git a/AyCode.Interfaces/Messages/IMessageBase.cs b/AyCode.Interfaces/Messages/IMessageBase.cs
new file mode 100644
index 0000000..f31c17c
--- /dev/null
+++ b/AyCode.Interfaces/Messages/IMessageBase.cs
@@ -0,0 +1,11 @@
+
+using AyCode.Interfaces.Entities;
+using AyCode.Interfaces.TimeStampInfo;
+
+namespace AyCode.Interfaces.Messages
+{
+ public interface IMessageBase : IEntityGuid, ITimeStampInfo, IMessageParticipants
+ {
+ string Message { get; }
+ }
+}
diff --git a/AyCode.Interfaces/Messages/IMessageParticipants.cs b/AyCode.Interfaces/Messages/IMessageParticipants.cs
new file mode 100644
index 0000000..87adb98
--- /dev/null
+++ b/AyCode.Interfaces/Messages/IMessageParticipants.cs
@@ -0,0 +1,8 @@
+
+namespace AyCode.Interfaces.Messages
+{
+ public interface IMessageParticipants : IMessageSender, IMessageReceiver
+ {
+
+ }
+}
diff --git a/AyCode.Interfaces/Messages/IMessageReceiver.cs b/AyCode.Interfaces/Messages/IMessageReceiver.cs
new file mode 100644
index 0000000..4cf12cd
--- /dev/null
+++ b/AyCode.Interfaces/Messages/IMessageReceiver.cs
@@ -0,0 +1,9 @@
+using AyCode.Interfaces.Entities;
+
+namespace AyCode.Interfaces.Messages
+{
+ public interface IMessageReceiver : IEntityGuid
+ {
+
+ }
+}
diff --git a/AyCode.Interfaces/Messages/IMessageSender.cs b/AyCode.Interfaces/Messages/IMessageSender.cs
new file mode 100644
index 0000000..cee9407
--- /dev/null
+++ b/AyCode.Interfaces/Messages/IMessageSender.cs
@@ -0,0 +1,10 @@
+
+using AyCode.Interfaces.Entities;
+
+namespace AyCode.Interfaces.Messages
+{
+ public interface IMessageSender : IEntityGuid
+ {
+
+ }
+}
diff --git a/AyCode.Interfaces/Messages/IMessageSenderService.cs b/AyCode.Interfaces/Messages/IMessageSenderService.cs
new file mode 100644
index 0000000..114857e
--- /dev/null
+++ b/AyCode.Interfaces/Messages/IMessageSenderService.cs
@@ -0,0 +1,7 @@
+namespace AyCode.Interfaces.Messages
+{
+ internal interface IMessageSenderService
+ {
+ public Task SendMessageAsync(IMessageBase message);
+ }
+}