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.Models.Dtos.Users;
using AyCode.Interfaces.Users.Dtos;
using TIAM.Entities.ServiceProviders;
namespace TIAM.Database.Test
{
[TestClass]
public class UserDalTests : AcUserDalTestBase<UserDal, UserDbContext, User, Profile, UserToken>
public class UserDalTests : AcUserDalTestBase<UserDal, UserDbContext, User, Profile, UserToken, TiamServiceProvider>
{
private Mock<UserDbContext> _mockContext;

View File

@ -11,12 +11,13 @@ using Microsoft.EntityFrameworkCore;
using TIAM.Database.DbContexts.Users;
using TIAM.Database.DbSets.Users;
using TIAM.Entities.Profiles;
using TIAM.Entities.ServiceProviders;
using TIAM.Entities.Users;
using TIAM.Models.Dtos.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()

View File

@ -2,10 +2,11 @@
using AyCode.Entities.Users;
using TIAM.Database.DbSets.Users;
using TIAM.Entities.Profiles;
using TIAM.Entities.ServiceProviders;
using TIAM.Entities.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 TIAM.Entities.Profiles;
using TIAM.Entities.ServiceProviders;
using TIAM.Entities.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);
}
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
#region UserProductMapping
@ -73,9 +68,4 @@ public static class UserEntityTypeBuilderExtensions
}
#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 Microsoft.EntityFrameworkCore.Metadata.Builders;
using TIAM.Entities.Profiles;
using TIAM.Entities.ServiceProviders;
using TIAM.Entities.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.BuildUserToServiceProviderRelation<User, Profile>();
}
}

View File

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

View File

@ -2,7 +2,7 @@
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;
[Table("ServiceProviders")]
public class TiamServiceProvider : ServiceProviderBase
public class TiamServiceProvider : AcServiceProvider
{
public virtual List<Product> Products { get; } = new();

View File

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

View File

@ -2,8 +2,9 @@
using AyCode.Interfaces.Users.Dtos;
using TIAM.Entities.Products;
using TIAM.Entities.Profiles;
using TIAM.Entities.ServiceProviders;
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 TIAM.Entities.Products;
using TIAM.Entities.Profiles;
using TIAM.Entities.ServiceProviders;
namespace TIAM.Entities.Users
{
public class User : UserBase<Profile>, IUser
public class User : AcUser<Profile, TiamServiceProvider>, IUser
{
public virtual List<Product> Products { get; } = new();

View File

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

View File

@ -1,4 +1,6 @@
using AyCode.Interfaces.Users.Dtos;
using TIAM.Entities.Profiles;
using TIAM.Entities.ServiceProviders;
using TIAM.Entities.Users;
namespace TIAM.Models.Dtos.Users;
@ -6,4 +8,7 @@ namespace TIAM.Models.Dtos.Users;
public class UserDto : IUserDto
{
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 TIAM.Entities.Products;
using TIAM.Entities.Profiles;
using TIAM.Entities.ServiceProviders;
using TIAM.Entities.Users;
using TIAM.Models.Dtos.Profiles;
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<Product> Products = new();