Implement Address; improvements, refactoring, fixes, etc...
This commit is contained in:
parent
2e1630913e
commit
f5285567b5
|
|
@ -66,7 +66,8 @@ namespace TIAM.Database.Test
|
||||||
var product = Dal.GetProductById(productId, true);
|
var product = Dal.GetProductById(productId, true);
|
||||||
|
|
||||||
Assert.IsNotNull(product, "Product is null");
|
Assert.IsNotNull(product, "Product is null");
|
||||||
Assert.IsNotNull(product.Profile);
|
Assert.IsNotNull(product.Profile, "Profile is null");
|
||||||
|
Assert.IsNotNull(product.Profile.Address, "Profile.Address is null");
|
||||||
|
|
||||||
return product;
|
return product;
|
||||||
}
|
}
|
||||||
|
|
@ -79,6 +80,9 @@ namespace TIAM.Database.Test
|
||||||
Assert.IsNotNull(products, "Products is null");
|
Assert.IsNotNull(products, "Products is null");
|
||||||
Assert.IsTrue(products.Count > 0, "No products found");
|
Assert.IsTrue(products.Count > 0, "No products found");
|
||||||
|
|
||||||
|
Assert.IsNotNull(products[0].Profile, "Profile is null");
|
||||||
|
Assert.IsNotNull(products[0].Profile.Address, "Profile.Address is null");
|
||||||
|
|
||||||
Assert.IsNotNull(products[0].ServiceProvider, "ServiceProvider is null");
|
Assert.IsNotNull(products[0].ServiceProvider, "ServiceProvider is null");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -92,6 +96,9 @@ namespace TIAM.Database.Test
|
||||||
Assert.IsNotNull(products, "Products is null");
|
Assert.IsNotNull(products, "Products is null");
|
||||||
Assert.IsTrue(products.Count > 0, "No products found");
|
Assert.IsTrue(products.Count > 0, "No products found");
|
||||||
|
|
||||||
|
Assert.IsNotNull(products[0].Profile, "Profile is null");
|
||||||
|
Assert.IsNotNull(products[0].Profile.Address, "Profile.Address is null");
|
||||||
|
|
||||||
Assert.IsNotNull(products[0].ServiceProvider, "ServiceProvider is null");
|
Assert.IsNotNull(products[0].ServiceProvider, "ServiceProvider is null");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -135,6 +142,9 @@ namespace TIAM.Database.Test
|
||||||
Assert.IsNotNull(userProductMapping.User, "User is null");
|
Assert.IsNotNull(userProductMapping.User, "User is null");
|
||||||
Assert.IsNotNull(userProductMapping.Product, "Product is null");
|
Assert.IsNotNull(userProductMapping.Product, "Product is null");
|
||||||
|
|
||||||
|
Assert.IsNotNull(userProductMapping.User.Profile.Address, "User.Profile.Address is null");
|
||||||
|
Assert.IsNotNull(userProductMapping.Product.Profile.Address, "Product.Profile.Address is null");
|
||||||
|
|
||||||
Assert.IsTrue(userProductMapping.Transfers?.Count != 0, "Transfers?.Count == 0");
|
Assert.IsTrue(userProductMapping.Transfers?.Count != 0, "Transfers?.Count == 0");
|
||||||
Assert.IsTrue(userProductMapping.Id == userProductMappingId, "userProductMapping.Id != userProductMappingId");
|
Assert.IsTrue(userProductMapping.Id == userProductMappingId, "userProductMapping.Id != userProductMappingId");
|
||||||
}
|
}
|
||||||
|
|
@ -258,6 +268,7 @@ namespace TIAM.Database.Test
|
||||||
|
|
||||||
Assert.IsNotNull(user);
|
Assert.IsNotNull(user);
|
||||||
Assert.IsNotNull(user.Profile);
|
Assert.IsNotNull(user.Profile);
|
||||||
|
Assert.IsNotNull(user.Profile.Address, "Profile.Address is null");
|
||||||
|
|
||||||
Assert.IsTrue(user.Id == userId, "user.Id != userId");
|
Assert.IsTrue(user.Id == userId, "user.Id != userId");
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,11 +15,12 @@ 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;
|
using TIAM.Entities.ServiceProviders;
|
||||||
|
using TIAM.Entities.Addresses;
|
||||||
|
|
||||||
namespace TIAM.Database.Test
|
namespace TIAM.Database.Test
|
||||||
{
|
{
|
||||||
[TestClass]
|
[TestClass]
|
||||||
public class UserDalTests : AcUserDalTestBase<UserDal, UserDbContext, User, Profile, UserToken, TiamServiceProvider, UserToServiceProvider>
|
public class UserDalTests : AcUserDalTestBase<UserDal, UserDbContext, User, Profile, UserToken, TiamServiceProvider, UserToServiceProvider, Address>
|
||||||
{
|
{
|
||||||
private Mock<UserDbContext> _mockContext;
|
private Mock<UserDbContext> _mockContext;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ using AyCode.Entities.Users;
|
||||||
using Microsoft.EntityFrameworkCore;
|
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.Addresses;
|
||||||
using TIAM.Entities.Profiles;
|
using TIAM.Entities.Profiles;
|
||||||
using TIAM.Entities.ServiceProviders;
|
using TIAM.Entities.ServiceProviders;
|
||||||
using TIAM.Entities.Users;
|
using TIAM.Entities.Users;
|
||||||
|
|
@ -17,7 +18,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, UserToServiceProvider>
|
public class UserDal : AcUserDalBase<UserDbContext, User, Profile, UserToken, TiamServiceProvider, UserToServiceProvider, Address>
|
||||||
{
|
{
|
||||||
|
|
||||||
public UserDal() : base()
|
public UserDal() : base()
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ using TIAM.Entities.Drivers;
|
||||||
using TIAM.Entities.Emails;
|
using TIAM.Entities.Emails;
|
||||||
using TIAM.Entities.Permissions;
|
using TIAM.Entities.Permissions;
|
||||||
using TIAM.Entities.Products;
|
using TIAM.Entities.Products;
|
||||||
|
using TIAM.Entities.Profiles;
|
||||||
using TIAM.Entities.ServiceProviders;
|
using TIAM.Entities.ServiceProviders;
|
||||||
using TIAM.Entities.TransferDestinations;
|
using TIAM.Entities.TransferDestinations;
|
||||||
using TIAM.Entities.Transfers;
|
using TIAM.Entities.Transfers;
|
||||||
|
|
@ -61,6 +62,7 @@ namespace TIAM.Database.DbContexts.Admins
|
||||||
base.OnModelCreating(modelBuilder);
|
base.OnModelCreating(modelBuilder);
|
||||||
|
|
||||||
new UserEntityTypeDefaultConfiguration().Configure(modelBuilder.Entity<User>());
|
new UserEntityTypeDefaultConfiguration().Configure(modelBuilder.Entity<User>());
|
||||||
|
new ProfileEntityTypeConfigurations().Configure(modelBuilder.Entity<Profile>());
|
||||||
new UserProductMappingEntityTypeDefaultConfiguration().Configure(modelBuilder.Entity<UserProductMapping>());
|
new UserProductMappingEntityTypeDefaultConfiguration().Configure(modelBuilder.Entity<UserProductMapping>());
|
||||||
|
|
||||||
new ProductEntityTypeDefaultConfiguration().Configure(modelBuilder.Entity<Product>());
|
new ProductEntityTypeDefaultConfiguration().Configure(modelBuilder.Entity<Product>());
|
||||||
|
|
|
||||||
|
|
@ -12,5 +12,5 @@ using TIAM.Entities.Users;
|
||||||
namespace TIAM.Database.DbContexts.Users;
|
namespace TIAM.Database.DbContexts.Users;
|
||||||
|
|
||||||
public interface IUserDbContext :
|
public interface IUserDbContext :
|
||||||
IAcUserDbContextBase<User, Profile, UserToken, TiamServiceProvider, UserToServiceProvider>, IUserDbSet, IAddressDbSet, ITransferDestinationDbSet, ITransferDbSet, IEmailMessageDbSet
|
IAcUserDbContextBase<User, Profile, UserToken, TiamServiceProvider, UserToServiceProvider, Address>, IUserDbSet, IAddressDbSet, ITransferDestinationDbSet, ITransferDbSet, IEmailMessageDbSet
|
||||||
{ }
|
{ }
|
||||||
|
|
@ -7,6 +7,7 @@ using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using AyCode.Database.DbContexts;
|
using AyCode.Database.DbContexts;
|
||||||
using AyCode.Database.DbContexts.Users;
|
using AyCode.Database.DbContexts.Users;
|
||||||
|
using AyCode.Database.ModelBuilders.Profiles;
|
||||||
using AyCode.Entities.Users;
|
using AyCode.Entities.Users;
|
||||||
using AyCode.Interfaces.Users;
|
using AyCode.Interfaces.Users;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
@ -19,6 +20,7 @@ using TIAM.Entities.Addresses;
|
||||||
using TIAM.Entities.Emails;
|
using TIAM.Entities.Emails;
|
||||||
using TIAM.Entities.Permissions;
|
using TIAM.Entities.Permissions;
|
||||||
using TIAM.Entities.Products;
|
using TIAM.Entities.Products;
|
||||||
|
using TIAM.Entities.Profiles;
|
||||||
using TIAM.Entities.TransferDestinations;
|
using TIAM.Entities.TransferDestinations;
|
||||||
using TIAM.Entities.Transfers;
|
using TIAM.Entities.Transfers;
|
||||||
using TIAM.Entities.Users;
|
using TIAM.Entities.Users;
|
||||||
|
|
@ -65,6 +67,7 @@ namespace TIAM.Database.DbContexts.Users
|
||||||
base.OnModelCreating(modelBuilder);
|
base.OnModelCreating(modelBuilder);
|
||||||
|
|
||||||
new UserEntityTypeDefaultConfiguration().Configure(modelBuilder.Entity<User>());
|
new UserEntityTypeDefaultConfiguration().Configure(modelBuilder.Entity<User>());
|
||||||
|
new ProfileEntityTypeConfigurations().Configure(modelBuilder.Entity<Profile>());
|
||||||
new ProductEntityTypeDefaultConfiguration().Configure(modelBuilder.Entity<Product>());
|
new ProductEntityTypeDefaultConfiguration().Configure(modelBuilder.Entity<Product>());
|
||||||
|
|
||||||
new TransferEntityTypeDefaultConfigurations().Configure(modelBuilder.Entity<Transfer>());
|
new TransferEntityTypeDefaultConfigurations().Configure(modelBuilder.Entity<Transfer>());
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,11 @@
|
||||||
using AyCode.Database.DbSets.Users;
|
using AyCode.Database.DbSets.Users;
|
||||||
|
using TIAM.Entities.Addresses;
|
||||||
using TIAM.Entities.Profiles;
|
using TIAM.Entities.Profiles;
|
||||||
using TIAM.Entities.ServiceProviders;
|
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, TiamServiceProvider, UserToServiceProvider>
|
public interface IUserDbSet : IAcUserDbSet<User, Profile, TiamServiceProvider, UserToServiceProvider, Address>
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
@ -3,9 +3,11 @@ using AyCode.Database.ModelBuilders.Users;
|
||||||
using AyCode.Interfaces.Users;
|
using AyCode.Interfaces.Users;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||||
|
using TIAM.Entities.Addresses;
|
||||||
using TIAM.Entities.Profiles;
|
using TIAM.Entities.Profiles;
|
||||||
using TIAM.Entities.ServiceProviders;
|
using TIAM.Entities.ServiceProviders;
|
||||||
using TIAM.Entities.Users;
|
using TIAM.Entities.Users;
|
||||||
|
using static AyCode.Database.ModelBuilders.Profiles.AcProfileEntityTypeConfigurations;
|
||||||
|
|
||||||
namespace TIAM.Database.ModelBuilders.Users;
|
namespace TIAM.Database.ModelBuilders.Users;
|
||||||
|
|
||||||
|
|
@ -25,7 +27,7 @@ public class UserProductMappingEntityTypeTransferConfiguration : IAcEntityTypeCo
|
||||||
builder.BuildUserProductMappingToRelations(false);
|
builder.BuildUserProductMappingToRelations(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public class UserEntityTypeDefaultConfiguration : AcUserEntityTypeDefaultConfiguration<User, Profile, TiamServiceProvider, UserToServiceProvider> //IAcEntityTypeConfiguration<User>//
|
public class UserEntityTypeDefaultConfiguration : AcUserEntityTypeDefaultConfiguration<User, Profile, TiamServiceProvider, UserToServiceProvider, Address> //IAcEntityTypeConfiguration<User>//
|
||||||
{
|
{
|
||||||
public override void Configure(EntityTypeBuilder<User> builder)
|
public override void Configure(EntityTypeBuilder<User> builder)
|
||||||
{
|
{
|
||||||
|
|
@ -34,3 +36,15 @@ public class UserEntityTypeDefaultConfiguration : AcUserEntityTypeDefaultConfigu
|
||||||
builder.BuildUserToUserProductMappingRelation();
|
builder.BuildUserToUserProductMappingRelation();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class ProfileEntityTypeConfigurations : AcProfileEntityTypeDefaultConfiguration<Profile, Address>
|
||||||
|
{
|
||||||
|
public override void Configure(EntityTypeBuilder<Profile> builder)
|
||||||
|
{
|
||||||
|
base.Configure(builder);
|
||||||
|
|
||||||
|
//builder.BuildEntityToAddressRelation();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,7 @@
|
||||||
<Folder Include="DbSets\ServiceProvider\" />
|
<Folder Include="DbSets\ServiceProvider\" />
|
||||||
<Folder Include="Extensions\" />
|
<Folder Include="Extensions\" />
|
||||||
<Folder Include="ModelBuilders\Emails\" />
|
<Folder Include="ModelBuilders\Emails\" />
|
||||||
|
<Folder Include="ModelBuilders\Profiles\" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
using AyCode.Interfaces.Profiles;
|
using AyCode.Interfaces.Profiles;
|
||||||
|
using TIAM.Entities.Addresses;
|
||||||
|
|
||||||
namespace TIAM.Entities.Profiles;
|
namespace TIAM.Entities.Profiles;
|
||||||
|
|
||||||
public interface IProfile : IAcProfile, IProfileDto
|
public interface IProfile : IAcProfile<Address>, IProfileDto
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
using AyCode.Entities.Profiles;
|
using AyCode.Entities.Profiles;
|
||||||
|
using TIAM.Entities.Addresses;
|
||||||
|
|
||||||
namespace TIAM.Entities.Profiles;
|
namespace TIAM.Entities.Profiles;
|
||||||
|
|
||||||
public class Profile : AcProfile, IProfile
|
public class Profile : AcProfile<Address>, IProfile
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -1,11 +1,12 @@
|
||||||
using AyCode.Interfaces.Users;
|
using AyCode.Interfaces.Users;
|
||||||
|
using TIAM.Entities.Addresses;
|
||||||
using TIAM.Entities.Products;
|
using TIAM.Entities.Products;
|
||||||
using TIAM.Entities.Profiles;
|
using TIAM.Entities.Profiles;
|
||||||
using TIAM.Entities.ServiceProviders;
|
using TIAM.Entities.ServiceProviders;
|
||||||
|
|
||||||
namespace TIAM.Entities.Users;
|
namespace TIAM.Entities.Users;
|
||||||
|
|
||||||
public interface IUser : IAcUser<Profile, TiamServiceProvider, UserToServiceProvider>, IUserDto
|
public interface IUser : IAcUser<Profile, TiamServiceProvider, UserToServiceProvider, Address>, IUserDto
|
||||||
{
|
{
|
||||||
public List<Product> Products { get; }
|
public List<Product> Products { get; }
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,12 @@
|
||||||
using AyCode.Interfaces.Profiles;
|
using AyCode.Interfaces.Profiles;
|
||||||
using AyCode.Interfaces.Users;
|
using AyCode.Interfaces.Users;
|
||||||
using AyCode.Interfaces.Users.Dtos;
|
using AyCode.Interfaces.Users.Dtos;
|
||||||
|
using TIAM.Entities.Addresses;
|
||||||
using TIAM.Entities.Products;
|
using TIAM.Entities.Products;
|
||||||
using TIAM.Entities.Profiles;
|
using TIAM.Entities.Profiles;
|
||||||
using TIAM.Entities.ServiceProviders;
|
using TIAM.Entities.ServiceProviders;
|
||||||
|
|
||||||
namespace TIAM.Entities.Users;
|
namespace TIAM.Entities.Users;
|
||||||
|
|
||||||
public interface IUserDto : IAcUserDtoBase<Profile, TiamServiceProvider, UserToServiceProvider>
|
public interface IUserDto : IAcUserDtoBase<Profile, TiamServiceProvider, UserToServiceProvider, Address>
|
||||||
{ }
|
{ }
|
||||||
|
|
@ -5,13 +5,14 @@ using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using AyCode.Entities.Users;
|
using AyCode.Entities.Users;
|
||||||
|
using TIAM.Entities.Addresses;
|
||||||
using TIAM.Entities.Products;
|
using TIAM.Entities.Products;
|
||||||
using TIAM.Entities.Profiles;
|
using TIAM.Entities.Profiles;
|
||||||
using TIAM.Entities.ServiceProviders;
|
using TIAM.Entities.ServiceProviders;
|
||||||
|
|
||||||
namespace TIAM.Entities.Users
|
namespace TIAM.Entities.Users
|
||||||
{
|
{
|
||||||
public class User : AcUser<Profile, TiamServiceProvider, UserToServiceProvider>, IUser
|
public class User : AcUser<Profile, TiamServiceProvider, UserToServiceProvider, Address>, IUser
|
||||||
{
|
{
|
||||||
public virtual List<Product> Products { get; } = new();
|
public virtual List<Product> Products { get; } = new();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ public class ProfileDto : IProfileDto
|
||||||
{
|
{
|
||||||
public Guid Id { get; set; }
|
public Guid Id { get; set; }
|
||||||
public Guid? UserMediaId { get; set; }
|
public Guid? UserMediaId { get; set; }
|
||||||
|
public Guid AddressId { get; set; }
|
||||||
|
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
public string? Description { get; set; }
|
public string? Description { get; set; }
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
using AyCode.Entities.Profiles;
|
using AyCode.Entities.Profiles;
|
||||||
using AyCode.Interfaces.Users.Dtos;
|
using AyCode.Interfaces.Users.Dtos;
|
||||||
using AyCode.Models.Users;
|
using AyCode.Models.Users;
|
||||||
|
using TIAM.Entities.Addresses;
|
||||||
using TIAM.Entities.Products;
|
using TIAM.Entities.Products;
|
||||||
using TIAM.Entities.Profiles;
|
using TIAM.Entities.Profiles;
|
||||||
using TIAM.Entities.ServiceProviders;
|
using TIAM.Entities.ServiceProviders;
|
||||||
|
|
@ -9,7 +10,7 @@ using TIAM.Models.Dtos.Profiles;
|
||||||
|
|
||||||
namespace TIAM.Models.Dtos.Users;
|
namespace TIAM.Models.Dtos.Users;
|
||||||
|
|
||||||
public class UserModelDto : AcUserModelDtoBase<UserDto, Profile, ProfileDto, TiamServiceProvider, UserToServiceProvider>, IProductsRelation
|
public class UserModelDto : AcUserModelDtoBase<UserDto, Profile, ProfileDto, TiamServiceProvider, UserToServiceProvider, Address>, IProductsRelation
|
||||||
{
|
{
|
||||||
public List<UserProductMapping> UserProductMappings { get; set; }
|
public List<UserProductMapping> UserProductMappings { get; set; }
|
||||||
public List<Product> Products { get; set; }
|
public List<Product> Products { get; set; }
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue