From 3263fe541f71b9f495e4ad0f19f652618979c68c Mon Sep 17 00:00:00 2001 From: "jozsef.b@aycode.com" <9Rj@D}fVwBaN> Date: Tue, 28 May 2024 16:06:13 +0200 Subject: [PATCH] CreateServiceProvider improvements, fixes --- TIAM.Database/DbContexts/Admins/AdminDbContext.cs | 3 +++ TIAM.Entities/Addresses/Address.cs | 14 ++++++++++++++ TIAM.Entities/Profiles/Profile.cs | 9 ++++++++- TIAMSharedUI/Pages/Components/InputWizard.razor.cs | 7 ++----- .../Controllers/ServiceProviderAPIController.cs | 6 ++++++ 5 files changed, 33 insertions(+), 6 deletions(-) diff --git a/TIAM.Database/DbContexts/Admins/AdminDbContext.cs b/TIAM.Database/DbContexts/Admins/AdminDbContext.cs index 1b472c6d..593293fb 100644 --- a/TIAM.Database/DbContexts/Admins/AdminDbContext.cs +++ b/TIAM.Database/DbContexts/Admins/AdminDbContext.cs @@ -79,6 +79,9 @@ namespace TIAM.Database.DbContexts.Admins new EmailMessageEntityTypeDefaultConfigurations().Configure(modelBuilder.Entity()); + modelBuilder.Entity().Navigation(e => e.Profile).AutoInclude(true); + modelBuilder.Entity().HasOne(x => x.Profile).WithOne().OnDelete(DeleteBehavior.Cascade); + //modelBuilder.Entity().Ignore(x => x.Id); //modelBuilder.Entity().Ignore(x => x.Id); ////modelBuilder.Entity().Ignore(x => x.Cars); diff --git a/TIAM.Entities/Addresses/Address.cs b/TIAM.Entities/Addresses/Address.cs index 6f0143b1..7140894a 100644 --- a/TIAM.Entities/Addresses/Address.cs +++ b/TIAM.Entities/Addresses/Address.cs @@ -7,4 +7,18 @@ namespace TIAM.Entities.Addresses; [Table(nameof(Address))] public class Address : AcAddress, IAddress { + public Address() : base() + { } + + public Address(Guid id) : base(id) + { + } + + public Address(Guid id, string? addressText) : base(id, addressText) + { + } + + public Address(Guid id, double? latitude, double? longitude, string? addressText) : base(id, latitude, longitude, addressText) + { + } } \ No newline at end of file diff --git a/TIAM.Entities/Profiles/Profile.cs b/TIAM.Entities/Profiles/Profile.cs index 4393b3a6..a85b86d1 100644 --- a/TIAM.Entities/Profiles/Profile.cs +++ b/TIAM.Entities/Profiles/Profile.cs @@ -7,5 +7,12 @@ namespace TIAM.Entities.Profiles; [Table(nameof(Profile))] public class Profile : AcProfile
, IProfile
{ - + public Profile() : base() + { } + + public Profile(Guid id) : base(id) + { } + + public Profile(Guid id, string name) : base(id, name) + { } } \ No newline at end of file diff --git a/TIAMSharedUI/Pages/Components/InputWizard.razor.cs b/TIAMSharedUI/Pages/Components/InputWizard.razor.cs index a41356ef..0d55b5a7 100644 --- a/TIAMSharedUI/Pages/Components/InputWizard.razor.cs +++ b/TIAMSharedUI/Pages/Components/InputWizard.razor.cs @@ -152,10 +152,7 @@ namespace TIAMSharedUI.Pages.Components //the following line creates a lambda expression that returns the value of the property var lambda = Expression.Lambda(typeof(Func<>).MakeGenericType(property.PropertyType), access); - _logger.DetailConditional($"{property.Name}, {property.GetType().FullName}"); - _logger.DetailConditional(lambda.ToString()); - - _logger.DetailConditional($"lambda: {lambda.ToString()}"); + _logger.DetailConditional($"{property.Name}, {property.GetType().FullName}; lambda: {lambda.ToString()}"); layoutItemBuilder.OpenElement(i++, "div");//open div layoutItemBuilder.AddAttribute(i++, "id", stepId.ToString()); @@ -508,7 +505,7 @@ namespace TIAMSharedUI.Pages.Components layoutItemBuilder.CloseElement(); - _logger.DetailConditional($"loop {k}, length: {length}, formSteps: {FormSteps.Count} "); + //_logger.DetailConditional($"loop {k}, length: {length}, formSteps: {FormSteps.Count} "); k++; } diff --git a/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs b/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs index a6f014e3..6037ed0d 100644 --- a/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs +++ b/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs @@ -14,6 +14,8 @@ using TIAM.Entities.Transfers; using System.Text.Json.Nodes; using System.Text.Json; using Newtonsoft.Json.Linq; +using TIAM.Entities.Addresses; +using TIAM.Entities.Profiles; namespace TIAMWebApp.Server.Controllers { @@ -79,6 +81,10 @@ namespace TIAMWebApp.Server.Controllers GlobalLogger.Info($@"ServiceProvider to be created: {id}, {name}, {ownerId}"); Company toCreate = new Company(id, name, ownerId, Guid.NewGuid()); toCreate.CommissionPercent = commissionRate; + + toCreate.SetProfile(new Profile(Guid.NewGuid(), toCreate.Name)); + toCreate.Profile.SetAddress(new Address(Guid.NewGuid(), "Controller CreateServiceProvider; address text...")); + var result = await _adminDal.CreateServiceProviderAsync(toCreate); if (!result) {