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
|
namespace TIAM.Database.Test
|
||||||
{
|
{
|
||||||
[TestClass]
|
[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;
|
private Mock<UserDbContext> _mockContext;
|
||||||
|
|
||||||
|
|
@ -40,18 +40,33 @@ namespace TIAM.Database.Test
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
[DataRow("540271F6-C604-4C16-8160-D5A7CAFEDF00")]
|
[DataRow("540271F6-C604-4C16-8160-D5A7CAFEDF00")]
|
||||||
public override void GetUserById_ReturnsUser_WhenUserExists(string userIdString)
|
public void GetUserById_ReturnsUser_WhenUserAndRelationsExists(string userIdString)
|
||||||
=> base.GetUserById_ReturnsUser_WhenUserExists(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]
|
[TestMethod]
|
||||||
[DataRow("test@tiam.hu")]
|
[DataRow("test@tiam.hu")]
|
||||||
public override void GetUserByEmail_ReturnsUser_WhenUserExists(string email)
|
public async Task GetUserByEmailAsync_ReturnsUser_WhenUserAndRelationsExists(string email)
|
||||||
=> base.GetUserByEmail_ReturnsUser_WhenUserExists(email);
|
{
|
||||||
|
var user = await AcBase_GetUserByEmailAsync_ReturnsUser_WhenUserExists(email);
|
||||||
[TestMethod]
|
|
||||||
[DataRow("test@tiam.hu")]
|
Assert.IsTrue(user.ServiceProviders.Count > 0);
|
||||||
public override Task GetUserByEmailAsync_ReturnsUser_WhenUserExists(string email)
|
Assert.IsTrue(user.UserToServiceProviders.Count > 0);
|
||||||
=> base.GetUserByEmailAsync_ReturnsUser_WhenUserExists(email);
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
[DataRow("540271F6-C604-4C16-8160-D5A7CAFEDF00")]
|
[DataRow("540271F6-C604-4C16-8160-D5A7CAFEDF00")]
|
||||||
|
|
@ -80,6 +95,9 @@ namespace TIAM.Database.Test
|
||||||
|
|
||||||
Assert.IsTrue(userModel.Products.Count > 0);
|
Assert.IsTrue(userModel.Products.Count > 0);
|
||||||
Assert.IsTrue(userModel.UserProductMappings.Count > 0);
|
Assert.IsTrue(userModel.UserProductMappings.Count > 0);
|
||||||
|
|
||||||
|
Assert.IsTrue(userModel.ServiceProviders.Count > 0);
|
||||||
|
Assert.IsTrue(userModel.UserToServiceProviders.Count > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
//[TestMethod]
|
//[TestMethod]
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ using TIAM.Models.Dtos.Users;
|
||||||
|
|
||||||
namespace TIAM.Database.DataLayers.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()
|
public UserDal() : base()
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,6 @@ using TIAM.Entities.Users;
|
||||||
|
|
||||||
namespace TIAM.Database.DbContexts.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;
|
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)
|
public override void Configure(EntityTypeBuilder<User> builder)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -4,11 +4,12 @@ using AyCode.Entities.ServiceProviders;
|
||||||
using AyCode.Interfaces.Entities;
|
using AyCode.Interfaces.Entities;
|
||||||
using AyCode.Interfaces.TimeStampInfo;
|
using AyCode.Interfaces.TimeStampInfo;
|
||||||
using TIAM.Entities.Products;
|
using TIAM.Entities.Products;
|
||||||
|
using TIAM.Entities.Users;
|
||||||
|
|
||||||
namespace TIAM.Entities.ServiceProviders;
|
namespace TIAM.Entities.ServiceProviders;
|
||||||
|
|
||||||
[Table("ServiceProviders")]
|
[Table("ServiceProviders")]
|
||||||
public class TiamServiceProvider : AcServiceProvider
|
public class TiamServiceProvider : AcServiceProvider<User, UserToServiceProvider>
|
||||||
{
|
{
|
||||||
public virtual List<Product> Products { get; } = new();
|
public virtual List<Product> Products { get; } = new();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ using TIAM.Entities.ServiceProviders;
|
||||||
|
|
||||||
namespace TIAM.Entities.Users;
|
namespace TIAM.Entities.Users;
|
||||||
|
|
||||||
public interface IUser : IAcUser<Profile, TiamServiceProvider>, IUserDto
|
public interface IUser : IAcUser<Profile, TiamServiceProvider, UserToServiceProvider>, IUserDto
|
||||||
{
|
{
|
||||||
public List<Product> Products { get; }
|
public List<Product> Products { get; }
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,5 +6,5 @@ using TIAM.Entities.ServiceProviders;
|
||||||
|
|
||||||
namespace TIAM.Entities.Users;
|
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
|
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();
|
public virtual List<Product> Products { get; } = new();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,9 +15,7 @@ public class UserProductMapping : IEntityGuid, ITimeStampInfo
|
||||||
public Guid UserId { get; set; }
|
public Guid UserId { get; set; }
|
||||||
public Guid ProductId { get; set; }
|
public Guid ProductId { get; set; }
|
||||||
|
|
||||||
[JsonIgnore]
|
|
||||||
public virtual User User { get; set; }
|
public virtual User User { get; set; }
|
||||||
[JsonIgnore]
|
|
||||||
public virtual Product Product { get; set; }
|
public virtual Product Product { get; set; }
|
||||||
|
|
||||||
public DateTime Created { 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 Guid ProfileId { get; }
|
||||||
public Profile Profile { get; set; }
|
public Profile Profile { get; set; }
|
||||||
public List<TiamServiceProvider> ServiceProviders { 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;
|
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<UserProductMapping> UserProductMappings;
|
||||||
public List<Product> Products = new();
|
public List<Product> Products;
|
||||||
|
|
||||||
public UserModelDto(){}
|
public UserModelDto(){}
|
||||||
public UserModelDto(User user) : base(user)
|
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)
|
foreach (var product in user.Products)
|
||||||
{
|
{
|
||||||
Products.Add(new Product(product.Id, product.ServiceProviderId, product.ProductType, product.Name, product.Description, product.Price, product.JsonDetails));
|
Products.Add(new Product(product.Id, product.ServiceProviderId, product.ProductType, product.Name, product.Description, product.Price, product.JsonDetails));
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,6 @@
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Cryptography.KeyDerivation" Version="8.0.0" />
|
<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" />
|
<PackageReference Include="Microsoft.JSInterop" Version="8.0.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue