UpdateCompany fixes

This commit is contained in:
Loretta 2024-07-02 15:58:38 +02:00
parent 6574d50c30
commit daa0b96032
3 changed files with 27 additions and 29 deletions

View File

@ -371,7 +371,7 @@ namespace TIAM.Database.Test
Assert.IsTrue(company.Id == companyId); Assert.IsTrue(company.Id == companyId);
company.OwnerId = userId; company.OwnerId = userId;
Assert.IsTrue(await Dal.UpdateCompanyAsync(company)); Assert.IsNotNull(await Dal.UpdateCompanyAsync(company));
company = await Dal.GetCompanyByIdAsync(companyId); 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)); Assert.IsTrue(company.UserToServiceProviders.Any(x=>x.UserId == userId && x.ServiceProviderId == companyId));
company.CommissionPercent = 5; company.CommissionPercent = 5;
Assert.IsTrue(await Dal.UpdateCompanyAsync(company)); Assert.IsNotNull(await Dal.UpdateCompanyAsync(company));
var addressId = company.Profile.AddressId; 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. Assert.IsTrue(await Dal.RemoveCompanyAsync(company.Id)); //mielőbb kitöröljük, h ne maradjon szemét a db-ben - J.

View File

@ -30,6 +30,7 @@ using DevExpress.Data.Linq;
using DevExpress.Data.Linq.Helpers; using DevExpress.Data.Linq.Helpers;
using TIAM.Database.DbSets.Drivers; using TIAM.Database.DbSets.Drivers;
using AyCode.Entities.Server.LogItems; using AyCode.Entities.Server.LogItems;
using AyCode.Interfaces.Entities;
namespace TIAM.Database.DataLayers.Admins namespace TIAM.Database.DataLayers.Admins
{ {
@ -346,29 +347,26 @@ namespace TIAM.Database.DataLayers.Admins
//} //}
//14. (IserviceProviderDataService) Update service provider //14. (IserviceProviderDataService) Update service provider
public Task<bool> UpdateCompanyAsync(Company company) //public Task<bool> UpdateCompanyAsync(Company company)
//{
// var result = NewUpdateCompanyAsync(company);
// return Task.FromResult(result.Result != null && !result.Result.Id.IsNullOrEmpty());
//}
public Task<Company?> UpdateCompanyAsync(Company company) => UpdateSafeAsync(company, (ctx, safeCompany) =>
{ {
var result = NewUpdateCompanyAsync(company); ctx.Entry(safeCompany.Profile).CurrentValues.SetValues(company.Profile);
if (result.Result != null || (result.Result).Id != Guid.Empty) return ctx.UpdateCompany(safeCompany);
{ });
return Task.FromResult(true);
}
else
{
return Task.FromResult(false);
}
}
public Task<Company?> NewUpdateCompanyAsync(Company company) => UpdateSafeAsync(company, (ctx, safeCompany) => ctx.UpdateCompany(safeCompany)); //public Task<bool> UpdateCompanyAsync(Company company, Profile profile)
// => TransactionAsync(ctx =>
// {
// ctx.UpdateProfile(profile);
// ctx.SaveChanges();
public Task<bool> UpdateCompanyAsync(Company company, Profile profile) // return ctx.UpdateCompany(company);
=> TransactionAsync(ctx => // });
{
ctx.UpdateProfile(profile);
ctx.SaveChanges();
return ctx.UpdateCompany(company);
});
//13. (IserviceProviderDataService) delete service provider //13. (IserviceProviderDataService) delete service provider
public Task<bool> RemoveCompanyAsync(Guid companyId) => TransactionAsync(ctx => ctx.RemoveProductsByCompanyId(companyId) && ctx.RemoveCompany(companyId)); public Task<bool> RemoveCompanyAsync(Guid companyId) => TransactionAsync(ctx => ctx.RemoveProductsByCompanyId(companyId) && ctx.RemoveCompany(companyId));

View File

@ -31,14 +31,14 @@ namespace TIAMWebApp.Server.Controllers
[NonAction] [NonAction]
[ApiExplorerSettings(IgnoreApi = true)] [ApiExplorerSettings(IgnoreApi = true)]
private async Task<bool> CompanyDataChanging(Company company, TrackingState trackingState) private async Task<Company?> CompanyDataChanging(Company company, TrackingState trackingState)
{ {
var logText = $"[{trackingState.ToString().ToUpper()}] CompanyDataChanging called; Id: {company.Id}; OwnerId: {company.OwnerId}; Name: {company.Name}"; var logText = $"[{trackingState.ToString().ToUpper()}] CompanyDataChanging called; Id: {company.Id}; OwnerId: {company.OwnerId}; Name: {company.Name}";
if (company.Name.IsNullOrEmpty()) if (company.Name.IsNullOrEmpty())
{ {
_logger.Error(logText); _logger.Error(logText);
return false; return null;
} }
_logger.Info(logText); _logger.Info(logText);
@ -53,12 +53,12 @@ namespace TIAMWebApp.Server.Controllers
//company.SetProfile(new Profile(Guid.NewGuid(), company.Name)); //company.SetProfile(new Profile(Guid.NewGuid(), company.Name));
//company.Profile.SetAddress(new Address(Guid.NewGuid(), "Controller AddCompanyAsync; address text...")); //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: case TrackingState.Update:
return await adminDal.UpdateCompanyAsync(company); return await adminDal.UpdateCompanyAsync(company);
case TrackingState.Remove: case TrackingState.Remove:
return await adminDal.RemoveCompanyAsync(company.Id); return (await adminDal.RemoveCompanyAsync(company.Id)) ? company : null;
case TrackingState.Get: case TrackingState.Get:
case TrackingState.GetAll: case TrackingState.GetAll:
@ -71,21 +71,21 @@ namespace TIAMWebApp.Server.Controllers
[ApiExplorerSettings(IgnoreApi = true)] [ApiExplorerSettings(IgnoreApi = true)]
[SignalR(SignalRTags.AddCompany)] [SignalR(SignalRTags.AddCompany)]
public async Task<string> AddCompanyAsync(Company company) public async Task<string> AddCompanyAsync(Company company)
=> await CompanyDataChanging(company, TrackingState.Add) ? company.ToJson() : string.Empty; => (await CompanyDataChanging(company, TrackingState.Add))?.ToJson() ?? string.Empty;
[AllowAnonymous] [AllowAnonymous]
[HttpPost] [HttpPost]
[Route(APIUrls.UpdateServiceProviderRouteName)] [Route(APIUrls.UpdateServiceProviderRouteName)]
[SignalR(SignalRTags.UpdateCompany)] [SignalR(SignalRTags.UpdateCompany)]
public async Task<string> UpdateServiceProvider(Company company) public async Task<string> UpdateServiceProvider(Company company)
=> await CompanyDataChanging(company, TrackingState.Update) ? company.ToJson() : string.Empty; => (await CompanyDataChanging(company, TrackingState.Update))?.ToJson() ?? string.Empty;
[AllowAnonymous] [AllowAnonymous]
[HttpPost] [HttpPost]
[Route(APIUrls.RemoveServiceProviderRouteName)] [Route(APIUrls.RemoveServiceProviderRouteName)]
[SignalR(SignalRTags.RemoveCompany)] [SignalR(SignalRTags.RemoveCompany)]
public async Task<string> RemoveServiceProvider(Company company) public async Task<string> RemoveServiceProvider(Company company)
=> await CompanyDataChanging(company, TrackingState.Remove) ? company.ToJson() : string.Empty; => (await CompanyDataChanging(company, TrackingState.Remove))?.ToJson() ?? string.Empty;
//15. //15.
[AllowAnonymous] [AllowAnonymous]