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); + } +}