From f6b9cf39a55425dd742193661241e61c2e8c7128 Mon Sep 17 00:00:00 2001 From: "jozsef.b@aycode.com" <9Rj@D}fVwBaN> Date: Sun, 28 Apr 2024 14:02:51 +0200 Subject: [PATCH] refactoring, fixes... --- TIAM.Entities/Products/ProductBase.cs | 2 +- TIAM.Entities/Profiles/IProfile.cs | 5 +++-- TIAM.Entities/Profiles/IProfileRelation.cs | 3 ++- TIAM.Entities/Profiles/Profile.cs | 2 +- .../ServiceProviders/ITiamServiceProvider.cs | 9 +++++++++ .../ServiceProviders/ITiamServiceProviderBase.cs | 7 +++++++ TIAM.Entities/ServiceProviders/TiamServiceProvider.cs | 4 +++- TIAM.Entities/Users/IUser.cs | 2 +- TIAM.Entities/Users/IUserBase.cs | 6 ++++++ TIAM.Entities/Users/IUserDto.cs | 10 ++++++++-- TIAM.Entities/Users/IUserToServiceProvider.cs | 11 +++++++++++ TIAM.Entities/Users/IUserToServiceProviderBase.cs | 6 ++++++ TIAM.Entities/Users/UserToServiceProvider.cs | 4 +++- TIAM.Models/Dtos/Users/UserDto.cs | 3 ++- 14 files changed, 63 insertions(+), 11 deletions(-) create mode 100644 TIAM.Entities/ServiceProviders/ITiamServiceProvider.cs create mode 100644 TIAM.Entities/ServiceProviders/ITiamServiceProviderBase.cs create mode 100644 TIAM.Entities/Users/IUserBase.cs create mode 100644 TIAM.Entities/Users/IUserToServiceProvider.cs create mode 100644 TIAM.Entities/Users/IUserToServiceProviderBase.cs diff --git a/TIAM.Entities/Products/ProductBase.cs b/TIAM.Entities/Products/ProductBase.cs index 8f0e6924..362bf4b6 100644 --- a/TIAM.Entities/Products/ProductBase.cs +++ b/TIAM.Entities/Products/ProductBase.cs @@ -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 { [Key, DatabaseGenerated(DatabaseGeneratedOption.None)] public Guid Id { get; set; } diff --git a/TIAM.Entities/Profiles/IProfile.cs b/TIAM.Entities/Profiles/IProfile.cs index 7f0a75e5..06ec1d3a 100644 --- a/TIAM.Entities/Profiles/IProfile.cs +++ b/TIAM.Entities/Profiles/IProfile.cs @@ -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
, IProfileDto +public interface IProfile : IAcProfile, IProfileDto where TAddress : class, IAddress { } \ No newline at end of file diff --git a/TIAM.Entities/Profiles/IProfileRelation.cs b/TIAM.Entities/Profiles/IProfileRelation.cs index aa1267f2..0700cffc 100644 --- a/TIAM.Entities/Profiles/IProfileRelation.cs +++ b/TIAM.Entities/Profiles/IProfileRelation.cs @@ -1,7 +1,8 @@ using AyCode.Interfaces.Profiles; +using AyCode.Interfaces.Profiles.Dtos; namespace TIAM.Entities.Profiles; -public interface IProfileRelation : IAcProfileRelation, IProfileForeignKey +public interface IProfileRelation : IAcProfileRelation, IProfileForeignKey where TProfile : class, IProfileDto { } \ No newline at end of file diff --git a/TIAM.Entities/Profiles/Profile.cs b/TIAM.Entities/Profiles/Profile.cs index 9f24e800..7037e453 100644 --- a/TIAM.Entities/Profiles/Profile.cs +++ b/TIAM.Entities/Profiles/Profile.cs @@ -3,7 +3,7 @@ using TIAM.Entities.Addresses; namespace TIAM.Entities.Profiles; -public class Profile : AcProfile
, IProfile +public class Profile : AcProfile
, IProfile
{ } \ No newline at end of file diff --git a/TIAM.Entities/ServiceProviders/ITiamServiceProvider.cs b/TIAM.Entities/ServiceProviders/ITiamServiceProvider.cs new file mode 100644 index 00000000..4623c4bf --- /dev/null +++ b/TIAM.Entities/ServiceProviders/ITiamServiceProvider.cs @@ -0,0 +1,9 @@ +using AyCode.Interfaces.ServiceProviders; +using TIAM.Entities.Users; + +namespace TIAM.Entities.ServiceProviders; + +public interface ITiamServiceProvider : IAcServiceProvider, ITiamServiceProviderBase + where TUser : class, IUserBase + where TIUserToServiceProvider : class, IUserToServiceProviderBase +{} \ No newline at end of file diff --git a/TIAM.Entities/ServiceProviders/ITiamServiceProviderBase.cs b/TIAM.Entities/ServiceProviders/ITiamServiceProviderBase.cs new file mode 100644 index 00000000..62613601 --- /dev/null +++ b/TIAM.Entities/ServiceProviders/ITiamServiceProviderBase.cs @@ -0,0 +1,7 @@ +using AyCode.Interfaces.ServiceProviders; + +namespace TIAM.Entities.ServiceProviders; + +public interface ITiamServiceProviderBase : IAcServiceProviderBase +{ +} \ No newline at end of file diff --git a/TIAM.Entities/ServiceProviders/TiamServiceProvider.cs b/TIAM.Entities/ServiceProviders/TiamServiceProvider.cs index 359cef8e..53293c89 100644 --- a/TIAM.Entities/ServiceProviders/TiamServiceProvider.cs +++ b/TIAM.Entities/ServiceProviders/TiamServiceProvider.cs @@ -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 +public class TiamServiceProvider : AcServiceProvider, ITiamServiceProvider { public virtual List Products { get; } = new(); diff --git a/TIAM.Entities/Users/IUser.cs b/TIAM.Entities/Users/IUser.cs index c66d7899..96c41353 100644 --- a/TIAM.Entities/Users/IUser.cs +++ b/TIAM.Entities/Users/IUser.cs @@ -6,7 +6,7 @@ using TIAM.Entities.ServiceProviders; namespace TIAM.Entities.Users; -public interface IUser : IAcUser, IUserDto +public interface IUser : IAcUser, IUserDto, IUserBase { public List Products { get; } diff --git a/TIAM.Entities/Users/IUserBase.cs b/TIAM.Entities/Users/IUserBase.cs new file mode 100644 index 00000000..7be2d09b --- /dev/null +++ b/TIAM.Entities/Users/IUserBase.cs @@ -0,0 +1,6 @@ +using AyCode.Interfaces.Users; + +namespace TIAM.Entities.Users; + +public interface IUserBase : IAcUserBase +{} \ No newline at end of file diff --git a/TIAM.Entities/Users/IUserDto.cs b/TIAM.Entities/Users/IUserDto.cs index 977cf60b..32d1d154 100644 --- a/TIAM.Entities/Users/IUserDto.cs +++ b/TIAM.Entities/Users/IUserDto.cs @@ -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 +public interface IUserDto : IAcUserDtoBase + where TProfile : class, IProfile + where TServiceProvider : class, ITiamServiceProviderBase + where TUserToServiceProvider : class, IUserToServiceProviderBase + where TProfileAddress : class, IAddress { } \ No newline at end of file diff --git a/TIAM.Entities/Users/IUserToServiceProvider.cs b/TIAM.Entities/Users/IUserToServiceProvider.cs new file mode 100644 index 00000000..407ed533 --- /dev/null +++ b/TIAM.Entities/Users/IUserToServiceProvider.cs @@ -0,0 +1,11 @@ +using TIAM.Entities.ServiceProviders; + +namespace TIAM.Entities.Users; + +public interface IUserToServiceProvider : IUserToServiceProviderBase + where TUser : class, IUserBase + where TServiceProvider : class, ITiamServiceProviderBase +{ + public TUser User { get; set; } + public TServiceProvider ServiceProvider { get; set; } +} \ No newline at end of file diff --git a/TIAM.Entities/Users/IUserToServiceProviderBase.cs b/TIAM.Entities/Users/IUserToServiceProviderBase.cs new file mode 100644 index 00000000..af406e05 --- /dev/null +++ b/TIAM.Entities/Users/IUserToServiceProviderBase.cs @@ -0,0 +1,6 @@ +using AyCode.Interfaces.Users; + +namespace TIAM.Entities.Users; + +public interface IUserToServiceProviderBase : IAcUserToServiceProviderBase +{} \ No newline at end of file diff --git a/TIAM.Entities/Users/UserToServiceProvider.cs b/TIAM.Entities/Users/UserToServiceProvider.cs index fd8b254a..4f714a36 100644 --- a/TIAM.Entities/Users/UserToServiceProvider.cs +++ b/TIAM.Entities/Users/UserToServiceProvider.cs @@ -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 +public class UserToServiceProvider : AcUserToServiceProvider, IUserToServiceProvider { } \ No newline at end of file diff --git a/TIAM.Models/Dtos/Users/UserDto.cs b/TIAM.Models/Dtos/Users/UserDto.cs index b0d9139a..391ab926 100644 --- a/TIAM.Models/Dtos/Users/UserDto.cs +++ b/TIAM.Models/Dtos/Users/UserDto.cs @@ -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 { public Guid Id { get; set; }