From 905347552af1ae44da0d3ef2e64982c383dc1f59 Mon Sep 17 00:00:00 2001 From: Adam Date: Tue, 28 Nov 2023 14:52:24 +0100 Subject: [PATCH] message, entities, ImessageService --- AyCode.Entities/Messages/MessageBase.cs | 12 ++++----- AyCode.Interfaces/Enums/IMessageTypes.cs | 14 +++++++++++ AyCode.Interfaces/Messages/IMessageBase.cs | 1 + .../Messages/IMessageSenderService.cs | 8 +++--- AyCode.Models/Enums/MessageContentType.cs | 25 +++++++++++++++++++ AyCode.Models/Enums/MessageTypesEnum.cs | 18 +++++++++++++ AyCode.Models/Messages/EMailMessage.cs | 21 ++++++++++++++++ .../AyCode.Services.Server.csproj | 9 +++++++ 8 files changed, 99 insertions(+), 9 deletions(-) create mode 100644 AyCode.Interfaces/Enums/IMessageTypes.cs create mode 100644 AyCode.Models/Enums/MessageContentType.cs create mode 100644 AyCode.Models/Enums/MessageTypesEnum.cs create mode 100644 AyCode.Models/Messages/EMailMessage.cs diff --git a/AyCode.Entities/Messages/MessageBase.cs b/AyCode.Entities/Messages/MessageBase.cs index 7fd95e5..2feb408 100644 --- a/AyCode.Entities/Messages/MessageBase.cs +++ b/AyCode.Entities/Messages/MessageBase.cs @@ -12,20 +12,20 @@ namespace AyCode.Entities.Messages 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() + public MessageBase(Guid senderId, Guid receiverId, string message) : this(Guid.NewGuid(), senderId, receiverId, message) { } + public MessageBase(Guid id, Guid senderId, Guid receiverId, string message) : this() { Id = id; - Sender = sender; - Receiver = receiver; + SenderId = senderId; + ReceiverId = receiverId; Message = message; } [Key, DatabaseGenerated(DatabaseGeneratedOption.None)] - public Guid Sender { get; set; } + public Guid SenderId { get; set; } - public Guid Receiver { get; set; } + public Guid ReceiverId { get; set; } public string Message { get; set; } diff --git a/AyCode.Interfaces/Enums/IMessageTypes.cs b/AyCode.Interfaces/Enums/IMessageTypes.cs new file mode 100644 index 0000000..d564844 --- /dev/null +++ b/AyCode.Interfaces/Enums/IMessageTypes.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AyCode.Interfaces.Enums +{ + public interface IMessageTypes + { + public enum MessageTypesEnum { } + + } +} diff --git a/AyCode.Interfaces/Messages/IMessageBase.cs b/AyCode.Interfaces/Messages/IMessageBase.cs index f31c17c..93aacb6 100644 --- a/AyCode.Interfaces/Messages/IMessageBase.cs +++ b/AyCode.Interfaces/Messages/IMessageBase.cs @@ -1,5 +1,6 @@  using AyCode.Interfaces.Entities; +using AyCode.Interfaces.Enums; using AyCode.Interfaces.TimeStampInfo; namespace AyCode.Interfaces.Messages diff --git a/AyCode.Interfaces/Messages/IMessageSenderService.cs b/AyCode.Interfaces/Messages/IMessageSenderService.cs index 114857e..c201675 100644 --- a/AyCode.Interfaces/Messages/IMessageSenderService.cs +++ b/AyCode.Interfaces/Messages/IMessageSenderService.cs @@ -1,7 +1,9 @@ -namespace AyCode.Interfaces.Messages +using AyCode.Interfaces.Enums; + +namespace AyCode.Interfaces.Messages { - internal interface IMessageSenderService + public interface IMessageSenderService { - public Task SendMessageAsync(IMessageBase message); + public Task SendMessageAsync(IMessageBase message, int[] messageTypes); } } diff --git a/AyCode.Models/Enums/MessageContentType.cs b/AyCode.Models/Enums/MessageContentType.cs new file mode 100644 index 0000000..4cb86eb --- /dev/null +++ b/AyCode.Models/Enums/MessageContentType.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AyCode.Models.Enums +{ + + public enum MessageContentType + { + Text, + Image, + Video, + Audio, + File, + Location, + Contact, + Sticker, + Gif, + VoiceNote, + System + } + +} diff --git a/AyCode.Models/Enums/MessageTypesEnum.cs b/AyCode.Models/Enums/MessageTypesEnum.cs new file mode 100644 index 0000000..931b7ff --- /dev/null +++ b/AyCode.Models/Enums/MessageTypesEnum.cs @@ -0,0 +1,18 @@ +using AyCode.Interfaces.Enums; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AyCode.Models.Enums +{ + public enum MessageTypesEnum + { + email = 1, + sms = 2, + push = 3, + chat = 4 + } +} diff --git a/AyCode.Models/Messages/EMailMessage.cs b/AyCode.Models/Messages/EMailMessage.cs new file mode 100644 index 0000000..cced456 --- /dev/null +++ b/AyCode.Models/Messages/EMailMessage.cs @@ -0,0 +1,21 @@ +using AyCode.Entities.Messages; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AyCode.Models.Messages +{ + public class EMailMessage : MessageBase + { + public EMailMessage() { } + public string Subject { get; set; } + public string HtmlContent { get; set; } + public EMailMessage(Guid senderId, Guid receiverId, string message, string subject, string htmlContent) : base(senderId, receiverId, message ) + { + Subject = subject; + HtmlContent = htmlContent; + } + } +} diff --git a/AyCode.Services.Server/AyCode.Services.Server.csproj b/AyCode.Services.Server/AyCode.Services.Server.csproj index 666a91a..cd70628 100644 --- a/AyCode.Services.Server/AyCode.Services.Server.csproj +++ b/AyCode.Services.Server/AyCode.Services.Server.csproj @@ -6,6 +6,11 @@ enable + + + + + @@ -19,4 +24,8 @@ + + + +