Impelement ServicProvider and Mapping to AcUserModel; refactoring, improvements, fixes, etc...
This commit is contained in:
parent
7e59e42dee
commit
00a9528732
|
|
@ -19,7 +19,7 @@ using TIAM.Entities.ServiceProviders;
|
|||
namespace TIAM.Database.Test
|
||||
{
|
||||
[TestClass]
|
||||
public class UserDalTests : AcUserDalTestBase<UserDal, UserDbContext, User, Profile, UserToken, TiamServiceProvider>
|
||||
public class UserDalTests : AcUserDalTestBase<UserDal, UserDbContext, User, Profile, UserToken, TiamServiceProvider, UserToServiceProvider>
|
||||
{
|
||||
private Mock<UserDbContext> _mockContext;
|
||||
|
||||
|
|
@ -40,18 +40,33 @@ namespace TIAM.Database.Test
|
|||
|
||||
[TestMethod]
|
||||
[DataRow("540271F6-C604-4C16-8160-D5A7CAFEDF00")]
|
||||
public override void GetUserById_ReturnsUser_WhenUserExists(string userIdString)
|
||||
=> base.GetUserById_ReturnsUser_WhenUserExists(userIdString);
|
||||
public void GetUserById_ReturnsUser_WhenUserAndRelationsExists(string userIdString)
|
||||
{
|
||||
var user = AcBase_GetUserById_ReturnsUser_WhenUserExists(userIdString);
|
||||
|
||||
Assert.IsTrue(user.ServiceProviders.Count > 0);
|
||||
Assert.IsTrue(user.UserToServiceProviders.Count > 0);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DataRow("test@tiam.hu")]
|
||||
public void GetUserByEmail_ReturnsUser_WhenUserAndRelationsExists(string email)
|
||||
{
|
||||
var user = AcBase_GetUserByEmail_ReturnsUser_WhenUserExists(email);
|
||||
|
||||
Assert.IsTrue(user.ServiceProviders.Count > 0);
|
||||
Assert.IsTrue(user.UserToServiceProviders.Count > 0);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DataRow("test@tiam.hu")]
|
||||
public override void GetUserByEmail_ReturnsUser_WhenUserExists(string email)
|
||||
=> base.GetUserByEmail_ReturnsUser_WhenUserExists(email);
|
||||
|
||||
[TestMethod]
|
||||
[DataRow("test@tiam.hu")]
|
||||
public override Task GetUserByEmailAsync_ReturnsUser_WhenUserExists(string email)
|
||||
=> base.GetUserByEmailAsync_ReturnsUser_WhenUserExists(email);
|
||||
public async Task GetUserByEmailAsync_ReturnsUser_WhenUserAndRelationsExists(string email)
|
||||
{
|
||||
var user = await AcBase_GetUserByEmailAsync_ReturnsUser_WhenUserExists(email);
|
||||
|
||||
Assert.IsTrue(user.ServiceProviders.Count > 0);
|
||||
Assert.IsTrue(user.UserToServiceProviders.Count > 0);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DataRow("540271F6-C604-4C16-8160-D5A7CAFEDF00")]
|
||||
|
|
@ -80,6 +95,9 @@ namespace TIAM.Database.Test
|
|||
|
||||
Assert.IsTrue(userModel.Products.Count > 0);
|
||||
Assert.IsTrue(userModel.UserProductMappings.Count > 0);
|
||||
|
||||
Assert.IsTrue(userModel.ServiceProviders.Count > 0);
|
||||
Assert.IsTrue(userModel.UserToServiceProviders.Count > 0);
|
||||
}
|
||||
|
||||
//[TestMethod]
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ using TIAM.Models.Dtos.Users;
|
|||
|
||||
namespace TIAM.Database.DataLayers.Users
|
||||
{
|
||||
public class UserDal : AcUserDalBase<UserDbContext, User, Profile, UserToken, TiamServiceProvider>
|
||||
public class UserDal : AcUserDalBase<UserDbContext, User, Profile, UserToken, TiamServiceProvider, UserToServiceProvider>
|
||||
{
|
||||
|
||||
public UserDal() : base()
|
||||
|
|
|
|||
|
|
@ -7,6 +7,6 @@ using TIAM.Entities.Users;
|
|||
|
||||
namespace TIAM.Database.DbContexts.Users;
|
||||
|
||||
public interface IUserDbContext : IAcUserDbContextBase<User, Profile, UserToken, TiamServiceProvider>, IUserDbSet
|
||||
public interface IUserDbContext : IAcUserDbContextBase<User, Profile, UserToken, TiamServiceProvider, UserToServiceProvider>, IUserDbSet
|
||||
{
|
||||
}
|
||||
|
|
@ -5,6 +5,6 @@ using TIAM.Entities.Users;
|
|||
|
||||
namespace TIAM.Database.DbSets.Users;
|
||||
|
||||
public interface IUserDbSet : IAcUserDbSet<User, Profile, TiamServiceProvider>
|
||||
public interface IUserDbSet : IAcUserDbSet<User, Profile, TiamServiceProvider, UserToServiceProvider>
|
||||
{
|
||||
}
|
||||
|
|
@ -16,7 +16,7 @@ public class UserProductMappingEntityTypeDefaultConfiguration : IAcEntityTypeCon
|
|||
}
|
||||
}
|
||||
|
||||
public class UserEntityTypeDefaultConfiguration : AcUserEntityTypeDefaultConfiguration<User, Profile, TiamServiceProvider> //IAcEntityTypeConfiguration<User>//
|
||||
public class UserEntityTypeDefaultConfiguration : AcUserEntityTypeDefaultConfiguration<User, Profile, TiamServiceProvider, UserToServiceProvider> //IAcEntityTypeConfiguration<User>//
|
||||
{
|
||||
public override void Configure(EntityTypeBuilder<User> builder)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -4,11 +4,12 @@ using AyCode.Entities.ServiceProviders;
|
|||
using AyCode.Interfaces.Entities;
|
||||
using AyCode.Interfaces.TimeStampInfo;
|
||||
using TIAM.Entities.Products;
|
||||
using TIAM.Entities.Users;
|
||||
|
||||
namespace TIAM.Entities.ServiceProviders;
|
||||
|
||||
[Table("ServiceProviders")]
|
||||
public class TiamServiceProvider : AcServiceProvider
|
||||
public class TiamServiceProvider : AcServiceProvider<User, UserToServiceProvider>
|
||||
{
|
||||
public virtual List<Product> Products { get; } = new();
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ using TIAM.Entities.ServiceProviders;
|
|||
|
||||
namespace TIAM.Entities.Users;
|
||||
|
||||
public interface IUser : IAcUser<Profile, TiamServiceProvider>, IUserDto
|
||||
public interface IUser : IAcUser<Profile, TiamServiceProvider, UserToServiceProvider>, IUserDto
|
||||
{
|
||||
public List<Product> Products { get; }
|
||||
|
||||
|
|
|
|||
|
|
@ -6,5 +6,5 @@ using TIAM.Entities.ServiceProviders;
|
|||
|
||||
namespace TIAM.Entities.Users;
|
||||
|
||||
public interface IUserDto : IAcUserDtoBase<Profile, TiamServiceProvider>
|
||||
public interface IUserDto : IAcUserDtoBase<Profile, TiamServiceProvider, UserToServiceProvider>
|
||||
{ }
|
||||
|
|
@ -11,7 +11,7 @@ using TIAM.Entities.ServiceProviders;
|
|||
|
||||
namespace TIAM.Entities.Users
|
||||
{
|
||||
public class User : AcUser<Profile, TiamServiceProvider>, IUser
|
||||
public class User : AcUser<Profile, TiamServiceProvider, UserToServiceProvider>, IUser
|
||||
{
|
||||
public virtual List<Product> Products { get; } = new();
|
||||
|
||||
|
|
|
|||
|
|
@ -15,9 +15,7 @@ public class UserProductMapping : IEntityGuid, ITimeStampInfo
|
|||
public Guid UserId { get; set; }
|
||||
public Guid ProductId { get; set; }
|
||||
|
||||
[JsonIgnore]
|
||||
public virtual User User { get; set; }
|
||||
[JsonIgnore]
|
||||
public virtual Product Product { get; set; }
|
||||
|
||||
public DateTime Created { get; set; }
|
||||
|
|
|
|||
|
|
@ -0,0 +1,9 @@
|
|||
using AyCode.Entities.Users;
|
||||
using TIAM.Entities.ServiceProviders;
|
||||
|
||||
namespace TIAM.Entities.Users;
|
||||
|
||||
public class UserToServiceProvider : AcUserToServiceProvider<User, TiamServiceProvider>
|
||||
{
|
||||
|
||||
}
|
||||
|
|
@ -11,4 +11,5 @@ public class UserDto : IUserDto
|
|||
public Guid ProfileId { get; }
|
||||
public Profile Profile { get; set; }
|
||||
public List<TiamServiceProvider> ServiceProviders { get; set; }
|
||||
public List<UserToServiceProvider> UserToServiceProviders { get; set; }
|
||||
}
|
||||
|
|
@ -9,14 +9,23 @@ using TIAM.Models.Dtos.Profiles;
|
|||
|
||||
namespace TIAM.Models.Dtos.Users;
|
||||
|
||||
public class UserModelDto : AcUserModelDtoBase<UserDto, Profile, ProfileDto, TiamServiceProvider>
|
||||
public class UserModelDto : AcUserModelDtoBase<UserDto, Profile, ProfileDto, TiamServiceProvider, UserToServiceProvider>
|
||||
{
|
||||
public List<UserProductMapping> UserProductMappings = new();
|
||||
public List<Product> Products = new();
|
||||
public List<UserProductMapping> UserProductMappings;
|
||||
public List<Product> Products;
|
||||
|
||||
public UserModelDto(){}
|
||||
public UserModelDto(User user) : base(user)
|
||||
{
|
||||
if (user.Products.Count == 0) return;
|
||||
|
||||
//így proxy error lesz... - J.
|
||||
//Products = new List<Product>(user.Products);
|
||||
//UserProductMappings = new List<UserProductMapping>(user.UserProductMappings);
|
||||
|
||||
Products = new List<Product>(user.Products.Count);
|
||||
UserProductMappings = new List<UserProductMapping>(user.UserProductMappings.Count);
|
||||
|
||||
foreach (var product in user.Products)
|
||||
{
|
||||
Products.Add(new Product(product.Id, product.ServiceProviderId, product.ProductType, product.Name, product.Description, product.Price, product.JsonDetails));
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@
|
|||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.AspNetCore.Cryptography.KeyDerivation" Version="8.0.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Identity" Version="2.2.0" />
|
||||
<PackageReference Include="Microsoft.JSInterop" Version="8.0.0" />
|
||||
</ItemGroup>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue