This commit is contained in:
jozsef.b@aycode.com 2023-12-10 14:13:37 +01:00
commit 3df4b45f11
10 changed files with 117 additions and 13 deletions

View File

@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>

View File

@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using AyCode.Interfaces.Groups;
namespace AyCode.Entities.Groups
{
//[Table("Groups")]
public class GroupBase : IGroupBase
{
public GroupBase() { }
public GroupBase(bool isPublic) : this(Guid.NewGuid(), isPublic) { }
public GroupBase(Guid id, bool isPublic) : this()
{
Id = id;
IsPublic = isPublic;
}
//[Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
public Guid Id { get; set; }
public bool IsPublic { get; set; }
public DateTime Created { get; set; }
public DateTime Modified { get; set; }
}
}

View File

@ -6,14 +6,14 @@ using AyCode.Interfaces.Messages;
namespace AyCode.Entities.Messages
{
[Table("Messages")]
public class MessageBase : IMessageBase
[Table("Notices")]
public class NoticeBase : INoticeBase
{
public MessageBase() { }
public NoticeBase() { }
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()
public NoticeBase(Guid senderId, Guid receiverId, string message) : this(Guid.NewGuid(), senderId, receiverId, message) { }
public NoticeBase(Guid id, Guid senderId, Guid receiverId, string message) : this()
{
Id = id;
SenderId = senderId;
@ -23,14 +23,15 @@ namespace AyCode.Entities.Messages
[Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
public Guid Id { get; set; }
public Guid SenderId { get; set; }
public Guid ReceiverId { get; set; }
public string Message { get; set; }
public Guid Id { get; set; }
public DateTime Created { get; set; }
public DateTime Modified { get; set; }
}
}

View File

@ -0,0 +1,32 @@

using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using AyCode.Interfaces.ServiceProviders;
namespace AyCode.Entities.ServiceProviders
{
[Table("ServiceProviders")]
public class ServiceProviderBase : IServiceProviderBase
{
public ServiceProviderBase() { }
public ServiceProviderBase(string name, Guid ownerId ) : this(Guid.NewGuid(), name, ownerId) { }
public ServiceProviderBase(Guid id, string name, Guid ownerId) : this()
{
Id = id;
Name = name;
OwnerId = ownerId;
}
[Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
public Guid Id { get; set; }
public string Name { get; set; }
public Guid OwnerId { get; set; }
public DateTime Created { get; set; }
public DateTime Modified { get; set; }
}
}

View File

@ -0,0 +1,14 @@
using AyCode.Interfaces.Entities;
using AyCode.Interfaces.TimeStampInfo;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AyCode.Interfaces.Groups
{
public interface IGroupBase : IEntity, ITimeStampInfo
{
}
}

View File

@ -4,6 +4,6 @@ namespace AyCode.Interfaces.Messages
{
public interface IMessageSenderService
{
public Task<bool> SendMessageAsync(IMessageBase message, int[] messageTypes);
public Task<string> SendMessageAsync<TNotice>(TNotice message, int messageType) where TNotice : class, INoticeBase;
}
}

View File

@ -5,8 +5,8 @@ using AyCode.Interfaces.TimeStampInfo;
namespace AyCode.Interfaces.Messages
{
public interface IMessageBase : IEntityGuid, ITimeStampInfo, IMessageParticipants
public interface INoticeBase : IEntityGuid, ITimeStampInfo, IMessageParticipants
{
string Message { get; }
string Message { get; }
}
}

View File

@ -0,0 +1,11 @@

using AyCode.Interfaces.Entities;
using AyCode.Interfaces.TimeStampInfo;
namespace AyCode.Interfaces.ServiceProviders;
public interface IServiceProviderBase : IEntityGuid, ITimeStampInfo
{
string Name { get; }
Guid OwnerId { get; }
}

View File

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AyCode.Models.Enums
{
public enum PermissionContextMappingSubjectType
{
User = 1,
Group = 2
}
}

View File

@ -7,12 +7,12 @@ using System.Threading.Tasks;
namespace AyCode.Models.Messages
{
public class EMailMessage : MessageBase
public class EmailMessage : NoticeBase
{
public EMailMessage() { }
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 )
public EmailMessage(Guid senderId, Guid receiverId, string message, string subject, string htmlContent) : base(senderId, receiverId, message )
{
Subject = subject;
HtmlContent = htmlContent;