diff --git a/TIAM.Entities/ServiceProviders/Company.cs b/TIAM.Entities/ServiceProviders/Company.cs index 66adae6b..3b201d9c 100644 --- a/TIAM.Entities/ServiceProviders/Company.cs +++ b/TIAM.Entities/ServiceProviders/Company.cs @@ -16,15 +16,19 @@ public class Company : AcCompany, ICompan { } - public Company(string name, Guid ownerId) : this(Guid.NewGuid(), name, ownerId) + public Company(string name, Guid? ownerId) : this(Guid.NewGuid(), name, ownerId) { } - public Company(Guid id, string name, Guid ownerId) : this(id, name, ownerId, Guid.NewGuid()) + public Company(Guid id, string name, Guid? ownerId) : this(id, name, ownerId, Guid.NewGuid()) { } + public Company(Guid id, string name, Guid? ownerId, double commissionPercent) : this(id, name, ownerId, Guid.NewGuid()) + { + CommissionPercent = commissionPercent; + } + public Company(Guid id, string name, Guid? ownerId, Guid affiliateId) : base(id, name, ownerId, affiliateId) - { - } + { } } \ No newline at end of file diff --git a/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs b/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs index 8714a39e..fc9f428d 100644 --- a/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs +++ b/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs @@ -31,12 +31,11 @@ namespace TIAMWebApp.Server.Controllers [ApiExplorerSettings(IgnoreApi = true)] private async Task CompanyDataChanging(Company company, DataChangeMode dataChangeMode) { - var logText = $"CompanyDataChanging {dataChangeMode} called; id: {company.Id}; ownerId: {company.OwnerId}; Name: {company.Name}"; + var logText = $"[{dataChangeMode.ToString().ToUpper()}] CompanyDataChanging called; Id: {company.Id}; OwnerId: {company.OwnerId}; Name: {company.Name}"; if (company.Name.IsNullOrEmpty()) { _logger.Error(logText); - return false; } @@ -47,6 +46,8 @@ namespace TIAMWebApp.Server.Controllers case DataChangeMode.Add: if (company.Id.IsNullOrEmpty()) company.Id = Guid.NewGuid(); + //if (company.OwnerId.IsNullOrEmpty()) company.OwnerId = Guid.Parse("540271F6-C604-4C16-8160-D5A7CAFEDF00"); //TESZT - J. + company.SetProfile(new Profile(Guid.NewGuid(), company.Name)); company.Profile.SetAddress(new Address(Guid.NewGuid(), "Controller AddCompanyAsync; address text...")); @@ -88,35 +89,11 @@ namespace TIAMWebApp.Server.Controllers [Route(APIUrls.CreateServiceProviderRouteName)] [Tags("In-Progress", "ServiceProvider")] [EndpointSummary("Create service provider")] - public async Task CreateServiceProvider([FromBody] ServiceProviderModel? serializedServiceProviderModel) + public async Task CreateServiceProvider([FromBody] ServiceProviderModel serializedServiceProviderModel) { - _logger.Info(@"CreateServiceProvider called"); + _logger.Info($"CreateServiceProvider called; Id: {serializedServiceProviderModel.Id}"); - //if (serializedServiceProviderModel.GetArrayLength() == 0) - if (serializedServiceProviderModel == null) - { - return string.Empty; //BadRequest("SerializedLoginModel is required").ToJson(); - } - - //Company? serviceProvider = JObject.Parse(serializedServiceProviderModel.GetRawText()).ToObject(); - var serviceProvider = serializedServiceProviderModel; - - var id = Guid.NewGuid(); - var name = serviceProvider.Name; - var commissionRate = serviceProvider.CommissionPercent; - - //no owner set yet - var ownerId = serviceProvider.OwnerId == Guid.Empty ? null : serviceProvider.OwnerId; - //ownerId = Guid.Parse("540271F6-C604-4C16-8160-D5A7CAFEDF00"); //TESZT - J. - - if (name is null) return string.Empty; //BadRequest("Invalid request"); - - var company = new Company(id, name, ownerId, Guid.NewGuid()) - { - CommissionPercent = commissionRate - }; - - return await AddCompanyAsync(company); + return await AddCompanyAsync(serializedServiceProviderModel.CreateMainEntity()); } //16. @@ -244,12 +221,11 @@ namespace TIAMWebApp.Server.Controllers [ApiExplorerSettings(IgnoreApi = true)] private async Task CarDataChanging(Car car, DataChangeMode dataChangeMode) { - var logText = $"CarDataChanging {dataChangeMode} called; id: {car.Id}; ownerId: {car.UserProductMappingId}; licensePlate: {car.LicencePlate}"; + var logText = $"[{dataChangeMode.ToString().ToUpper()}] CarDataChanging called; Id: {car.Id}; OwnerId: {car.UserProductMappingId}; LicensePlate: {car.LicencePlate}"; if (car.UserProductMappingId.IsNullOrEmpty() || car.LicencePlate.IsNullOrWhiteSpace()) { _logger.Error(logText); - return false; } diff --git a/TIAMWebApp/Shared/Models/ServiceProviderModel.cs b/TIAMWebApp/Shared/Models/ServiceProviderModel.cs index ed89a5d9..2e1f70ba 100644 --- a/TIAMWebApp/Shared/Models/ServiceProviderModel.cs +++ b/TIAMWebApp/Shared/Models/ServiceProviderModel.cs @@ -1,18 +1,31 @@ -namespace TIAMWebApp.Shared.Application.Models +using AyCode.Models; +using TIAM.Entities.ServiceProviders; + +namespace TIAMWebApp.Shared.Application.Models { - public class ServiceProviderModel + public class ServiceProviderModel : AcModelDtoBase { - public Guid Id { get; set; } public string? Name { get; set; } public Guid? OwnerId { get; set; } - public int CommissionPercent { get; set; } - public ServiceProviderModel() { } - public ServiceProviderModel(Guid id, string name, Guid? ownerId, int commissionPercent) + public double CommissionPercent { get; set; } + + public ServiceProviderModel() : base() + { } + + public ServiceProviderModel(Guid id, string name, Guid? ownerId, double commissionPercent) : base(id) { - Id = id; Name = name; OwnerId = ownerId; CommissionPercent = commissionPercent; } + + public ServiceProviderModel(ICompanyBase company) : this(company.Id, company.Name, company.OwnerId, company.CommissionPercent) + { + } + + public override Company CreateMainEntity() + { + return new Company(Id, Name!, OwnerId, CommissionPercent); + } } }