improvements, fixes, etc...

This commit is contained in:
Loretta 2024-06-30 07:13:43 +02:00
parent 8059ed50b1
commit 90156b7239
8 changed files with 72 additions and 41 deletions

View File

@ -61,17 +61,42 @@ namespace TIAM.Database.DataLayers.Admins
public string? GetTransferJsonById(Guid transferId) => Session(ctx => ctx.GetTransferById(transferId)?.ToJson()); public string? GetTransferJsonById(Guid transferId) => Session(ctx => ctx.GetTransferById(transferId)?.ToJson());
public Task<bool> AddTransferAsync(Transfer transfer) => TransactionAsync(ctx => ctx.AddTransfer(transfer)); public Task<bool> AddTransferAsync(Transfer transfer) => TransactionAsync(ctx => ctx.AddTransfer(transfer));
public Task<bool> UpdateTransferAsync(Transfer transfer) => TransactionAsync(ctx =>
{
//foreach (var entityEntry in ctx.ChangeTracker.Entries())
//{
// if (entityEntry.Entity is not Transfer)
// entityEntry.State = EntityState.Unchanged;
//}
//transfer.TransferToDrivers = null!; public async Task<Transfer?> UpdateTransferAsync(Transfer transfer)
return ctx.UpdateTransfer(transfer); {
}); Transfer? entity = null;
var result = await TransactionAsync(ctx =>
{
entity = ctx.Set<Transfer>().AsNoTracking().FirstOrDefault(e => e.Id == transfer.Id);
if (entity == null) return false;
ctx.Entry(entity).State = EntityState.Detached;
ctx.Entry(entity).CurrentValues.SetValues(transfer);
return ctx.UpdateTransfer(entity);
//foreach (var entityEntry in ctx.ChangeTracker.Entries())
//{
// if (entityEntry.Entity is not Transfer)
// entityEntry.State = EntityState.Unchanged;
//}
//var existingTransfer = ctx.Transfers.Local.SingleOrDefault(o => o.Id == transfer.Id);
//if (existingTransfer != null)
// ctx.Entry(existingTransfer).State = EntityState.Detached;
//var existingUsers = ctx.Users.Local.Where(o => transfer.TransferToDrivers.Any(x => x.UserProductMapping.UserId == o.Id)).ToList();
//foreach (var existingUser in existingUsers)
// ctx.Entry(existingUser).State = EntityState.Detached;
//transfer.TransferToDrivers = null!;
//return ctx.UpdateTransfer(transfer);
});
return result ? entity : null;
}
public Task<bool> UpdateTransferAsync(Transfer transfer, TransferToDriver transferToDriver) => UpdateTransferAsync(transfer, [transferToDriver]); public Task<bool> UpdateTransferAsync(Transfer transfer, TransferToDriver transferToDriver) => UpdateTransferAsync(transfer, [transferToDriver]);
public Task<bool> UpdateTransferAsync(Transfer transfer, List<TransferToDriver> transferToDrivers) public Task<bool> UpdateTransferAsync(Transfer transfer, List<TransferToDriver> transferToDrivers)

View File

