AyCode.Core/AyCode.Entities/ServiceProviders/AcServiceProvider.cs

38 lines
1.2 KiB
C#

using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using AyCode.Interfaces.ServiceProviders;
using AyCode.Interfaces.Users;
namespace AyCode.Entities.ServiceProviders
{
[Table("ServiceProviders")]
public abstract class AcServiceProvider<TUser, TUserToServiceProvider> : IAcServiceProvider<TUser, TUserToServiceProvider>
where TUser : class, IAcUserBase
where TUserToServiceProvider : class, IAcUserToServiceProviderBase
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
public Guid Id { get; set; }
public string Name { get; set; }
public Guid OwnerId { get; set; }
public virtual List<TUser> Users { get; set; }
public virtual List<TUserToServiceProvider> UserToServiceProviders { get; set; }
public DateTime Created { get; set; }
public DateTime Modified { get; set; }
protected AcServiceProvider() { }
protected AcServiceProvider(string name, Guid ownerId ) : this(Guid.NewGuid(), name, ownerId) { }
protected AcServiceProvider(Guid id, string name, Guid ownerId) : this()
{
Id = id;
Name = name;
OwnerId = ownerId;
}
}
}