refactoring, improvements, fixes, etc...

This commit is contained in:
jozsef.b@aycode.com 2023-12-20 02:51:39 +01:00
parent 0b0aa70e5c
commit 7e59e42dee
16 changed files with 36 additions and 27 deletions

View File

@ -14,11 +14,12 @@ using TIAM.Entities.Profiles;
using TIAM.Entities.Users; using TIAM.Entities.Users;
using TIAM.Models.Dtos.Users; using TIAM.Models.Dtos.Users;
using AyCode.Interfaces.Users.Dtos; using AyCode.Interfaces.Users.Dtos;
using TIAM.Entities.ServiceProviders;
namespace TIAM.Database.Test namespace TIAM.Database.Test
{ {
[TestClass] [TestClass]
public class UserDalTests : AcUserDalTestBase<UserDal, UserDbContext, User, Profile, UserToken> public class UserDalTests : AcUserDalTestBase<UserDal, UserDbContext, User, Profile, UserToken, TiamServiceProvider>
{ {
private Mock<UserDbContext> _mockContext; private Mock<UserDbContext> _mockContext;

View File

@ -11,12 +11,13 @@ using Microsoft.EntityFrameworkCore;
using TIAM.Database.DbContexts.Users; using TIAM.Database.DbContexts.Users;
using TIAM.Database.DbSets.Users; using TIAM.Database.DbSets.Users;
using TIAM.Entities.Profiles; using TIAM.Entities.Profiles;
using TIAM.Entities.ServiceProviders;
using TIAM.Entities.Users; using TIAM.Entities.Users;
using TIAM.Models.Dtos.Users; using TIAM.Models.Dtos.Users;
namespace TIAM.Database.DataLayers.Users namespace TIAM.Database.DataLayers.Users
{ {
public class UserDal : AcUserDalBase<UserDbContext, User, Profile, UserToken> public class UserDal : AcUserDalBase<UserDbContext, User, Profile, UserToken, TiamServiceProvider>
{ {
public UserDal() : base() public UserDal() : base()

View File

@ -2,10 +2,11 @@
using AyCode.Entities.Users; using AyCode.Entities.Users;
using TIAM.Database.DbSets.Users; using TIAM.Database.DbSets.Users;
using TIAM.Entities.Profiles; using TIAM.Entities.Profiles;
using TIAM.Entities.ServiceProviders;
using TIAM.Entities.Users; using TIAM.Entities.Users;
namespace TIAM.Database.DbContexts.Users; namespace TIAM.Database.DbContexts.Users;
public interface IUserDbContext : IAcUserDbContextBase<User, Profile, UserToken>, IUserDbSet public interface IUserDbContext : IAcUserDbContextBase<User, Profile, UserToken, TiamServiceProvider>, IUserDbSet
{ {
} }

View File

@ -1,9 +1,10 @@
using AyCode.Database.DbSets.Users; using AyCode.Database.DbSets.Users;
using TIAM.Entities.Profiles; using TIAM.Entities.Profiles;
using TIAM.Entities.ServiceProviders;
using TIAM.Entities.Users; using TIAM.Entities.Users;
namespace TIAM.Database.DbSets.Users; namespace TIAM.Database.DbSets.Users;
public interface IUserDbSet : IAcUserDbSet<User, Profile> public interface IUserDbSet : IAcUserDbSet<User, Profile, TiamServiceProvider>
{ {
} }

View File

@ -31,11 +31,6 @@ public static class UserEntityTypeBuilderExtensions
modelBuilder.Navigation(e => e.UserProductMappings).AutoInclude(autoInclude); modelBuilder.Navigation(e => e.UserProductMappings).AutoInclude(autoInclude);
} }
public static void BuildUserProfileRelation<TUser, TProfile>(this EntityTypeBuilder<TUser> modelBuilder) where TUser : class, IUserBase<TProfile> where TProfile : class, IAcProfileBase
{
modelBuilder.Navigation(e => e.Profile).AutoInclude(true);
}
#endregion User #endregion User
#region UserProductMapping #region UserProductMapping
@ -73,9 +68,4 @@ public static class UserEntityTypeBuilderExtensions
} }
#endregion UserProductMapping #endregion UserProductMapping
public static void BuildUserToServiceProviderRelation<TUser, TProfile>(this EntityTypeBuilder<TUser> modelBuilder) where TUser : class, IUserBase<TProfile> where TProfile : class, IAcProfileBase
{
}
} }

View File

@ -3,6 +3,7 @@ using AyCode.Database.ModelBuilders.Users;
using AyCode.Interfaces.Users; using AyCode.Interfaces.Users;
using Microsoft.EntityFrameworkCore.Metadata.Builders; using Microsoft.EntityFrameworkCore.Metadata.Builders;
using TIAM.Entities.Profiles; using TIAM.Entities.Profiles;
using TIAM.Entities.ServiceProviders;
using TIAM.Entities.Users; using TIAM.Entities.Users;
namespace TIAM.Database.ModelBuilders.Users; namespace TIAM.Database.ModelBuilders.Users;
@ -15,14 +16,12 @@ public class UserProductMappingEntityTypeDefaultConfiguration : IAcEntityTypeCon
} }
} }
public class UserEntityTypeDefaultConfiguration : IAcEntityTypeConfiguration<User>//AcUserEntityTypeDefaultConfiguration<User> public class UserEntityTypeDefaultConfiguration : AcUserEntityTypeDefaultConfiguration<User, Profile, TiamServiceProvider> //IAcEntityTypeConfiguration<User>//
{ {
public /*override*/ void Configure(EntityTypeBuilder<User> builder) public override void Configure(EntityTypeBuilder<User> builder)
{ {
//base.Configure(builder); base.Configure(builder);
builder.BuildUserProfileRelation<User, Profile>();
builder.BuildUserToUserProductMappingRelation(); builder.BuildUserToUserProductMappingRelation();
builder.BuildUserToServiceProviderRelation<User, Profile>();
} }
} }

View File

@ -2,7 +2,7 @@
namespace TIAM.Entities.Profiles; namespace TIAM.Entities.Profiles;
public interface IProfile : IAcProfileBase, IProfileDto public interface IProfile : IAcProfile, IProfileDto
{ {
} }

View File

@ -2,7 +2,7 @@
namespace TIAM.Entities.Profiles; namespace TIAM.Entities.Profiles;
public class Profile : AcProfileBase, IProfile public class Profile : AcProfile, IProfile
{ {
} }

View File

@ -8,7 +8,7 @@ using TIAM.Entities.Products;
namespace TIAM.Entities.ServiceProviders; namespace TIAM.Entities.ServiceProviders;
[Table("ServiceProviders")] [Table("ServiceProviders")]
public class TiamServiceProvider : ServiceProviderBase public class TiamServiceProvider : AcServiceProvider
{ {
public virtual List<Product> Products { get; } = new(); public virtual List<Product> Products { get; } = new();

View File

@ -1,10 +1,11 @@
using AyCode.Interfaces.Users; using AyCode.Interfaces.Users;
using TIAM.Entities.Products; using TIAM.Entities.Products;
using TIAM.Entities.Profiles; using TIAM.Entities.Profiles;
using TIAM.Entities.ServiceProviders;
namespace TIAM.Entities.Users; namespace TIAM.Entities.Users;
public interface IUser : IUserBase<Profile>, IUserDto public interface IUser : IAcUser<Profile, TiamServiceProvider>, IUserDto
{ {
public List<Product> Products { get; } public List<Product> Products { get; }

View File

@ -2,8 +2,9 @@
using AyCode.Interfaces.Users.Dtos; using AyCode.Interfaces.Users.Dtos;
using TIAM.Entities.Products; using TIAM.Entities.Products;
using TIAM.Entities.Profiles; using TIAM.Entities.Profiles;
using TIAM.Entities.ServiceProviders;
namespace TIAM.Entities.Users; namespace TIAM.Entities.Users;
public interface IUserDto : IAcUserDtoBase public interface IUserDto : IAcUserDtoBase<Profile, TiamServiceProvider>
{ } { }

View File

@ -0,0 +1,7 @@
using AyCode.Interfaces.Users;
namespace TIAM.Entities.Users;
public interface IUserToken : IAcUserTokenBase
{ }

View File

@ -7,10 +7,11 @@ using System.Threading.Tasks;
using AyCode.Entities.Users; using AyCode.Entities.Users;
using TIAM.Entities.Products; using TIAM.Entities.Products;
using TIAM.Entities.Profiles; using TIAM.Entities.Profiles;
using TIAM.Entities.ServiceProviders;
namespace TIAM.Entities.Users namespace TIAM.Entities.Users
{ {
public class User : UserBase<Profile>, IUser public class User : AcUser<Profile, TiamServiceProvider>, IUser
{ {
public virtual List<Product> Products { get; } = new(); public virtual List<Product> Products { get; } = new();

View File

@ -5,6 +5,6 @@ using System.ComponentModel.DataAnnotations.Schema;
namespace TIAM.Entities.Users; namespace TIAM.Entities.Users;
[Table("UserToken")] [Table("UserToken")]
public class UserToken : UserTokenBase public class UserToken : AcUserTokenBase, IUserToken
{ {
} }

View File

@ -1,4 +1,6 @@
using AyCode.Interfaces.Users.Dtos; using AyCode.Interfaces.Users.Dtos;
using TIAM.Entities.Profiles;
using TIAM.Entities.ServiceProviders;
using TIAM.Entities.Users; using TIAM.Entities.Users;
namespace TIAM.Models.Dtos.Users; namespace TIAM.Models.Dtos.Users;
@ -6,4 +8,7 @@ namespace TIAM.Models.Dtos.Users;
public class UserDto : IUserDto public class UserDto : IUserDto
{ {
public Guid Id { get; set; } public Guid Id { get; set; }
public Guid ProfileId { get; }
public Profile Profile { get; set; }
public List<TiamServiceProvider> ServiceProviders { get; set; }
} }

View File

@ -3,12 +3,13 @@ using AyCode.Interfaces.Users.Dtos;
using AyCode.Models.Users; using AyCode.Models.Users;
using TIAM.Entities.Products; using TIAM.Entities.Products;
using TIAM.Entities.Profiles; using TIAM.Entities.Profiles;
using TIAM.Entities.ServiceProviders;
using TIAM.Entities.Users; using TIAM.Entities.Users;
using TIAM.Models.Dtos.Profiles; using TIAM.Models.Dtos.Profiles;
namespace TIAM.Models.Dtos.Users; namespace TIAM.Models.Dtos.Users;
public class UserModelDto : AcUserModelDtoBase<UserDto, Profile, ProfileDto> public class UserModelDto : AcUserModelDtoBase<UserDto, Profile, ProfileDto, TiamServiceProvider>
{ {
public List<UserProductMapping> UserProductMappings = new(); public List<UserProductMapping> UserProductMappings = new();
public List<Product> Products = new(); public List<Product> Products = new();