@ -23,10 +23,10 @@ namespace TIAM.Database.DbContexts
{ {
base.OnConfiguring(optionsBuilder); base.OnConfiguring(optionsBuilder);
optionsBuilder.UseLazyLoadingProxies(false); optionsBuilder.UseLazyLoadingProxies(true);
optionsBuilder.EnableDetailedErrors(true); optionsBuilder.EnableDetailedErrors(true);
optionsBuilder.UseQueryTrackingBehavior(QueryTrackingBehavior.NoTrackingWithIdentityResolution); //optionsBuilder.UseQueryTrackingBehavior(QueryTrackingBehavior.NoTrackingWithIdentityResolution);
//optionsBuilder.UseSqlServer(Configuration.GetConnectionString("DeveloperDbConnection")); //optionsBuilder.UseSqlServer(Configuration.GetConnectionString("DeveloperDbConnection"));
//var connString = "Data Source=185.51.190.197;Initial Catalog=TIAM_DEV;Trusted_Connection=false;Encrypt=false;TrustServerCertificate=True;Connect Timeout=200;User ID=Anata_Development_Team;Password=v6f_?xNfg9N1;MultipleActiveResultSets=true"; //var connString = "Data Source=185.51.190.197;Initial Catalog=TIAM_DEV;Trusted_Connection=false;Encrypt=false;TrustServerCertificate=True;Connect Timeout=200;User ID=Anata_Development_Team;Password=v6f_?xNfg9N1;MultipleActiveResultSets=true";

View File

@ -82,7 +82,6 @@
<TransferGrid @ref="_gridTransfer" <TransferGrid @ref="_gridTransfer"
Logger="_logger" Logger="_logger"
SignalRClient="AdminSignalRClient" SignalRClient="AdminSignalRClient"
ContextIds="[Guid.NewGuid()]"
FilterText="@_filterText" FilterText="@_filterText"
OnDataSourceChanged="DataSourceChanged" OnDataSourceChanged="DataSourceChanged"
OnGridItemChanging="DataSourceItemChanging" OnGridItemChanging="DataSourceItemChanging"
@ -264,7 +263,7 @@
new(Convert.ToByte(TransferStatusType.AdminDenied), "Admin cancelled") new(Convert.ToByte(TransferStatusType.AdminDenied), "Admin cancelled")
]; ];
private static List<TransferStatusModel> _selectedCategories = Statuses.Where(x => x.StatusValue != (byte)TransferStatusType.Finished && x.StatusValue != (byte)TransferStatusType.UserCanceled && x.StatusValue != (byte)TransferStatusType.AdminDenied).ToList(); private static List<TransferStatusModel> _selectedCategories = Statuses.Where(x => /* x.StatusValue != (byte)TransferStatusType.OrderSubmitted && */ x.StatusValue != (byte)TransferStatusType.Finished && x.StatusValue != (byte)TransferStatusType.UserCanceled && x.StatusValue != (byte)TransferStatusType.AdminDenied).ToList();
private string? _filterText = GetFilterText(_selectedCategories.Select(x => (TransferStatusType)x.StatusValue).ToList()); private string? _filterText = GetFilterText(_selectedCategories.Select(x => (TransferStatusType)x.StatusValue).ToList());
private MessageWizardModel _messageWizardModel = new(); private MessageWizardModel _messageWizardModel = new();

View File

