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 : IAcServiceProvider 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 Users { get; set; } public virtual List 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; } } }