AyCode.Core/AyCode.Database/DbSets/Users/IAcUserDbSetBase.cs

36 lines
1.4 KiB
C#

using AyCode.Database.DbSets.Addresses;
using AyCode.Database.DbSets.Companies;
using AyCode.Database.DbSets.Profiles;
using AyCode.Interfaces.Addresses;
using AyCode.Interfaces.Profiles;
using AyCode.Interfaces.ServiceProviders;
using AyCode.Interfaces.Users;
using Microsoft.EntityFrameworkCore;
namespace AyCode.Database.DbSets.Users;
public interface IAcUserDbSetBase<TUser> where TUser : class, IAcUserBase
{
DbSet<TUser> Users { get; set; }
}
public interface IAcUserDbSetBase<TUser, TProfile, TAddress> : IAcUserDbSetBase<TUser>, IAcProfileDbSetBase<TProfile, TAddress>
where TUser : class, IAcUserBase
where TProfile : class, IAcProfile<TAddress>
where TAddress : class, IAcAddress
{ }
public interface IAcUserDbSetBase<TUser, TProfile, TCompany, TAddress> : IAcUserDbSetBase<TUser, TProfile, TAddress>, IAcCompanyDbSetBase<TCompany>
where TUser : class, IAcUserBase
where TProfile : class, IAcProfile<TAddress>
where TCompany : class, IAcCompanyBase
where TAddress : class, IAcAddress
{ }
public interface IAcUserDbSetBase<TUser, TProfile, TCompany, TUserToCompany, TAddress> : IAcUserDbSetBase<TUser, TProfile, TCompany, TAddress>
where TUser : class, IAcUserBase, IAcUser<TProfile, TCompany, TUserToCompany, TAddress>
where TProfile : class, IAcProfile<TAddress>
where TCompany : class, IAcCompanyBase
where TUserToCompany : class, IAcUserToCompanyBase
where TAddress : class, IAcAddress
{ }