diff --git a/TIAM.Database.Test/ServiceProviderDalTest.cs b/TIAM.Database.Test/ServiceProviderDalTest.cs index 1c1e9e06..c40d4ce9 100644 --- a/TIAM.Database.Test/ServiceProviderDalTest.cs +++ b/TIAM.Database.Test/ServiceProviderDalTest.cs @@ -12,6 +12,7 @@ using TIAM.Database.DbContexts.ServiceProviders; using TIAM.Database.DbSets.Permissions; using TIAM.Entities.Products; using TIAM.Entities.Users; +using TIAM.Models.Dtos.Users; namespace TIAM.Database.Test { @@ -105,6 +106,37 @@ namespace TIAM.Database.Test Assert.IsNotNull(userProductMapping.Product, "Product is null"); } + [TestMethod] + [DataRow("540271F6-C604-4C16-8160-D5A7CAFEDF00")] + [DataRow("dcf451d2-cc4c-4ac2-8c1f-da00041be1fd")] + [DataRow("ac612aa8-863b-4b4f-9d63-f5d261b5c5f9")] + public void SerializeUserModelDto_ReturnDeserializedUser_WhenUserAndRelationsExists(string userIdString) + { + var userId = Guid.Parse(userIdString); + + JsonSerializerSettings options = new() + { + ReferenceLoopHandling = ReferenceLoopHandling.Ignore, + NullValueHandling = NullValueHandling.Ignore + }; + + var userModel = Dal.GetUserModelDtoById(userId); + + var serializedUserModel = JsonConvert.SerializeObject(userModel, options); + userModel = JsonConvert.DeserializeObject(serializedUserModel); + + Assert.IsNotNull(userModel); + Assert.IsNotNull(userModel.UserDto); + Assert.IsNotNull(userModel.Profile); + + if (userId != Guid.Parse("540271F6-C604-4C16-8160-D5A7CAFEDF00")) return; //csak az "540271F6.."-nek van product-ja! - J. + + 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] //[DataRow("540271F6-C604-4C16-8160-D5A7CAFEDF00")] //public void SerializeUser_ReturnDeserializedUser_WhenUserAndRelationsExists(string userIdString) diff --git a/TIAM.Database.Test/TIAM.Database.Test.csproj b/TIAM.Database.Test/TIAM.Database.Test.csproj index 58787465..a4d46fba 100644 --- a/TIAM.Database.Test/TIAM.Database.Test.csproj +++ b/TIAM.Database.Test/TIAM.Database.Test.csproj @@ -15,7 +15,7 @@ - + diff --git a/TIAM.Database.Test/UserDalTests.cs b/TIAM.Database.Test/UserDalTests.cs index 708f55a2..f1b3f69c 100644 --- a/TIAM.Database.Test/UserDalTests.cs +++ b/TIAM.Database.Test/UserDalTests.cs @@ -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 + public class UserDalTests : AcUserDalTestBase { private Mock _mockContext; @@ -39,21 +40,38 @@ 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")] + [DataRow("dcf451d2-cc4c-4ac2-8c1f-da00041be1fd")] + [DataRow("ac612aa8-863b-4b4f-9d63-f5d261b5c5f9")] public async Task SerializeUserModelDto_ReturnDeserializedUser_WhenUserAndRelationsExists(string userIdString) { var userId = Guid.Parse(userIdString); @@ -72,9 +90,14 @@ namespace TIAM.Database.Test Assert.IsNotNull(userModel); Assert.IsNotNull(userModel.UserDto); Assert.IsNotNull(userModel.Profile); - + + if (userId != Guid.Parse("540271F6-C604-4C16-8160-D5A7CAFEDF00")) return; //csak az "540271F6.."-nek van product-ja! - J. + 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] diff --git a/TIAM.Database/DataLayers/ServiceProviders/ServiceProviderDal.cs b/TIAM.Database/DataLayers/ServiceProviders/ServiceProviderDal.cs index 38041400..ea952308 100644 --- a/TIAM.Database/DataLayers/ServiceProviders/ServiceProviderDal.cs +++ b/TIAM.Database/DataLayers/ServiceProviders/ServiceProviderDal.cs @@ -36,6 +36,7 @@ namespace TIAM.Database.DataLayers.ServiceProviders public User? GetUserByEmail(string email, bool autoInclude = false) => Session(x => x.GetUserByEmail(email, autoInclude)); public UserModelDto? GetUserModelDtoById(Guid userId) => Session(x => x.GetUserModelDtoById(userId)); + public Task GetUserModelDtoByIdAsync(Guid userId) => SessionAsync(x => x.GetUserModelDtoById(userId)); public UserModelDto? GetUserModelDtoByEmail(string email) => Session(x => x.GetUserModelDtoByEmail(email)); public UserProductMapping? GetUserProductMappingById(Guid userProductMappingId, bool autoInclude = true) => Session(x => x.GetUserProductMappingById(userProductMappingId, autoInclude)); diff --git a/TIAM.Database/DataLayers/Users/UserDal.cs b/TIAM.Database/DataLayers/Users/UserDal.cs index 79ae65f7..5328ca5b 100644 --- a/TIAM.Database/DataLayers/Users/UserDal.cs +++ b/TIAM.Database/DataLayers/Users/UserDal.cs @@ -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 + public class UserDal : AcUserDalBase { public UserDal() : base() @@ -32,6 +33,7 @@ namespace TIAM.Database.DataLayers.Users return Context.Users.ToListAsync(); } + public UserModelDto? GetUserModelDtoById(Guid userId) => Session(x => x.GetUserModelDtoById(userId)); public Task GetUserModelDtoByIdAsync(Guid userId) => SessionAsync(x => x.GetUserModelDtoById(userId)); public Task GetUserModelDtoByEmailAsync(string email) => SessionAsync(x => x.GetUserModelDtoByEmail(email)); public Task> GetAllUsersModelDtoAsync() => SessionAsync(x => x.GetAllUsersModelDto().ToList()); diff --git a/TIAM.Database/DbContexts/ServiceProviders/ServiceProviderDbContext.cs b/TIAM.Database/DbContexts/ServiceProviders/ServiceProviderDbContext.cs index b4e3e562..73a21689 100644 --- a/TIAM.Database/DbContexts/ServiceProviders/ServiceProviderDbContext.cs +++ b/TIAM.Database/DbContexts/ServiceProviders/ServiceProviderDbContext.cs @@ -60,7 +60,7 @@ namespace TIAM.Database.DbContexts.ServiceProviders base.OnModelCreating(modelBuilder); new UserEntityTypeDefaultConfiguration().Configure(modelBuilder.Entity()); - new UserProductMappingEntityTypeDefaultConfiguration().Configure(modelBuilder.Entity()); + //new UserProductMappingEntityTypeDefaultConfiguration().Configure(modelBuilder.Entity()); new ProductEntityTypeDefaultConfiguration().Configure(modelBuilder.Entity()); } diff --git a/TIAM.Database/DbContexts/Users/IUserDbContext.cs b/TIAM.Database/DbContexts/Users/IUserDbContext.cs index 873d3348..311b4d7e 100644 --- a/TIAM.Database/DbContexts/Users/IUserDbContext.cs +++ b/TIAM.Database/DbContexts/Users/IUserDbContext.cs @@ -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, IUserDbSet +public interface IUserDbContext : IAcUserDbContextBase, IUserDbSet { } \ No newline at end of file diff --git a/TIAM.Database/DbContexts/Users/UserDbContext.cs b/TIAM.Database/DbContexts/Users/UserDbContext.cs index 7f152c12..85df6bad 100644 --- a/TIAM.Database/DbContexts/Users/UserDbContext.cs +++ b/TIAM.Database/DbContexts/Users/UserDbContext.cs @@ -53,8 +53,9 @@ namespace TIAM.Database.DbContexts.Users base.OnModelCreating(modelBuilder); new UserEntityTypeDefaultConfiguration().Configure(modelBuilder.Entity()); - - modelBuilder.Entity().BuildProductToServiceProviderRelation(); + new ProductEntityTypeDefaultConfiguration().Configure(modelBuilder.Entity()); + + //modelBuilder.Entity().BuildProductToServiceProviderRelation(); //new UserProductMappingEntityTypeDefaultConfiguration().Configure(modelBuilder.Entity()); } } diff --git a/TIAM.Database/DbSets/Users/IUserDbSet.cs b/TIAM.Database/DbSets/Users/IUserDbSet.cs index 4374b6fc..ddc6b6f4 100644 --- a/TIAM.Database/DbSets/Users/IUserDbSet.cs +++ b/TIAM.Database/DbSets/Users/IUserDbSet.cs @@ -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 +public interface IUserDbSet : IAcUserDbSet { } \ No newline at end of file diff --git a/TIAM.Database/DbSets/Users/UserDbSetExtensions.cs b/TIAM.Database/DbSets/Users/UserDbSetExtensions.cs index fd903e6b..90d4f7f1 100644 --- a/TIAM.Database/DbSets/Users/UserDbSetExtensions.cs +++ b/TIAM.Database/DbSets/Users/UserDbSetExtensions.cs @@ -22,12 +22,12 @@ public static class UserDbSetExtensions => ctx.UsersWithProductRelations(autoInclude).FirstOrDefault(x => x.EmailAddress == email); public static UserModelDto? GetUserModelDtoById(this IUserDbSet ctx, Guid userId) - => ctx.GetUsersById(userId).Select(x => new UserModelDto(x, x.Profile, x.UserProductMappings, x.Products)).FirstOrDefault(); + => ctx.GetUsersById(userId).Select(user => new UserModelDto(user)).FirstOrDefault(); public static UserModelDto? GetUserModelDtoByEmail(this IUserDbSet ctx, string email) - => ctx.GetUsersByEmail(email).Select(x => new UserModelDto(x, x.Profile, x.UserProductMappings, x.Products)).FirstOrDefault(); + => ctx.GetUsersByEmail(email).Select(user => new UserModelDto(user)).FirstOrDefault(); public static IQueryable GetAllUsersModelDto(this IUserDbSet ctx) - => ctx.Users.Select(x => new UserModelDto(x, x.Profile, x.UserProductMappings, x.Products)); + => ctx.Users.Select(user => new UserModelDto(user)); } \ No newline at end of file diff --git a/TIAM.Database/ModelBuilders/Users/UserEntityTypeBuilderExtensions.cs b/TIAM.Database/ModelBuilders/Users/UserEntityTypeBuilderExtensions.cs index c6f0b9de..4afd378c 100644 --- a/TIAM.Database/ModelBuilders/Users/UserEntityTypeBuilderExtensions.cs +++ b/TIAM.Database/ModelBuilders/Users/UserEntityTypeBuilderExtensions.cs @@ -68,9 +68,4 @@ public static class UserEntityTypeBuilderExtensions } #endregion UserProductMapping - - public static void BuildUserToServiceProviderRelation(this EntityTypeBuilder modelBuilder) where TUser : class, IUserBase where TProfile : class, IAcProfileBase - { - } - } \ No newline at end of file diff --git a/TIAM.Database/ModelBuilders/Users/UserEntityTypeConfigurations.cs b/TIAM.Database/ModelBuilders/Users/UserEntityTypeConfigurations.cs index d2b34ea1..ea6857b6 100644 --- a/TIAM.Database/ModelBuilders/Users/UserEntityTypeConfigurations.cs +++ b/TIAM.Database/ModelBuilders/Users/UserEntityTypeConfigurations.cs @@ -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,13 +16,12 @@ public class UserProductMappingEntityTypeDefaultConfiguration : IAcEntityTypeCon } } -public class UserEntityTypeDefaultConfiguration : IAcEntityTypeConfiguration//AcUserEntityTypeDefaultConfiguration +public class UserEntityTypeDefaultConfiguration : AcUserEntityTypeDefaultConfiguration //IAcEntityTypeConfiguration// { - public /*override*/ void Configure(EntityTypeBuilder builder) + public override void Configure(EntityTypeBuilder builder) { - //base.Configure(builder); + base.Configure(builder); builder.BuildUserToUserProductMappingRelation(); - builder.BuildUserToServiceProviderRelation(); } } diff --git a/TIAM.Entities/Products/IProductRelation.cs b/TIAM.Entities/Products/IProductRelation.cs new file mode 100644 index 00000000..bf605a9a --- /dev/null +++ b/TIAM.Entities/Products/IProductRelation.cs @@ -0,0 +1,12 @@ +using AyCode.Interfaces.ServiceProviders; +using AyCode.Interfaces.Users; +using TIAM.Entities.Users; + +namespace TIAM.Entities.Products; + +public interface IProductRelation +{ + public List UserProductMappings { get; set; } + public List Products { get; set; } + +} \ No newline at end of file diff --git a/TIAM.Entities/Profiles/IProfile.cs b/TIAM.Entities/Profiles/IProfile.cs index 5645ed37..638bd078 100644 --- a/TIAM.Entities/Profiles/IProfile.cs +++ b/TIAM.Entities/Profiles/IProfile.cs @@ -2,7 +2,7 @@ namespace TIAM.Entities.Profiles; -public interface IProfile : IAcProfileBase, IProfileDto +public interface IProfile : IAcProfile, IProfileDto { } \ No newline at end of file diff --git a/TIAM.Entities/Profiles/Profile.cs b/TIAM.Entities/Profiles/Profile.cs index b21628e6..a1c80c44 100644 --- a/TIAM.Entities/Profiles/Profile.cs +++ b/TIAM.Entities/Profiles/Profile.cs @@ -2,7 +2,7 @@ namespace TIAM.Entities.Profiles; -public class Profile : AcProfileBase, IProfile +public class Profile : AcProfile, IProfile { } \ No newline at end of file diff --git a/TIAM.Entities/ServiceProviders/ServiceProvider.cs b/TIAM.Entities/ServiceProviders/ServiceProvider.cs index 28ace6b5..546222f4 100644 --- a/TIAM.Entities/ServiceProviders/ServiceProvider.cs +++ b/TIAM.Entities/ServiceProviders/ServiceProvider.cs @@ -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 : ServiceProviderBase +public class TiamServiceProvider : AcServiceProvider { public virtual List Products { get; } = new(); diff --git a/TIAM.Entities/Users/IUser.cs b/TIAM.Entities/Users/IUser.cs index cff97c84..442d2964 100644 --- a/TIAM.Entities/Users/IUser.cs +++ b/TIAM.Entities/Users/IUser.cs @@ -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, IUserDto +public interface IUser : IAcUser, IUserDto { public List Products { get; } diff --git a/TIAM.Entities/Users/IUserDto.cs b/TIAM.Entities/Users/IUserDto.cs index 98bce817..3d953cad 100644 --- a/TIAM.Entities/Users/IUserDto.cs +++ b/TIAM.Entities/Users/IUserDto.cs @@ -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 { } \ No newline at end of file diff --git a/TIAM.Entities/Users/IUserToken.cs b/TIAM.Entities/Users/IUserToken.cs new file mode 100644 index 00000000..c7422b61 --- /dev/null +++ b/TIAM.Entities/Users/IUserToken.cs @@ -0,0 +1,7 @@ +using AyCode.Interfaces.Users; + +namespace TIAM.Entities.Users; + +public interface IUserToken : IAcUserTokenBase +{ } + diff --git a/TIAM.Entities/Users/User.cs b/TIAM.Entities/Users/User.cs index 9262674d..ba921f91 100644 --- a/TIAM.Entities/Users/User.cs +++ b/TIAM.Entities/Users/User.cs @@ -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, IUser + public class User : AcUser, IUser { public virtual List Products { get; } = new(); diff --git a/TIAM.Entities/Users/UserProductMapping.cs b/TIAM.Entities/Users/UserProductMapping.cs index 02792d8e..35350235 100644 --- a/TIAM.Entities/Users/UserProductMapping.cs +++ b/TIAM.Entities/Users/UserProductMapping.cs @@ -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; } diff --git a/TIAM.Entities/Users/UserToServiceProvider.cs b/TIAM.Entities/Users/UserToServiceProvider.cs new file mode 100644 index 00000000..fd8b254a --- /dev/null +++ b/TIAM.Entities/Users/UserToServiceProvider.cs @@ -0,0 +1,9 @@ +using AyCode.Entities.Users; +using TIAM.Entities.ServiceProviders; + +namespace TIAM.Entities.Users; + +public class UserToServiceProvider : AcUserToServiceProvider +{ + +} \ No newline at end of file diff --git a/TIAM.Entities/Users/UserToken.cs b/TIAM.Entities/Users/UserToken.cs index 5afd1022..2fb0b27c 100644 --- a/TIAM.Entities/Users/UserToken.cs +++ b/TIAM.Entities/Users/UserToken.cs @@ -5,6 +5,6 @@ using System.ComponentModel.DataAnnotations.Schema; namespace TIAM.Entities.Users; [Table("UserToken")] -public class UserToken : UserTokenBase +public class UserToken : AcUserTokenBase, IUserToken { } \ No newline at end of file diff --git a/TIAM.Models/Dtos/Users/UserDto.cs b/TIAM.Models/Dtos/Users/UserDto.cs index 1dd5169e..a82eb157 100644 --- a/TIAM.Models/Dtos/Users/UserDto.cs +++ b/TIAM.Models/Dtos/Users/UserDto.cs @@ -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,8 @@ 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 ServiceProviders { get; set; } + public List UserToServiceProviders { get; set; } } \ No newline at end of file diff --git a/TIAM.Models/Dtos/Users/UserModelDto.cs b/TIAM.Models/Dtos/Users/UserModelDto.cs index af14d99c..6a69f5f4 100644 --- a/TIAM.Models/Dtos/Users/UserModelDto.cs +++ b/TIAM.Models/Dtos/Users/UserModelDto.cs @@ -3,25 +3,35 @@ 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 +public class UserModelDto : AcUserModelDtoBase, IProductRelation { - public List UserProductMappings = new(); - public List Products = new(); + public List UserProductMappings { get; set; } + public List Products { get; set; } public UserModelDto(){} - public UserModelDto(User user, Profile profile, List userProductMappings, List products) : base(user, profile) + public UserModelDto(User user) : base(user) { - foreach (var product in products) + if (user.Products.Count == 0) return; + + //így proxy error lesz... - J. + //Products = new List(user.Products); + //UserProductMappings = new List(user.UserProductMappings); + + Products = new List(user.Products.Count); + UserProductMappings = new List(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)); } - foreach (var userProduct in userProductMappings) + foreach (var userProduct in user.UserProductMappings) { UserProductMappings.Add(new UserProductMapping(userProduct.Id, userProduct.UserId, userProduct.ProductId)); } diff --git a/TIAMSharedUI/Pages/DbTestComponent.razor b/TIAMSharedUI/Pages/DbTestComponent.razor index 94cca67d..440abd62 100644 --- a/TIAMSharedUI/Pages/DbTestComponent.razor +++ b/TIAMSharedUI/Pages/DbTestComponent.razor @@ -13,7 +13,7 @@ else @foreach (var dest in Users) {

- @(dest.Profile == null ? dest.UserDto.Id.ToString() : dest.Profile.Name) + @(dest.Profile.Name.IsNullOrWhiteSpace() ? dest.Id.ToString() : dest.Profile.Name)

} diff --git a/TIAMWebApp/Client/Services/UserDataServiceWeb.cs b/TIAMWebApp/Client/Services/UserDataServiceWeb.cs index 0738fc56..1908a823 100644 --- a/TIAMWebApp/Client/Services/UserDataServiceWeb.cs +++ b/TIAMWebApp/Client/Services/UserDataServiceWeb.cs @@ -38,17 +38,11 @@ namespace TIAMWebApp.Client.Services public async Task IsLoggedInAsync(Guid id) { - UserSessionModel user = null; //api call to get user var userModelDto = await GetUserByIdAsync(id); if (userModelDto != null) { - var a = userModelDto.UserProductMappings.FirstOrDefault()?.Product; - - if (a != null) - logToBrowserConsole.LogToBC($"{a.Name}"); - //get user's properties var hasProperties = await serviceProviderDataService.GetPropertiesByOwnerIdAsync(userModelDto.Id); @@ -56,7 +50,7 @@ namespace TIAMWebApp.Client.Services logToBrowserConsole.LogToBC($"{hasProperties.Count} properties found"); //create user session model - user = new UserSessionModel(userModelDto.Id, UserType.User, userModelDto.Profile?.Name, hasProperties, 1); + var user = new UserSessionModel(userModelDto.Id, UserType.User, userModelDto.Profile?.Name, hasProperties, 1); return user; } else @@ -146,9 +140,11 @@ namespace TIAMWebApp.Client.Services { var url = $"{Setting.BaseUrl}/{APIUrls.GetUserById}"; logToBrowserConsole.LogToBC("GetUserByIdAsync url: " + url + ", " + id.ToString()); + var response = await http.PostAsJsonAsync(url, id); var result = await response.Content.ReadAsStringAsync(); var user = JsonConvert.DeserializeObject(result); + return user; } diff --git a/TIAMWebApp/Server/Controllers/UserAPIController.cs b/TIAMWebApp/Server/Controllers/UserAPIController.cs index d5f764d4..ccc7f62c 100644 --- a/TIAMWebApp/Server/Controllers/UserAPIController.cs +++ b/TIAMWebApp/Server/Controllers/UserAPIController.cs @@ -344,13 +344,7 @@ namespace TIAMWebApp.Server.Controllers public Task GetUserById([FromBody] Guid id) { Logger.Info($"GetUserById called with id: {id}"); - var result = _userDal.GetUserModelDtoByIdAsync(id); - - //var b = result.UserProductMappings.FirstOrDefault(x => x.Id != null); - //var a = JsonSerializer.Serialize(result); - //Console.WriteLine($"GetUserById result: {a}"); - - return result; + return _userDal.GetUserModelDtoByIdAsync(id); } private bool VerifyPassword(string password, string hashedPassword) diff --git a/TIAMWebApp/Server/TIAMWebApp.Server.csproj b/TIAMWebApp/Server/TIAMWebApp.Server.csproj index b5aa5914..9ef4bac1 100644 --- a/TIAMWebApp/Server/TIAMWebApp.Server.csproj +++ b/TIAMWebApp/Server/TIAMWebApp.Server.csproj @@ -7,7 +7,7 @@ - + diff --git a/TIAMWebApp/Shared/TIAMWebApp.Shared.Application.csproj b/TIAMWebApp/Shared/TIAMWebApp.Shared.Application.csproj index b1017586..7ac23618 100644 --- a/TIAMWebApp/Shared/TIAMWebApp.Shared.Application.csproj +++ b/TIAMWebApp/Shared/TIAMWebApp.Shared.Application.csproj @@ -18,7 +18,6 @@ -