ServiceProviders fix; Car update fix;

This commit is contained in:
Loretta 2024-07-03 14:43:33 +02:00
parent 2a3c61c3f3
commit 4ebcdb7081
3 changed files with 25 additions and 20 deletions

View File

@ -48,7 +48,7 @@ namespace TIAM.Database.DataLayers.Admins
public List<Car> GetCarByUserProductMappingId(Guid userProductMappingId) => Session(ctx => ctx.Cars.Where(x => x.UserProductMappingId == userProductMappingId).ToList());
public Task<List<Car>> GetCarsByUserProductMappingIdAsync(Guid userProductMappingId) => SessionAsync(ctx => ctx.Cars.Where(x => x.UserProductMappingId == userProductMappingId).ToList());
public Task<bool> AddCarAsync(Car car) => TransactionAsync(ctx => ctx.Cars.Add(car).State == EntityState.Added);
public Task<bool> UpdateCarAsync(Car car) => TransactionAsync(ctx => ctx.Cars.Update(car).State == EntityState.Modified);
public Task<Car?> UpdateCarAsync(Car car) => UpdateSafeAsync(car);
public Task<bool> RemoveCarAsync(Car car) => TransactionAsync(ctx => ctx.Cars.Remove(car).State == EntityState.Deleted);
#endregion Car

View File

@ -1,3 +1,4 @@
using AyCode.Core.Consts;
using AyCode.Core.Server.Loggers;
using AyCode.Services.Server.Tests.LoginServices;
using TIAM.Database.DataLayers.Users;
@ -7,6 +8,7 @@ using TIAM.Entities.Emails;
using TIAM.Entities.Profiles;
using TIAM.Entities.ServiceProviders;
using TIAM.Entities.Users;
using TIAM.Models.Dtos.Users;
using TIAM.Models.Server.Logins;
using TIAM.Services.Server.Logins;
@ -24,11 +26,24 @@ namespace TIAM.Services.Server.Tests.LoginServices
[DataTestMethod]
[DataRow([RegisterUserIdString, RegisterEmail, RegisterPassword])]
public override Task AcBase_RegisterUser_ReturnsUser_WhenUserExist(string[] userIdEmailPasswordStrings)
public override async Task AcBase_RegisterUser_ReturnsUser_WhenUserExist(string[] userIdEmailPasswordStrings)
{
GlobalLogger.Debug("Test started0...");
return base.AcBase_RegisterUser_ReturnsUser_WhenUserExist(userIdEmailPasswordStrings);
//var loginService = Activator.CreateInstance(typeof(LoginService), Dal, AcEnv.AppConfiguration) as LoginService;
//var userId = Guid.Parse(RegisterUserIdString);
//var errorCode = await loginService.RegistrationAsync(userId, RegisterEmail, RegisterPassword, null);
//var userModelDto = await Dal.GetUserModelDtoByIdAsync<UserModelDtoDetail>(userId, false);
//if (userModelDto != null)
//{
// var userProperties = new Dictionary<Guid, string>();
// //get user's properties
// var hasProperties = userModelDto.ServiceProviders.Count > 0 ? true : (userModelDto.ServiceProviders.Count == 0 ? false : false);
//}
await base.AcBase_RegisterUser_ReturnsUser_WhenUserExist(userIdEmailPasswordStrings);
}
[DataTestMethod]

View File

@ -316,14 +316,14 @@ namespace TIAMWebApp.Server.Controllers
[NonAction]
[ApiExplorerSettings(IgnoreApi = true)]
private async Task<bool> CarDataChanging(Car car, TrackingState trackingState)
private async Task<Car?> CarDataChanging(Car car, TrackingState trackingState)
{
var logText = $"[{trackingState.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;
return null;
}
_logger.Info(logText);
@ -333,11 +333,11 @@ namespace TIAMWebApp.Server.Controllers
case TrackingState.Add:
if (car.Id.IsNullOrEmpty()) car.Id = Guid.NewGuid();
return await adminDal.AddCarAsync(car);
return await adminDal.AddCarAsync(car) ? car : null;
case TrackingState.Update:
return await adminDal.UpdateCarAsync(car);
case TrackingState.Remove:
return await adminDal.RemoveCarAsync(car);
return await adminDal.RemoveCarAsync(car) ? car : null;
case TrackingState.Get:
case TrackingState.GetAll:
@ -352,11 +352,7 @@ namespace TIAMWebApp.Server.Controllers
[Tags("Finished", "Cars")]
[EndpointSummary("Create car")]
[SignalR(SignalRTags.CreateCar)]
public async Task<Car?> CreateCar(Car car)
{
var result = await CarDataChanging(car, TrackingState.Add);
return result ? car : null;
}
public async Task<Car?> CreateCar(Car car) => await CarDataChanging(car, TrackingState.Add);
[AllowAnonymous]
[HttpPost]
@ -364,12 +360,7 @@ namespace TIAMWebApp.Server.Controllers
[Tags("Finished", "Cars")]
[EndpointSummary("Update car")]
[SignalR(SignalRTags.UpdateCar)]
public async Task<Car?> UpdateCar(Car car)
{
var result = await CarDataChanging(car, TrackingState.Update);
return result ? car : null;
}
public async Task<Car?> UpdateCar(Car car) => await CarDataChanging(car, TrackingState.Update);
[AllowAnonymous]
[HttpPost]
@ -377,8 +368,7 @@ namespace TIAMWebApp.Server.Controllers
[Tags("Finished", "Cars")]
[EndpointSummary("Delete car")]
[SignalR(SignalRTags.DeleteCar)]
public async Task<IActionResult> DeleteCar(Car car)
=> await CarDataChanging(car, TrackingState.Remove) ? Ok(car) : BadRequest("Invalid request");
public async Task<Car?> DeleteCar(Car car) => await CarDataChanging(car, TrackingState.Remove);
[HttpPost]
[Route(APIUrls.AddProductRouteName)]