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 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<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> 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); public Task<bool> RemoveCarAsync(Car car) => TransactionAsync(ctx => ctx.Cars.Remove(car).State == EntityState.Deleted);
#endregion Car #endregion Car

View File

@ -1,3 +1,4 @@
using AyCode.Core.Consts;
using AyCode.Core.Server.Loggers; using AyCode.Core.Server.Loggers;
using AyCode.Services.Server.Tests.LoginServices; using AyCode.Services.Server.Tests.LoginServices;
using TIAM.Database.DataLayers.Users; using TIAM.Database.DataLayers.Users;
@ -7,6 +8,7 @@ using TIAM.Entities.Emails;
using TIAM.Entities.Profiles; using TIAM.Entities.Profiles;
using TIAM.Entities.ServiceProviders; using TIAM.Entities.ServiceProviders;
using TIAM.Entities.Users; using TIAM.Entities.Users;
using TIAM.Models.Dtos.Users;
using TIAM.Models.Server.Logins; using TIAM.Models.Server.Logins;
using TIAM.Services.Server.Logins; using TIAM.Services.Server.Logins;
@ -24,11 +26,24 @@ namespace TIAM.Services.Server.Tests.LoginServices
[DataTestMethod] [DataTestMethod]
[DataRow([RegisterUserIdString, RegisterEmail, RegisterPassword])] [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..."); 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] [DataTestMethod]

View File

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