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);
|
||||
|
||||
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;
|
||||
}
|
||||
|
|
@ -79,6 +80,9 @@ namespace TIAM.Database.Test
|
|||
Assert.IsNotNull(products, "Products is null");
|
||||
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");
|
||||
|
||||
}
|
||||
|
|
@ -92,6 +96,9 @@ namespace TIAM.Database.Test
|
|||
Assert.IsNotNull(products, "Products is null");
|
||||
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");
|
||||
}
|
||||
|
||||
|
|
@ -135,6 +142,9 @@ namespace TIAM.Database.Test
|
|||
Assert.IsNotNull(userProductMapping.User, "User 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.Id == userProductMappingId, "userProductMapping.Id != userProductMappingId");
|
||||
}
|
||||
|
|
@ -258,6 +268,7 @@ namespace TIAM.Database.Test
|
|||
|
||||
Assert.IsNotNull(user);
|
||||
Assert.IsNotNull(user.Profile);
|
||||
Assert.IsNotNull(user.Profile.Address, "Profile.Address is null");
|
||||
|
||||
Assert.IsTrue(user.Id == userId, "user.Id != userId");
|
||||
|
||||
|
|
|
|||
|
|
@ -15,11 +15,12 @@ using TIAM.Entities.Users;
|
|||
using TIAM.Models.Dtos.Users;
|
||||
using AyCode.Interfaces.Users.Dtos;
|
||||
using TIAM.Entities.ServiceProviders;
|
||||
using TIAM.Entities.Addresses;
|
||||
|
||||
namespace TIAM.Database.Test
|
||||
{
|
||||
[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;
|
||||
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ using AyCode.Entities.Users;
|
|||
using Microsoft.EntityFrameworkCore;
|
||||
using TIAM.Database.DbContexts.Users;
|
||||
using TIAM.Database.DbSets.Users;
|
||||
using TIAM.Entities.Addresses;
|
||||
using TIAM.Entities.Profiles;
|
||||
using TIAM.Entities.ServiceProviders;
|
||||
using TIAM.Entities.Users;
|
||||
|
|
@ -17,7 +18,7 @@ using TIAM.Models.Dtos.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()
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ using TIAM.Entities.Drivers;
|
|||
using TIAM.Entities.Emails;
|
||||
using TIAM.Entities.Permissions;
|
||||
using TIAM.Entities.Products;
|
||||
using TIAM.Entities.Profiles;
|
||||
using TIAM.Entities.ServiceProviders;
|
||||
using TIAM.Entities.TransferDestinations;
|
||||
using TIAM.Entities.Transfers;
|
||||
|
|
@ -61,6 +62,7 @@ namespace TIAM.Database.DbContexts.Admins
|
|||
base.OnModelCreating(modelBuilder);
|
||||
|
||||
new UserEntityTypeDefaultConfiguration().Configure(modelBuilder.Entity<User>());
|
||||
new ProfileEntityTypeConfigurations().Configure(modelBuilder.Entity<Profile>());
|
||||
new UserProductMappingEntityTypeDefaultConfiguration().Configure(modelBuilder.Entity<UserProductMapping>());
|
||||
|
||||
new ProductEntityTypeDefaultConfiguration().Configure(modelBuilder.Entity<Product>());
|
||||
|
|
|
|||
|
|
@ -12,5 +12,5 @@ using TIAM.Entities.Users;
|
|||
namespace TIAM.Database.DbContexts.Users;
|
||||
|
||||
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 AyCode.Database.DbContexts;
|
||||
using AyCode.Database.DbContexts.Users;
|
||||
using AyCode.Database.ModelBuilders.Profiles;
|
||||
using AyCode.Entities.Users;
|
||||
using AyCode.Interfaces.Users;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
|
@ -19,6 +20,7 @@ using TIAM.Entities.Addresses;
|
|||
using TIAM.Entities.Emails;
|
||||
using TIAM.Entities.Permissions;
|
||||
using TIAM.Entities.Products;
|
||||
using TIAM.Entities.Profiles;
|
||||
using TIAM.Entities.TransferDestinations;
|
||||
using TIAM.Entities.Transfers;
|
||||
using TIAM.Entities.Users;
|
||||
|
|
@ -65,6 +67,7 @@ namespace TIAM.Database.DbContexts.Users
|
|||
base.OnModelCreating(modelBuilder);
|
||||
|
||||
new UserEntityTypeDefaultConfiguration().Configure(modelBuilder.Entity<User>());
|
||||
new ProfileEntityTypeConfigurations().Configure(modelBuilder.Entity<Profile>());
|
||||
new ProductEntityTypeDefaultConfiguration().Configure(modelBuilder.Entity<Product>());
|
||||
|
||||
new TransferEntityTypeDefaultConfigurations().Configure(modelBuilder.Entity<Transfer>());
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
using AyCode.Database.DbSets.Users;
|
||||
using TIAM.Entities.Addresses;
|
||||
using TIAM.Entities.Profiles;
|
||||
using TIAM.Entities.ServiceProviders;
|
||||
using TIAM.Entities.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 Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
using TIAM.Entities.Addresses;
|
||||
using TIAM.Entities.Profiles;
|
||||
using TIAM.Entities.ServiceProviders;
|
||||
using TIAM.Entities.Users;
|
||||
using static AyCode.Database.ModelBuilders.Profiles.AcProfileEntityTypeConfigurations;
|
||||
|
||||
namespace TIAM.Database.ModelBuilders.Users;
|
||||
|
||||
|
|
@ -25,7 +27,7 @@ public class UserProductMappingEntityTypeTransferConfiguration : IAcEntityTypeCo
|
|||
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)
|
||||
{
|
||||
|
|
@ -34,3 +36,15 @@ public class UserEntityTypeDefaultConfiguration : AcUserEntityTypeDefaultConfigu
|
|||
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="Extensions\" />
|
||||
<Folder Include="ModelBuilders\Emails\" />
|
||||
<Folder Include="ModelBuilders\Profiles\" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
using AyCode.Interfaces.Profiles;
|
||||
using TIAM.Entities.Addresses;
|
||||
|
||||
namespace TIAM.Entities.Profiles;
|
||||
|
||||
public interface IProfile : IAcProfile, IProfileDto
|
||||
public interface IProfile : IAcProfile<Address>, IProfileDto
|
||||
{
|
||||
|
||||
}
|
||||
|
|
@ -1,8 +1,9 @@
|
|||
using AyCode.Entities.Profiles;
|
||||
using TIAM.Entities.Addresses;
|
||||
|
||||
namespace TIAM.Entities.Profiles;
|
||||
|
||||
public class Profile : AcProfile, IProfile
|
||||
public class Profile : AcProfile<Address>, IProfile
|
||||
{
|
||||
|
||||
}
|
||||
|
|
@ -1,11 +1,12 @@
|
|||
using AyCode.Interfaces.Users;
|
||||
using TIAM.Entities.Addresses;
|
||||
using TIAM.Entities.Products;
|
||||
using TIAM.Entities.Profiles;
|
||||
using TIAM.Entities.ServiceProviders;
|
||||
|
||||
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; }
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,12 @@
|
|||
using AyCode.Interfaces.Profiles;
|
||||
using AyCode.Interfaces.Users;
|
||||
using AyCode.Interfaces.Users.Dtos;
|
||||
using TIAM.Entities.Addresses;
|
||||
using TIAM.Entities.Products;
|
||||
using TIAM.Entities.Profiles;
|
||||
using TIAM.Entities.ServiceProviders;
|
||||
|
||||
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.Threading.Tasks;
|
||||
using AyCode.Entities.Users;
|
||||
using TIAM.Entities.Addresses;
|
||||
using TIAM.Entities.Products;
|
||||
using TIAM.Entities.Profiles;
|
||||
using TIAM.Entities.ServiceProviders;
|
||||
|
||||
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();
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ public class ProfileDto : IProfileDto
|
|||
{
|
||||
public Guid Id { get; set; }
|
||||
public Guid? UserMediaId { get; set; }
|
||||
public Guid AddressId { get; set; }
|
||||
|
||||
public string Name { get; set; }
|
||||
public string? Description { get; set; }
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
using AyCode.Entities.Profiles;
|
||||
using AyCode.Interfaces.Users.Dtos;
|
||||
using AyCode.Models.Users;
|
||||
using TIAM.Entities.Addresses;
|
||||
using TIAM.Entities.Products;
|
||||
using TIAM.Entities.Profiles;
|
||||
using TIAM.Entities.ServiceProviders;
|
||||
|
|
@ -9,7 +10,7 @@ using TIAM.Models.Dtos.Profiles;
|
|||
|
||||
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<Product> Products { get; set; }
|
||||
|
|
|
|||
Loading…
Reference in New Issue