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 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!;
return ctx.UpdateTransfer(transfer);
});
public async Task<Transfer?> UpdateTransferAsync(Transfer 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, List<TransferToDriver> transferToDrivers)

View File

@ -23,10 +23,10 @@ namespace TIAM.Database.DbContexts
{
base.OnConfiguring(optionsBuilder);
optionsBuilder.UseLazyLoadingProxies(false);
optionsBuilder.UseLazyLoadingProxies(true);
optionsBuilder.EnableDetailedErrors(true);
optionsBuilder.UseQueryTrackingBehavior(QueryTrackingBehavior.NoTrackingWithIdentityResolution);
//optionsBuilder.UseQueryTrackingBehavior(QueryTrackingBehavior.NoTrackingWithIdentityResolution);
//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";

View File

@ -82,7 +82,6 @@
<TransferGrid @ref="_gridTransfer"
Logger="_logger"
SignalRClient="AdminSignalRClient"
ContextIds="[Guid.NewGuid()]"
FilterText="@_filterText"
OnDataSourceChanged="DataSourceChanged"
OnGridItemChanging="DataSourceItemChanging"
@ -264,7 +263,7 @@
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 MessageWizardModel _messageWizardModel = new();

View File

@ -556,6 +556,15 @@ namespace TIAMWebApp.Server.Controllers
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]
[HttpGet]
[Route(APIUrls.GetTransfersByUserIdRouteName)]
@ -566,14 +575,6 @@ namespace TIAMWebApp.Server.Controllers
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]
[HttpPost]
@ -590,17 +591,20 @@ namespace TIAMWebApp.Server.Controllers
[HttpPost]
[Route(APIUrls.UpdateTransferRouteName)]
[SignalR(SignalRTags.UpdateTransfer)]
public async Task<Transfer> UpdateTransfer(Transfer transferToModify)
public async Task<Transfer?> UpdateTransfer(Transfer transferToModify)
{
_logger.Info($"UpdateTransfer called! + {transferToModify.Id}");
await _adminDal.UpdateTransferAsync(transferToModify);
return transferToModify;
return await _adminDal.UpdateTransferAsync(transferToModify);
//await _adminDal.UpdateTransferAsync(transferToModify);
//return transferToModify;
}
//[Authorize]
//[HttpGet]
//[Route(APIUrls.GetTransferDriverRouteName)]
[NonAction]
[SignalR(SignalRTags.GetAllDrivers)]
public async Task<List<UserProductMapping>> GetAllDrivers()
{
@ -641,6 +645,7 @@ namespace TIAMWebApp.Server.Controllers
//[Authorize]
//[HttpGet]
//[Route(APIUrls.GetTransferDriversByTransferIdRouteName)]
[NonAction]
[SignalR(SignalRTags.AddTransferToDriver)]
public async Task<TransferToDriver?> AddTransferDriver([FromBody] TransferToDriver transferToDriver)
{
@ -653,6 +658,7 @@ namespace TIAMWebApp.Server.Controllers
//[Authorize]
//[HttpGet]
//[Route(APIUrls.GetTransferDriversByTransferIdRouteName)]
[NonAction]
[SignalR(SignalRTags.UpdateTransferToDriver)]
public async Task<TransferToDriver?> UpdateTransferDriver([FromBody] TransferToDriver transferToDriver)
{
@ -665,6 +671,7 @@ namespace TIAMWebApp.Server.Controllers
//[Authorize]
//[HttpGet]
//[Route(APIUrls.GetTransferDriversByTransferIdRouteName)]
[NonAction]
[SignalR(SignalRTags.RemoveTransferToDriver)]
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];
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>>();

View File

@ -123,13 +123,13 @@ namespace TIAMWebApp.Shared.Application.Services
callback.Invoke(response.ResponseData);
return Task.CompletedTask;
}, [id]);
}, id);
}
//17.
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)}");
return companyPropertiesByOwner;
@ -157,7 +157,7 @@ namespace TIAMWebApp.Shared.Application.Services
//18.
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}");
return company;
@ -249,7 +249,7 @@ namespace TIAMWebApp.Shared.Application.Services
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 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)
{
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);
}
@ -59,7 +59,7 @@ namespace Tiam.Services.Client.Tests
company = response.ResponseData;
return Task.CompletedTask;
}, [companyId]);
}, companyId);
await TaskHelper.WaitToAsync(() => company != null, 5000, 50);
@ -119,7 +119,7 @@ namespace Tiam.Services.Client.Tests
transferDest = await _signalRClient.PostDataAsync(SignalRTags.CreateTransferDestination, 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.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.
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.
}
@ -159,7 +159,7 @@ namespace Tiam.Services.Client.Tests
transferDestinationToProduct = await _signalRClient.PostDataAsync(SignalRTags.CreateTransferDestinationToProduct, 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.TransferDestination);
@ -173,19 +173,19 @@ namespace Tiam.Services.Client.Tests
Assert.IsTrue((int)transferDestinationToProduct.Price == 20000);
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.IsTrue(transferDestinationToProducts.Count > 0);
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.IsTrue(transferDestinationToProducts.Count > 0);
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.
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.
}
@ -203,7 +203,7 @@ namespace Tiam.Services.Client.Tests
//_signalRDataSource.AsQueryable().Expression.
//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]);
Assert.IsNotNull(transfers);

View File

@ -75,7 +75,7 @@ namespace Tiam.Services.Client.Tests
await _signalRDataSource.SaveItem(transferId, TrackingState.Update);
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.IsTrue(dbTransfer.LuggageCount == luggageCount);