refactoring, fixes...

This commit is contained in:
jozsef.b@aycode.com 2024-04-28 14:02:51 +02:00
parent 4026ebae5f
commit f6b9cf39a5
14 changed files with 63 additions and 11 deletions

View File

@ -9,7 +9,7 @@ using TIAM.Entities.Profiles;
namespace TIAM.Entities.Products;
public abstract class ProductBase : IEntityGuid, ITimeStampInfo, IProfileRelation
public abstract class ProductBase : IEntityGuid, ITimeStampInfo, IProfileRelation<Profile>
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
public Guid Id { get; set; }

View File

@ -1,9 +1,10 @@
using AyCode.Interfaces.Profiles;
using AyCode.Interfaces.Addresses;
using AyCode.Interfaces.Profiles;
using TIAM.Entities.Addresses;
namespace TIAM.Entities.Profiles;
public interface IProfile : IAcProfile<Address>, IProfileDto
public interface IProfile<TAddress> : IAcProfile<TAddress>, IProfileDto where TAddress : class, IAddress
{
}

View File

@ -1,7 +1,8 @@
using AyCode.Interfaces.Profiles;
using AyCode.Interfaces.Profiles.Dtos;
namespace TIAM.Entities.Profiles;
public interface IProfileRelation : IAcProfileRelation<Profile>, IProfileForeignKey
public interface IProfileRelation<TProfile> : IAcProfileRelation<TProfile>, IProfileForeignKey where TProfile : class, IProfileDto
{
}

View File

@ -3,7 +3,7 @@ using TIAM.Entities.Addresses;
namespace TIAM.Entities.Profiles;
public class Profile : AcProfile<Address>, IProfile
public class Profile : AcProfile<Address>, IProfile<Address>
{
}

View File

@ -0,0 +1,9 @@
using AyCode.Interfaces.ServiceProviders;
using TIAM.Entities.Users;
namespace TIAM.Entities.ServiceProviders;
public interface ITiamServiceProvider<TUser, TIUserToServiceProvider> : IAcServiceProvider<TUser, TIUserToServiceProvider>, ITiamServiceProviderBase
where TUser : class, IUserBase
where TIUserToServiceProvider : class, IUserToServiceProviderBase
{}

View File

@ -0,0 +1,7 @@
using AyCode.Interfaces.ServiceProviders;
namespace TIAM.Entities.ServiceProviders;
public interface ITiamServiceProviderBase : IAcServiceProviderBase
{
}

View File

@ -1,15 +1,17 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using AyCode.Entities.ServiceProviders;
using AyCode.Interfaces;
using AyCode.Interfaces.Entities;
using AyCode.Interfaces.TimeStampInfo;
using AyCode.Interfaces.Users;
using TIAM.Entities.Products;
using TIAM.Entities.Users;
namespace TIAM.Entities.ServiceProviders;
[Table("ServiceProviders")]
public class TiamServiceProvider : AcServiceProvider<User, UserToServiceProvider>
public class TiamServiceProvider : AcServiceProvider<User, UserToServiceProvider>, ITiamServiceProvider<User, UserToServiceProvider>
{
public virtual List<Product> Products { get; } = new();

View File

@ -6,7 +6,7 @@ using TIAM.Entities.ServiceProviders;
namespace TIAM.Entities.Users;
public interface IUser : IAcUser<Profile, TiamServiceProvider, UserToServiceProvider, Address>, IUserDto
public interface IUser : IAcUser<Profile, TiamServiceProvider, UserToServiceProvider, Address>, IUserDto<Profile, TiamServiceProvider, UserToServiceProvider, Address>, IUserBase
{
public List<Product> Products { get; }

View File

@ -0,0 +1,6 @@
using AyCode.Interfaces.Users;
namespace TIAM.Entities.Users;
public interface IUserBase : IAcUserBase
{}

View File

@ -1,4 +1,6 @@
using AyCode.Interfaces.Profiles;
using AyCode.Interfaces.Addresses;
using AyCode.Interfaces.Profiles;
using AyCode.Interfaces.ServiceProviders;
using AyCode.Interfaces.Users;
using AyCode.Interfaces.Users.Dtos;
using TIAM.Entities.Addresses;
@ -8,5 +10,9 @@ using TIAM.Entities.ServiceProviders;
namespace TIAM.Entities.Users;
public interface IUserDto : IAcUserDtoBase<Profile, TiamServiceProvider, UserToServiceProvider, Address>
public interface IUserDto<TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress> : IAcUserDtoBase<TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
where TProfile : class, IProfile<TProfileAddress>
where TServiceProvider : class, ITiamServiceProviderBase
where TUserToServiceProvider : class, IUserToServiceProviderBase
where TProfileAddress : class, IAddress
{ }

View File

@ -0,0 +1,11 @@
using TIAM.Entities.ServiceProviders;
namespace TIAM.Entities.Users;
public interface IUserToServiceProvider<TUser, TServiceProvider> : IUserToServiceProviderBase
where TUser : class, IUserBase
where TServiceProvider : class, ITiamServiceProviderBase
{
public TUser User { get; set; }
public TServiceProvider ServiceProvider { get; set; }
}

View File

@ -0,0 +1,6 @@
using AyCode.Interfaces.Users;
namespace TIAM.Entities.Users;
public interface IUserToServiceProviderBase : IAcUserToServiceProviderBase
{}

View File

@ -1,9 +1,11 @@
using AyCode.Entities.Users;
using AyCode.Interfaces.ServiceProviders;
using AyCode.Interfaces.Users;
using TIAM.Entities.ServiceProviders;
namespace TIAM.Entities.Users;
public class UserToServiceProvider : AcUserToServiceProvider<User, TiamServiceProvider>
public class UserToServiceProvider : AcUserToServiceProvider<User, TiamServiceProvider>, IUserToServiceProvider<User, TiamServiceProvider>
{
}

View File

@ -1,11 +1,12 @@
using AyCode.Interfaces.Users.Dtos;
using TIAM.Entities.Addresses;
using TIAM.Entities.Profiles;
using TIAM.Entities.ServiceProviders;
using TIAM.Entities.Users;
namespace TIAM.Models.Dtos.Users;
public class UserDto : IUserDto
public class UserDto : IUserDto<Profile, TiamServiceProvider, UserToServiceProvider, Address>
{
public Guid Id { get; set; }