AyCode.Core/AyCode.Interfaces/ServiceProviders/IAcCompany.cs

31 lines
1.1 KiB
C#

using AyCode.Interfaces.Addresses;
using AyCode.Interfaces.Profiles.Dtos;
using AyCode.Interfaces.Profiles;
using AyCode.Interfaces.Users;
namespace AyCode.Interfaces.ServiceProviders;
public interface IAcCompany<TProfile> : IAcCompanyBase, IAcProfileRelation<TProfile>
where TProfile : IAcProfileDtoBase
{
public void SetProfile(TProfile profile);
}
public interface IAcCompany<TProfile, TAddress> : IAcCompany<TProfile>
where TProfile : IAcProfile<TAddress>
where TAddress : class, IAcAddress
{}
public interface IAcCompany<TUser, TUserToCompany, TProfile> : IAcCompany<TProfile>, IAcUsersRelation<TUser, TUserToCompany>
where TUser : IAcUserBase
where TUserToCompany : IAcUserToCompanyBase
where TProfile : IAcProfileDtoBase
{}
public interface IAcCompany<TUser, TUserToCompany, TProfile, TAddress> : IAcCompany<TUser, TUserToCompany, TProfile>, IAcCompany<TProfile, TAddress>
where TUser : IAcUserBase
where TUserToCompany : IAcUserToCompanyBase
where TProfile : IAcProfile<TAddress>
where TAddress : class, IAcAddress
{}