@ -556,6 +556,15 @@ namespace TIAMWebApp.Server.Controllers
return result; return result;
} }
[SignalR(SignalRTags.GetTransfersByFilterText)]
public async Task<List<Transfer>> GetTransfersByFilterText(string criteriaOperatorText)
{
if (criteriaOperatorText.IsNullOrWhiteSpace()) return await GetTransfers();
var results = await _adminDal.GetTransfersByFilterAsync(CriteriaOperator.Parse(criteriaOperatorText));
return results;
}
[Authorize] [Authorize]
[HttpGet] [HttpGet]
[Route(APIUrls.GetTransfersByUserIdRouteName)] [Route(APIUrls.GetTransfersByUserIdRouteName)]
@ -566,14 +575,6 @@ namespace TIAMWebApp.Server.Controllers
return result; return result;
} }
[SignalR(SignalRTags.GetTransfersByFilterText)]
public async Task<List<Transfer>> GetTransfersByFilterText(Guid userId, string criteriaOperatorText)
{
if (criteriaOperatorText.IsNullOrWhiteSpace()) return await GetTransfers();
var results = await _adminDal.GetTransfersByFilterAsync(CriteriaOperator.Parse(criteriaOperatorText));
return results;
}
[AllowAnonymous] [AllowAnonymous]
[HttpPost] [HttpPost]
@ -590,17 +591,20 @@ namespace TIAMWebApp.Server.Controllers
[HttpPost] [HttpPost]
[Route(APIUrls.UpdateTransferRouteName)] [Route(APIUrls.UpdateTransferRouteName)]
[SignalR(SignalRTags.UpdateTransfer)] [SignalR(SignalRTags.UpdateTransfer)]
public async Task<Transfer> UpdateTransfer(Transfer transferToModify) public async Task<Transfer?> UpdateTransfer(Transfer transferToModify)
{ {
_logger.Info($"UpdateTransfer called! + {transferToModify.Id}"); _logger.Info($"UpdateTransfer called! + {transferToModify.Id}");
await _adminDal.UpdateTransferAsync(transferToModify);
return transferToModify; return await _adminDal.UpdateTransferAsync(transferToModify);
//await _adminDal.UpdateTransferAsync(transferToModify);
//return transferToModify;
} }
//[Authorize] //[Authorize]
//[HttpGet] //[HttpGet]
//[Route(APIUrls.GetTransferDriverRouteName)] //[Route(APIUrls.GetTransferDriverRouteName)]
[NonAction]
[SignalR(SignalRTags.GetAllDrivers)] [SignalR(SignalRTags.GetAllDrivers)]
public async Task<List<UserProductMapping>> GetAllDrivers() public async Task<List<UserProductMapping>> GetAllDrivers()
{ {
@ -641,6 +645,7 @@ namespace TIAMWebApp.Server.Controllers
//[Authorize] //[Authorize]
//[HttpGet] //[HttpGet]
//[Route(APIUrls.GetTransferDriversByTransferIdRouteName)] //[Route(APIUrls.GetTransferDriversByTransferIdRouteName)]
[NonAction]
[SignalR(SignalRTags.AddTransferToDriver)] [SignalR(SignalRTags.AddTransferToDriver)]
public async Task<TransferToDriver?> AddTransferDriver([FromBody] TransferToDriver transferToDriver) public async Task<TransferToDriver?> AddTransferDriver([FromBody] TransferToDriver transferToDriver)
{ {
@ -653,6 +658,7 @@ namespace TIAMWebApp.Server.Controllers
//[Authorize] //[Authorize]
//[HttpGet] //[HttpGet]
//[Route(APIUrls.GetTransferDriversByTransferIdRouteName)] //[Route(APIUrls.GetTransferDriversByTransferIdRouteName)]
[NonAction]
[SignalR(SignalRTags.UpdateTransferToDriver)] [SignalR(SignalRTags.UpdateTransferToDriver)]
public async Task<TransferToDriver?> UpdateTransferDriver([FromBody] TransferToDriver transferToDriver) public async Task<TransferToDriver?> UpdateTransferDriver([FromBody] TransferToDriver transferToDriver)
{ {
@ -665,6 +671,7 @@ namespace TIAMWebApp.Server.Controllers
//[Authorize] //[Authorize]
//[HttpGet] //[HttpGet]
//[Route(APIUrls.GetTransferDriversByTransferIdRouteName)] //[Route(APIUrls.GetTransferDriversByTransferIdRouteName)]
[NonAction]
[SignalR(SignalRTags.RemoveTransferToDriver)] [SignalR(SignalRTags.RemoveTransferToDriver)]
public async Task<TransferToDriver?> RemoveTransferDriver([FromBody] TransferToDriver transferToDriver) public async Task<TransferToDriver?> RemoveTransferDriver([FromBody] TransferToDriver transferToDriver)
{ {

View File

@ -159,7 +159,7 @@ public class DevAdminSignalRHub : Hub<ISignalRHubItemServer>, IAcSignalRHubServe
paramValues = new object[methodInfoModel.ParamInfos.Length]; paramValues = new object[methodInfoModel.ParamInfos.Length];
var firstParamType = methodInfoModel.ParamInfos[0].ParameterType; var firstParamType = methodInfoModel.ParamInfos[0].ParameterType;
if (methodInfoModel.ParamInfos.Length > 1 || firstParamType == typeof(string) || firstParamType == typeof(Guid) || firstParamType == typeof(Guid?)) if (methodInfoModel.ParamInfos.Length > 1 || firstParamType == typeof(string) || firstParamType.IsEnum || firstParamType.IsValueType)
{ {
var msg = message!.MessagePackTo<SignalPostJsonDataMessage<IdMessage>>(); var msg = message!.MessagePackTo<SignalPostJsonDataMessage<IdMessage>>();

View File

@ -123,13 +123,13 @@ namespace TIAMWebApp.Shared.Application.Services
callback.Invoke(response.ResponseData); callback.Invoke(response.ResponseData);
return Task.CompletedTask; return Task.CompletedTask;
}, [id]); }, id);
} }
//17. //17.
public async Task<Dictionary<Guid, string>?> GetPropertiesByOwnerIdAsync(Guid id) public async Task<Dictionary<Guid, string>?> GetPropertiesByOwnerIdAsync(Guid id)
{ {
var companyPropertiesByOwner = await _adminSignalRClient.GetByIdAsync<Dictionary<Guid, string>>(SignalRTags.GetPropertiesByOwnerId, [id]); var companyPropertiesByOwner = await _adminSignalRClient.GetByIdAsync<Dictionary<Guid, string>>(SignalRTags.GetPropertiesByOwnerId, id);
if (companyPropertiesByOwner != null) _logger.DetailConditional($"companyPropertiesByOwner: {string.Join("; ", companyPropertiesByOwner.Values)}"); if (companyPropertiesByOwner != null) _logger.DetailConditional($"companyPropertiesByOwner: {string.Join("; ", companyPropertiesByOwner.Values)}");
return companyPropertiesByOwner; return companyPropertiesByOwner;
@ -157,7 +157,7 @@ namespace TIAMWebApp.Shared.Application.Services
//18. //18.
public async Task<Company?> GetServiceProviderByIdAsync(Guid id) public async Task<Company?> GetServiceProviderByIdAsync(Guid id)
{ {
var company = await _adminSignalRClient.GetByIdAsync<Company>(SignalRTags.GetCompany, [id]); var company = await _adminSignalRClient.GetByIdAsync<Company>(SignalRTags.GetCompany, id);
if (company != null) _logger.DetailConditional($"company: {company.Name}"); if (company != null) _logger.DetailConditional($"company: {company.Name}");
return company; return company;
@ -249,7 +249,7 @@ namespace TIAMWebApp.Shared.Application.Services
public async Task<Product> GetProductByIdAsync(Guid id) public async Task<Product> GetProductByIdAsync(Guid id)
{ {
var result = await _adminSignalRClient.GetByIdAsync<Product>(SignalRTags.GetProductById, [id]); var result = await _adminSignalRClient.GetByIdAsync<Product>(SignalRTags.GetProductById, id);
//var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetProductById}"; //var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetProductById}";
//var response = await http.GetFromJsonAsync(url, typeof(Product)); //var response = await http.GetFromJsonAsync(url, typeof(Product));

View File

@ -39,7 +39,7 @@ namespace Tiam.Services.Client.Tests
public async Task GetCompanyTest_ReturnCompany_WhenHasCompany(string companyIdString) public async Task GetCompanyTest_ReturnCompany_WhenHasCompany(string companyIdString)
{ {
var companyId = Guid.Parse(companyIdString); var companyId = Guid.Parse(companyIdString);
var company = await _signalRClient.GetByIdAsync<Company>(SignalRTags.GetCompany, [companyId]); var company = await _signalRClient.GetByIdAsync<Company>(SignalRTags.GetCompany, companyId);
Assert.IsNotNull(company); Assert.IsNotNull(company);
} }
@ -59,7 +59,7 @@ namespace Tiam.Services.Client.Tests
company = response.ResponseData; company = response.ResponseData;
return Task.CompletedTask; return Task.CompletedTask;
}, [companyId]); }, companyId);
await TaskHelper.WaitToAsync(() => company != null, 5000, 50); await TaskHelper.WaitToAsync(() => company != null, 5000, 50);
@ -119,7 +119,7 @@ namespace Tiam.Services.Client.Tests
transferDest = await _signalRClient.PostDataAsync(SignalRTags.CreateTransferDestination, transferDest); transferDest = await _signalRClient.PostDataAsync(SignalRTags.CreateTransferDestination, transferDest);
Assert.IsNotNull(transferDest); Assert.IsNotNull(transferDest);
transferDest = await _signalRClient.GetByIdAsync<TransferDestination>(SignalRTags.GetTransferDestinationById,[transferDestId]); transferDest = await _signalRClient.GetByIdAsync<TransferDestination>(SignalRTags.GetTransferDestinationById, transferDestId);
Assert.IsNotNull(transferDest); Assert.IsNotNull(transferDest);
Assert.IsNotNull(transferDest.Address); Assert.IsNotNull(transferDest.Address);
@ -140,7 +140,7 @@ namespace Tiam.Services.Client.Tests
await _signalRClient.PostDataAsync(SignalRTags.RemoveTransferDestination, transferDest); //mielõbb kitöröljük, h ne maradjon szemét a db-ben - J. await _signalRClient.PostDataAsync(SignalRTags.RemoveTransferDestination, transferDest); //mielõbb kitöröljük, h ne maradjon szemét a db-ben - J.
transferDest = await _signalRClient.GetByIdAsync<TransferDestination>(SignalRTags.GetTransferDestinationById, [transferDestId]); transferDest = await _signalRClient.GetByIdAsync<TransferDestination>(SignalRTags.GetTransferDestinationById, transferDestId);
Assert.IsNull(transferDest); //a korábbi törlés miatt NULL kell legyen - J. Assert.IsNull(transferDest); //a korábbi törlés miatt NULL kell legyen - J.
} }
@ -159,7 +159,7 @@ namespace Tiam.Services.Client.Tests
transferDestinationToProduct = await _signalRClient.PostDataAsync(SignalRTags.CreateTransferDestinationToProduct, transferDestinationToProduct); transferDestinationToProduct = await _signalRClient.PostDataAsync(SignalRTags.CreateTransferDestinationToProduct, transferDestinationToProduct);
Assert.IsNotNull(transferDestinationToProduct); Assert.IsNotNull(transferDestinationToProduct);
transferDestinationToProduct = await _signalRClient.GetByIdAsync<TransferDestinationToProduct>(SignalRTags.GetTransferDestinationToProductById, [transferDestinationToProductId]); transferDestinationToProduct = await _signalRClient.GetByIdAsync<TransferDestinationToProduct>(SignalRTags.GetTransferDestinationToProductById, transferDestinationToProductId);
Assert.IsNotNull(transferDestinationToProduct); Assert.IsNotNull(transferDestinationToProduct);
Assert.IsNotNull(transferDestinationToProduct.TransferDestination); Assert.IsNotNull(transferDestinationToProduct.TransferDestination);
@ -173,19 +173,19 @@ namespace Tiam.Services.Client.Tests
Assert.IsTrue((int)transferDestinationToProduct.Price == 20000); Assert.IsTrue((int)transferDestinationToProduct.Price == 20000);
Assert.IsTrue(transferDestinationToProduct.Id == transferDestinationToProductId, "transferDestinationToProduct.Id != transferDestinationToProductId"); Assert.IsTrue(transferDestinationToProduct.Id == transferDestinationToProductId, "transferDestinationToProduct.Id != transferDestinationToProductId");
var transferDestinationToProducts = await _signalRClient.GetByIdAsync<List<TransferDestinationToProduct>>(SignalRTags.GetTransferDestinationToProductsByTransferDestinationId, [transferDestId]); var transferDestinationToProducts = await _signalRClient.GetByIdAsync<List<TransferDestinationToProduct>>(SignalRTags.GetTransferDestinationToProductsByTransferDestinationId, transferDestId);
Assert.IsNotNull(transferDestinationToProducts); Assert.IsNotNull(transferDestinationToProducts);
Assert.IsTrue(transferDestinationToProducts.Count > 0); Assert.IsTrue(transferDestinationToProducts.Count > 0);
Assert.IsTrue(transferDestinationToProducts.All(x=>x.TransferDestinationId == transferDestId)); Assert.IsTrue(transferDestinationToProducts.All(x=>x.TransferDestinationId == transferDestId));
transferDestinationToProducts = await _signalRClient.GetByIdAsync<List<TransferDestinationToProduct>>(SignalRTags.GetTransferDestinationToProductsByProductId, [productId]); transferDestinationToProducts = await _signalRClient.GetByIdAsync<List<TransferDestinationToProduct>>(SignalRTags.GetTransferDestinationToProductsByProductId, productId);
Assert.IsNotNull(transferDestinationToProducts); Assert.IsNotNull(transferDestinationToProducts);
Assert.IsTrue(transferDestinationToProducts.Count > 0); Assert.IsTrue(transferDestinationToProducts.Count > 0);
Assert.IsTrue(transferDestinationToProducts.All(x=>x.ProductId == productId)); Assert.IsTrue(transferDestinationToProducts.All(x=>x.ProductId == productId));
await _signalRClient.PostDataAsync(SignalRTags.RemoveTransferDestinationToProduct, transferDestinationToProduct); //mielõbb kitöröljük, h ne maradjon szemét a db-ben - J. await _signalRClient.PostDataAsync(SignalRTags.RemoveTransferDestinationToProduct, transferDestinationToProduct); //mielõbb kitöröljük, h ne maradjon szemét a db-ben - J.
transferDestinationToProduct = await _signalRClient.GetByIdAsync<TransferDestinationToProduct>(SignalRTags.GetTransferDestinationToProductById, [transferDestinationToProductId]); transferDestinationToProduct = await _signalRClient.GetByIdAsync<TransferDestinationToProduct>(SignalRTags.GetTransferDestinationToProductById, transferDestinationToProductId);
Assert.IsNull(transferDestinationToProduct); //a korábbi törlés miatt NULL kell legyen - J. Assert.IsNull(transferDestinationToProduct); //a korábbi törlés miatt NULL kell legyen - J.
} }
@ -203,7 +203,7 @@ namespace Tiam.Services.Client.Tests
//_signalRDataSource.AsQueryable().Expression. //_signalRDataSource.AsQueryable().Expression.
//var filteredData = new List<Transfer>().AsQueryable().AppendWhere(converter, criteria) as IQueryable<Transfer>; //var filteredData = new List<Transfer>().AsQueryable().AppendWhere(converter, criteria) as IQueryable<Transfer>;
var transfers = await _signalRClient.GetAllAsync<List<Transfer>>(SignalRTags.GetTransfersByFilterText, [Guid.NewGuid(), criteriaString]); var transfers = await _signalRClient.GetAllAsync<List<Transfer>>(SignalRTags.GetTransfersByFilterText, [criteriaString]);
//var transfers = await _signalRClient.GetAllAsync<List<Transfer>>(SignalRTags.GetTransfersByExpression, [userId, filteredData!.Expression]); //var transfers = await _signalRClient.GetAllAsync<List<Transfer>>(SignalRTags.GetTransfersByExpression, [userId, filteredData!.Expression]);
Assert.IsNotNull(transfers); Assert.IsNotNull(transfers);

View File

@ -75,7 +75,7 @@ namespace Tiam.Services.Client.Tests
await _signalRDataSource.SaveItem(transferId, TrackingState.Update); await _signalRDataSource.SaveItem(transferId, TrackingState.Update);
Assert.IsTrue(transfer.LuggageCount == luggageCount); Assert.IsTrue(transfer.LuggageCount == luggageCount);
var dbTransfer = await _signalRDataSource.SignalRClient.GetByIdAsync<Transfer>(SignalRTags.GetTransfer, [transferId]); var dbTransfer = await _signalRDataSource.SignalRClient.GetByIdAsync<Transfer>(SignalRTags.GetTransfer, transferId);
Assert.IsNotNull(dbTransfer); Assert.IsNotNull(dbTransfer);
Assert.IsTrue(dbTransfer.LuggageCount == luggageCount); Assert.IsTrue(dbTransfer.LuggageCount == luggageCount);