diff --git a/TIAM.Database.Test/AdminDalTest.cs b/TIAM.Database.Test/AdminDalTest.cs index 1cd116c0..35c3f2cb 100644 --- a/TIAM.Database.Test/AdminDalTest.cs +++ b/TIAM.Database.Test/AdminDalTest.cs @@ -371,7 +371,7 @@ namespace TIAM.Database.Test Assert.IsTrue(company.Id == companyId); company.OwnerId = userId; - Assert.IsTrue(await Dal.UpdateCompanyAsync(company)); + Assert.IsNotNull(await Dal.UpdateCompanyAsync(company)); company = await Dal.GetCompanyByIdAsync(companyId); @@ -380,7 +380,7 @@ namespace TIAM.Database.Test Assert.IsTrue(company.UserToServiceProviders.Any(x=>x.UserId == userId && x.ServiceProviderId == companyId)); company.CommissionPercent = 5; - Assert.IsTrue(await Dal.UpdateCompanyAsync(company)); + Assert.IsNotNull(await Dal.UpdateCompanyAsync(company)); var addressId = company.Profile.AddressId; Assert.IsTrue(await Dal.RemoveCompanyAsync(company.Id)); //mielőbb kitöröljük, h ne maradjon szemét a db-ben - J. diff --git a/TIAM.Database/DataLayers/Admins/AdminDal.cs b/TIAM.Database/DataLayers/Admins/AdminDal.cs index d6c9c71e..3ef097ed 100644 --- a/TIAM.Database/DataLayers/Admins/AdminDal.cs +++ b/TIAM.Database/DataLayers/Admins/AdminDal.cs @@ -30,6 +30,7 @@ using DevExpress.Data.Linq; using DevExpress.Data.Linq.Helpers; using TIAM.Database.DbSets.Drivers; using AyCode.Entities.Server.LogItems; +using AyCode.Interfaces.Entities; namespace TIAM.Database.DataLayers.Admins { @@ -346,29 +347,26 @@ namespace TIAM.Database.DataLayers.Admins //} //14. (IserviceProviderDataService) Update service provider - public Task UpdateCompanyAsync(Company company) - { - var result = NewUpdateCompanyAsync(company); - if (result.Result != null || (result.Result).Id != Guid.Empty) - { - return Task.FromResult(true); - } - else - { - return Task.FromResult(false); - } - } + //public Task UpdateCompanyAsync(Company company) + //{ + // var result = NewUpdateCompanyAsync(company); + // return Task.FromResult(result.Result != null && !result.Result.Id.IsNullOrEmpty()); + //} - public Task NewUpdateCompanyAsync(Company company) => UpdateSafeAsync(company, (ctx, safeCompany) => ctx.UpdateCompany(safeCompany)); + public Task UpdateCompanyAsync(Company company) => UpdateSafeAsync(company, (ctx, safeCompany) => + { + ctx.Entry(safeCompany.Profile).CurrentValues.SetValues(company.Profile); + return ctx.UpdateCompany(safeCompany); + }); - public Task UpdateCompanyAsync(Company company, Profile profile) - => TransactionAsync(ctx => - { - ctx.UpdateProfile(profile); - ctx.SaveChanges(); + //public Task UpdateCompanyAsync(Company company, Profile profile) + // => TransactionAsync(ctx => + // { + // ctx.UpdateProfile(profile); + // ctx.SaveChanges(); - return ctx.UpdateCompany(company); - }); + // return ctx.UpdateCompany(company); + // }); //13. (IserviceProviderDataService) delete service provider public Task RemoveCompanyAsync(Guid companyId) => TransactionAsync(ctx => ctx.RemoveProductsByCompanyId(companyId) && ctx.RemoveCompany(companyId)); diff --git a/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs b/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs index 94e50288..3c73a0d4 100644 --- a/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs +++ b/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs @@ -31,14 +31,14 @@ namespace TIAMWebApp.Server.Controllers [NonAction] [ApiExplorerSettings(IgnoreApi = true)] - private async Task CompanyDataChanging(Company company, TrackingState trackingState) + private async Task CompanyDataChanging(Company company, TrackingState trackingState) { var logText = $"[{trackingState.ToString().ToUpper()}] CompanyDataChanging called; Id: {company.Id}; OwnerId: {company.OwnerId}; Name: {company.Name}"; if (company.Name.IsNullOrEmpty()) { _logger.Error(logText); - return false; + return null; } _logger.Info(logText); @@ -53,12 +53,12 @@ namespace TIAMWebApp.Server.Controllers //company.SetProfile(new Profile(Guid.NewGuid(), company.Name)); //company.Profile.SetAddress(new Address(Guid.NewGuid(), "Controller AddCompanyAsync; address text...")); - return await adminDal.AddCompanyAsync(company); + return (await adminDal.AddCompanyAsync(company)) ? company : null; case TrackingState.Update: return await adminDal.UpdateCompanyAsync(company); case TrackingState.Remove: - return await adminDal.RemoveCompanyAsync(company.Id); + return (await adminDal.RemoveCompanyAsync(company.Id)) ? company : null; case TrackingState.Get: case TrackingState.GetAll: @@ -71,21 +71,21 @@ namespace TIAMWebApp.Server.Controllers [ApiExplorerSettings(IgnoreApi = true)] [SignalR(SignalRTags.AddCompany)] public async Task AddCompanyAsync(Company company) - => await CompanyDataChanging(company, TrackingState.Add) ? company.ToJson() : string.Empty; + => (await CompanyDataChanging(company, TrackingState.Add))?.ToJson() ?? string.Empty; [AllowAnonymous] [HttpPost] [Route(APIUrls.UpdateServiceProviderRouteName)] [SignalR(SignalRTags.UpdateCompany)] public async Task UpdateServiceProvider(Company company) - => await CompanyDataChanging(company, TrackingState.Update) ? company.ToJson() : string.Empty; + => (await CompanyDataChanging(company, TrackingState.Update))?.ToJson() ?? string.Empty; [AllowAnonymous] [HttpPost] [Route(APIUrls.RemoveServiceProviderRouteName)] [SignalR(SignalRTags.RemoveCompany)] public async Task RemoveServiceProvider(Company company) - => await CompanyDataChanging(company, TrackingState.Remove) ? company.ToJson() : string.Empty; + => (await CompanyDataChanging(company, TrackingState.Remove))?.ToJson() ?? string.Empty; //15. [AllowAnonymous]