implement TransferDestinationToProduct crud signalRTest;

This commit is contained in:
Loretta 2024-06-26 18:17:46 +02:00
parent 127577da86
commit e2ca971cf4
10 changed files with 181 additions and 112 deletions

View File

@ -5,6 +5,20 @@ namespace TIAM.Database.Test;
public static class TestHelper public static class TestHelper
{ {
public static TransferDestinationToProduct CreateTransferDestinationToProduct(Guid transferDestinationToProductId, Guid transferDestId, Guid productId)
{
var transferDestinationToProduct = new TransferDestinationToProduct();
transferDestinationToProduct.Id = transferDestinationToProductId;
transferDestinationToProduct.ProductId = productId;
transferDestinationToProduct.TransferDestinationId = transferDestId;
transferDestinationToProduct.Price = 5000;
transferDestinationToProduct.Price2 = 6000;
transferDestinationToProduct.Price3 = 8000;
transferDestinationToProduct.ProductCommis = 0.1d;
return transferDestinationToProduct;
}
public static TransferDestination CreateTransferDestination(Guid transferDestId, Guid addressId) public static TransferDestination CreateTransferDestination(Guid transferDestId, Guid addressId)
{ {
var name = "Liszt Ferenc repülőtér"; var name = "Liszt Ferenc repülőtér";

View File

@ -70,7 +70,7 @@ namespace TIAM.Database.DataLayers.Admins
#endregion Transfer #endregion Transfer
#region TransferDestination #region TransferDestination
public List<TransferDestination>? GetTransferDestinations() => Session(ctx=>ctx.GetTransferDestinations().ToList()); public List<TransferDestination> GetTransferDestinations() => Session(ctx=>ctx.GetTransferDestinations().ToList());
public TransferDestination? GetTransferDestinationById(Guid transferDestinationId) => Session(ctx=>ctx.GetTransferDestinationById(transferDestinationId)); public TransferDestination? GetTransferDestinationById(Guid transferDestinationId) => Session(ctx=>ctx.GetTransferDestinationById(transferDestinationId));
public Task<TransferDestination?> GetTransferDestinationByIdAsync(Guid transferDestinationId) => SessionAsync(ctx=>ctx.GetTransferDestinationById(transferDestinationId)); public Task<TransferDestination?> GetTransferDestinationByIdAsync(Guid transferDestinationId) => SessionAsync(ctx=>ctx.GetTransferDestinationById(transferDestinationId));
public string? GetTransferDestinationJsonById(Guid transferDestinationId) => Session(ctx => ctx.GetTransferDestinationById(transferDestinationId)?.ToJson()); public string? GetTransferDestinationJsonById(Guid transferDestinationId) => Session(ctx => ctx.GetTransferDestinationById(transferDestinationId)?.ToJson());
@ -92,9 +92,13 @@ namespace TIAM.Database.DataLayers.Admins
#region TransferDestinationToProduct #region TransferDestinationToProduct
public TransferDestinationToProduct? GetTransferDestinationToProductById(Guid transferDestinationToProductId) => Session(ctx=>ctx.GetTransferDestinationToProductById(transferDestinationToProductId)); public TransferDestinationToProduct? GetTransferDestinationToProductById(Guid transferDestinationToProductId) => Session(ctx=>ctx.GetTransferDestinationToProductById(transferDestinationToProductId));
public Task<TransferDestinationToProduct?> GetTransferDestinationToProductByIdAsync(Guid transferDestinationToProductId) => SessionAsync(ctx=>ctx.GetTransferDestinationToProductById(transferDestinationToProductId));
public string? GetTransferDestinationToProductJsonById(Guid transferDestinationToProductId) => Session(ctx => ctx.GetTransferDestinationToProductById(transferDestinationToProductId)?.ToJson()); public string? GetTransferDestinationToProductJsonById(Guid transferDestinationToProductId) => Session(ctx => ctx.GetTransferDestinationToProductById(transferDestinationToProductId)?.ToJson());
public TransferDestinationToProduct? GetTransferDestinationToProduct(Guid productId, Guid transferDestinationId) => Session(ctx=>ctx.GetTransferDestinationToProduct(productId, transferDestinationId)); public TransferDestinationToProduct? GetTransferDestinationToProduct(Guid productId, Guid transferDestinationId) => Session(ctx=>ctx.GetTransferDestinationToProduct(productId, transferDestinationId));
public Task<List<TransferDestinationToProduct>> GetTransferDestinationToProducts() => SessionAsync(ctx=>ctx.GetTransferDestinationToProducts().ToList());
public Task<List<TransferDestinationToProduct>> GetTransferDestinationToProductsByProductId(Guid productId) => SessionAsync(ctx=>ctx.GetTransferDestinationToProductsByProductId(productId).ToList());
public Task<List<TransferDestinationToProduct>> GetTransferDestinationToProductsByTransferDestinationId(Guid transferDestinationId) => SessionAsync(ctx=>ctx.GetTransferDestinationToProductsByTransferDestinationId(transferDestinationId).ToList());
public string? GetTransferDestinationToProductJson(Guid productId, Guid transferDestinationId) => Session(ctx => ctx.GetTransferDestinationToProduct(productId, transferDestinationId)?.ToJson()); public string? GetTransferDestinationToProductJson(Guid productId, Guid transferDestinationId) => Session(ctx => ctx.GetTransferDestinationToProduct(productId, transferDestinationId)?.ToJson());
public Task<bool> AddTransferDestinationToProductAsync(TransferDestinationToProduct transferDestinationToProduct) => TransactionAsync(ctx => ctx.AddTransferDestinationToProduct(transferDestinationToProduct)); public Task<bool> AddTransferDestinationToProductAsync(TransferDestinationToProduct transferDestinationToProduct) => TransactionAsync(ctx => ctx.AddTransferDestinationToProduct(transferDestinationToProduct));

View File

@ -63,7 +63,16 @@ public static class TransferDbSetExtensions
=> ctx.TransferDestinationToProducts.FirstOrDefault(x => x.Id == transferDestinationToProductId); => ctx.TransferDestinationToProducts.FirstOrDefault(x => x.Id == transferDestinationToProductId);
public static TransferDestinationToProduct? GetTransferDestinationToProduct(this ITransferDestinationToProductDbSet ctx, Guid productId, Guid transferDestinationId) public static TransferDestinationToProduct? GetTransferDestinationToProduct(this ITransferDestinationToProductDbSet ctx, Guid productId, Guid transferDestinationId)
=> ctx.TransferDestinationToProducts.FirstOrDefault(x => x.ProductId == productId && x.TransferDestinationId == transferDestinationId); => ctx.TransferDestinationToProducts.FirstOrDefault(x => x.ProductId == productId && x.TransferDestinationId == transferDestinationId);
public static IQueryable<TransferDestinationToProduct> GetTransferDestinationToProducts(this ITransferDestinationToProductDbSet ctx)
=> ctx.TransferDestinationToProducts;
public static IQueryable<TransferDestinationToProduct> GetTransferDestinationToProductsByProductId(this ITransferDestinationToProductDbSet ctx, Guid productId)
=> ctx.TransferDestinationToProducts.Where(x => x.ProductId == productId);
public static IQueryable<TransferDestinationToProduct> GetTransferDestinationToProductsByTransferDestinationId(this ITransferDestinationToProductDbSet ctx, Guid transferDestinationId)
=> ctx.TransferDestinationToProducts.Where(x => x.TransferDestinationId == transferDestinationId);
public static bool AddTransferDestinationToProduct(this ITransferDestinationToProductDbSet ctx, TransferDestinationToProduct transferDestinationToProduct) public static bool AddTransferDestinationToProduct(this ITransferDestinationToProductDbSet ctx, TransferDestinationToProduct transferDestinationToProduct)
=> ctx.TransferDestinationToProducts.Add(transferDestinationToProduct).State == EntityState.Added; => ctx.TransferDestinationToProducts.Add(transferDestinationToProduct).State == EntityState.Added;

View File

@ -86,8 +86,9 @@ public class SignalRTags : AcSignalRTags
public const int CreateTransferDestinationToProduct = 90; public const int CreateTransferDestinationToProduct = 90;
public const int UpdateTransferDestinationToProduct = 91; public const int UpdateTransferDestinationToProduct = 91;
public const int RemoveTransferDestinationToProduct = 92; //set permissions to 0 public const int RemoveTransferDestinationToProduct = 92; //set permissions to 0
public const int GetAllTransferDestinationToProducts = 93; public const int GetTransferDestinationToProductById = 93;
public const int GetTransferDestinationToProductByProductId = 94; public const int GetAllTransferDestinationToProducts = 94;
public const int GetTransferDestinationToProductByTransferDestinationId = 95; public const int GetTransferDestinationToProductsByProductId = 95;
public const int GetTransferDestinationToProductsByTransferDestinationId = 96;
} }

View File

@ -31,7 +31,7 @@
IconCssClass="btn-column-chooser" IconCssClass="btn-column-chooser"
Click="ColumnChooserButton_Click" /> Click="ColumnChooserButton_Click" />
</div> </div>
<ProductGridComponent DetailExpandButtonDisplayMode="GridDetailExpandButtonDisplayMode.Auto" GetAllTag="SignalRTags.GetAllProducts"></ProductGridComponent> <ProductGridComponent DetailExpandButtonDisplayMode="GridDetailExpandButtonDisplayMode.Auto"></ProductGridComponent>
</div> </div>

View File

@ -23,8 +23,6 @@
<ProductGrid @ref="_productGrid" <ProductGrid @ref="_productGrid"
DataSource="ParentData?.Products ?? []"
GetAllMessageTag="GetAllTag"
Logger="_logger" Logger="_logger"
SignalRClient="AdminSignalRClient" SignalRClient="AdminSignalRClient"
OnGridEditModelSaving="DataItemSaving" OnGridEditModelSaving="DataItemSaving"
@ -51,7 +49,7 @@
<DetailRowTemplate> <DetailRowTemplate>
<DxTabs> <DxTabs>
<DxTabPage Text="Prices"> <DxTabPage Text="Prices">
<TransferDestinationToProductDetailGridComponent GetAllTag="SignalRTags.GetTransferDestinationToProductByProductId" ContextIds="new [] {((Product)context.DataItem).Id}" KeyboardNavigationEnabled="true" /> <TransferDestinationToProductDetailGridComponent GetAllTag="SignalRTags.GetTransferDestinationToProductsByProductId" ContextIds="new [] {((Product)context.DataItem).Id}" KeyboardNavigationEnabled="true" />
</DxTabPage> </DxTabPage>
<DxTabPage Text="Permissions"> <DxTabPage Text="Permissions">
<UserProductMappingGridComponent DetailExpandButtonDisplayMode="GridDetailExpandButtonDisplayMode.Never" ContextIds="new[] { ((Product)context.DataItem).Id }" GetAllTag="SignalRTags.GetUserProductMappingsByProductId"> <UserProductMappingGridComponent DetailExpandButtonDisplayMode="GridDetailExpandButtonDisplayMode.Never" ContextIds="new[] { ((Product)context.DataItem).Id }" GetAllTag="SignalRTags.GetUserProductMappingsByProductId">
@ -89,9 +87,7 @@
@code { @code {
[Parameter] public bool KeyboardNavigationEnabled { get; set; } [Parameter] public bool KeyboardNavigationEnabled { get; set; }
[Parameter] public IProductsRelation? ParentData { get; set; } = null!;
[Parameter] public EventCallback<GridEditModelSavingEventArgs> OnGridEditModelSaving { get; set; } [Parameter] public EventCallback<GridEditModelSavingEventArgs> OnGridEditModelSaving { get; set; }
[Parameter] public int GetAllTag { get; set; } = SignalRTags.GetProductsByContextId;
[Parameter] public GridDetailExpandButtonDisplayMode DetailExpandButtonDisplayMode { get; set; } = GridDetailExpandButtonDisplayMode.Never; [Parameter] public GridDetailExpandButtonDisplayMode DetailExpandButtonDisplayMode { get; set; } = GridDetailExpandButtonDisplayMode.Never;
private ProductGrid _productGrid = null!; private ProductGrid _productGrid = null!;

View File

@ -10,26 +10,27 @@
@using AyCode.Services.Loggers @using AyCode.Services.Loggers
@using TIAM.Core.Loggers @using TIAM.Core.Loggers
@using AyCode.Core @using AyCode.Core
@using TIAM.Services
@using TIAMSharedUI.Shared.Components.Grids @using TIAMSharedUI.Shared.Components.Grids
@inject IServiceProviderDataService ServiceProviderDataService @inject IServiceProviderDataService ServiceProviderDataService
@inject IEnumerable<IAcLogWriterClientBase> LogWriters @inject IEnumerable<IAcLogWriterClientBase> LogWriters
@inject AdminSignalRClient AdminSignalRClient; @inject AdminSignalRClient AdminSignalRClient;
<TransferDestinationToProductDetailGrid <TransferDestinationToProductDetailGrid
Logger="_logger" Logger="_logger"
SignalRClient="AdminSignalRClient" SignalRClient="AdminSignalRClient"
ContextIds="ContextIds" ContextIds="ContextIds"
PageSize="5" GetAllMessageTag="GetAllTag"
AutoExpandAllGroupRows="true" PageSize="10"
KeyboardNavigationEnabled="KeyboardNavigationEnabled" KeyboardNavigationEnabled="KeyboardNavigationEnabled"
KeyFieldName="Id" KeyFieldName="Id"
ValidationEnabled="false" ValidationEnabled="false"
EditMode="GridEditMode.EditForm" EditMode="GridEditMode.EditForm"
ColumnResizeMode="GridColumnResizeMode.NextColumn" ColumnResizeMode="GridColumnResizeMode.NextColumn">
ShowFilterRow="true">
<Columns> <Columns>
<DxGridCommandColumn Width="135" MinWidth="135" FixedPosition="GridColumnFixedPosition.Left" /> <DxGridCommandColumn Width="135" MinWidth="135" FixedPosition="GridColumnFixedPosition.Left" />
<DxGridDataColumn FieldName="Id" GroupIndex="0" ShowInColumnChooser="AcDomain.IsDeveloperVersion" Visible="AcDomain.IsDeveloperVersion" /> <DxGridDataColumn FieldName="Id" ShowInColumnChooser="AcDomain.IsDeveloperVersion" Visible="AcDomain.IsDeveloperVersion" />
<DxGridDataColumn FieldName="ProductId" /> <DxGridDataColumn FieldName="ProductId" />
<DxGridDataColumn FieldName="TransferDestinationId"/> <DxGridDataColumn FieldName="TransferDestinationId"/>
<DxGridDataColumn FieldName="Price" /> <DxGridDataColumn FieldName="Price" />
@ -48,23 +49,23 @@
</DetailRowTemplate> </DetailRowTemplate>
<EditFormTemplate Context="EditFormContext"> <EditFormTemplate Context="editFormContext">
@{ @{
var serviceProvider = (Company)EditFormContext.EditModel; var serviceProvider = (Company)editFormContext.EditModel;
} }
<DxFormLayout CssClass="w-100"> <DxFormLayout CssClass="w-100">
<DxFormLayoutItem Caption="Price" ColSpanMd="4"> <DxFormLayoutItem Caption="Price" ColSpanMd="4">
@EditFormContext.GetEditor("Price") @editFormContext.GetEditor("Price")
</DxFormLayoutItem> </DxFormLayoutItem>
<DxFormLayoutItem Caption="Price2" ColSpanMd="4"> <DxFormLayoutItem Caption="Price2" ColSpanMd="4">
@EditFormContext.GetEditor("Price2") @editFormContext.GetEditor("Price2")
</DxFormLayoutItem> </DxFormLayoutItem>
<DxFormLayoutItem Caption="Price3" ColSpanMd="4"> <DxFormLayoutItem Caption="Price3" ColSpanMd="4">
@EditFormContext.GetEditor("Price3") @editFormContext.GetEditor("Price3")
</DxFormLayoutItem> </DxFormLayoutItem>
<DxFormLayoutItem Caption="Commission rate" ColSpanMd="4"> <DxFormLayoutItem Caption="Commission rate" ColSpanMd="4">
@EditFormContext.GetEditor("ProductCommis") @editFormContext.GetEditor("ProductCommis")
</DxFormLayoutItem> </DxFormLayoutItem>
@ -77,70 +78,15 @@
@code { @code {
[Parameter] public bool KeyboardNavigationEnabled { get; set; } [Parameter] public bool KeyboardNavigationEnabled { get; set; }
[Parameter] public GridDetailExpandButtonDisplayMode DetailExpandButtonDisplayMode { get; set; } = GridDetailExpandButtonDisplayMode.Never; [Parameter] public GridDetailExpandButtonDisplayMode DetailExpandButtonDisplayMode { get; set; } = GridDetailExpandButtonDisplayMode.Never;
[Parameter] public Guid? ContextId { get; set; } [Parameter] public Guid[]? ContextIds { get; set; } = null!;
[Parameter] public Guid[]? ContextIds { get; set; } = new Guid[0]; [Parameter] public int GetAllTag { get; set; } = SignalRTags.GetAllTransferDestinationToProducts;
[Parameter] public int GetAllTag { get; set; }
private LoggerClient<TransferDestinationToProductGridComponent> _logger = null!; private LoggerClient<TransferDestinationToProductGridComponent> _logger = null!;
protected override async Task OnInitializedAsync() protected override void OnInitialized()
{ {
_logger = new LoggerClient<TransferDestinationToProductGridComponent>(LogWriters.ToArray()); _logger = new LoggerClient<TransferDestinationToProductGridComponent>(LogWriters.ToArray());
// ReSharper disable once NullCoalescingConditionIsAlwaysNotNullAccordingToAPIContract base.OnInitialized();
//_detailGridData = UserModelDtoDetail.ServiceProviders ?? [];
//_availableServices = await ServiceProviderDataService.GetServiceProvidersAsync();
//_logger.Info($"DetailGridData: {_detailGridData.Count}");
} }
protected override void OnParametersSet()
{
if(ContextId.HasValue)
{
ContextIds = new Guid[1];
ContextIds[0] = (Guid)ContextId!;
}
base.OnParametersSet();
}
// void CustomizeEditModel(GridCustomizeEditModelEventArgs e)
// {
// if (!e.IsNew) return;
// var newProductMapping = new UserProductMapping
// {
// ProductId = Guid.NewGuid(),
// UserId = UserModelDtoDetail.Id,
// Permissions = 1
// };
// e.EditModel = newProductMapping;
// }
// async Task EditModelSaving(GridEditModelSavingEventArgs e)
// {
// if (e.IsNew)
// //add new orderData to orderData array
// _logger.Info("New orderData added");
// else
// _logger.Info("orderData updated");
// await UpdateDataAsync();
// }
// async Task DataItemDeleting(GridDataItemDeletingEventArgs e)
// {
// //remove orderData from orderData array
// _logger.Info("orderData deleted");
// //await UpdateDataAsync();
// }
// async Task UpdateDataAsync()
// {
// //refresh grid
// _logger.Info("orderData grid refreshed");
// }
} }

View File

@ -8,7 +8,7 @@ public class ProductGrid : TiamGrid<Product>
{ {
public ProductGrid() : base() public ProductGrid() : base()
{ {
GetAllMessageTag = SignalRTags.GetProductsByContextId; GetAllMessageTag = SignalRTags.GetAllProducts;
AddMessageTag = SignalRTags.AddProduct; AddMessageTag = SignalRTags.AddProduct;
UpdateMessageTag = SignalRTags.UpdateProduct; UpdateMessageTag = SignalRTags.UpdateProduct;
RemoveMessageTag = SignalRTags.RemoveProduct; RemoveMessageTag = SignalRTags.RemoveProduct;

View File

@ -258,6 +258,99 @@ namespace TIAMWebApp.Server.Controllers
//} //}
//[AllowAnonymous]
//[HttpGet]
//[Route(APIUrls.GetTransferDestinationsRouteName)]
[SignalR(SignalRTags.GetAllTransferDestinationToProducts)]
public async Task<List<TransferDestinationToProduct>> GetAllTransferDestinationToProducts()
{
return await _adminDal.GetTransferDestinationToProducts();
}
//[AllowAnonymous]
//[HttpGet]
//[Route(APIUrls.GetTransferDestinationsRouteName)]
[SignalR(SignalRTags.GetTransferDestinationToProductsByProductId)]
public async Task<List<TransferDestinationToProduct>> GetTransferDestinationToProductsByProductId(Guid productId)
{
return await _adminDal.GetTransferDestinationToProductsByProductId(productId);
}
//[AllowAnonymous]
//[HttpGet]
//[Route(APIUrls.GetTransferDestinationsRouteName)]
[SignalR(SignalRTags.GetTransferDestinationToProductsByTransferDestinationId)]
public async Task<List<TransferDestinationToProduct>> GetTransferDestinationToProductsByTransferDestinationId(Guid transferDestinationId)
{
return await _adminDal.GetTransferDestinationToProductsByTransferDestinationId(transferDestinationId);
}
//[Authorize]
//[HttpGet]
//[Route(APIUrls.GetTransferDriversByTransferIdRouteName)]
[SignalR(SignalRTags.GetTransferDestinationToProductById)]
public async Task<TransferDestinationToProduct?> GetTransferDestinationToProductById(Guid transferDestinationToProductId)
{
var transferDestination = await _adminDal.GetTransferDestinationToProductByIdAsync(transferDestinationToProductId);
return transferDestination;
}
[AllowAnonymous]
[HttpPost]
[Route(APIUrls.CreateTransferDestinationRouteName)]
[SignalR(SignalRTags.CreateTransferDestinationToProduct)]
public async Task<TransferDestinationToProduct?> CreateTransferDestinationToProduct([FromBody] TransferDestinationToProduct transferDestinationToProduct)
{
_logger.Info(@"CreateTransferDestination called!");
var isSuccess = false;
if (transferDestinationToProduct.ProductId.IsNullOrEmpty() || transferDestinationToProduct.TransferDestinationId.IsNullOrEmpty())
{
var logText = $"transferDestinationToProduct.ProductId.IsNullOrEmpty() || transferDestinationToProduct.TransferDestinationId.IsNullOrEmpty(); ProductId: {transferDestinationToProduct.ProductId}; TransferDestinationId: {transferDestinationToProduct.TransferDestinationId}";
_logger.Error(logText);
}
else
{
if (transferDestinationToProduct.Id.IsNullOrEmpty()) transferDestinationToProduct.Id = Guid.NewGuid();
isSuccess = await _adminDal.AddTransferDestinationToProductAsync(transferDestinationToProduct);
}
return isSuccess ? transferDestinationToProduct : null;
}
//[AllowAnonymous]
//[HttpPost]
//[Route(APIUrls.UpdateTransferDestinationRouteName)]
[SignalR(SignalRTags.UpdateTransferDestinationToProduct)]
public async Task<TransferDestinationToProduct?> UpdateTransferDestinationToProduct([FromBody] TransferDestinationToProduct transferDestinationToProduct)
{
_logger.Info(@"UpdateTransferDestination called!");
var isSuccess = false;
if (transferDestinationToProduct.Id.IsNullOrEmpty() || transferDestinationToProduct.ProductId.IsNullOrEmpty() || transferDestinationToProduct.TransferDestinationId.IsNullOrEmpty())
{
var logText = $"transferDestinationToProduct.Id.IsNullOrEmpty() || transferDestinationToProduct.ProductId.IsNullOrEmpty() || transferDestinationToProduct.TransferDestinationId.IsNullOrEmpty(); Id: {transferDestinationToProduct.Id}; ProductId: {transferDestinationToProduct.ProductId}; TransferDestinationId: {transferDestinationToProduct.TransferDestinationId}";
_logger.Error(logText);
}
else isSuccess = await _adminDal.UpdateTransferDestinationToProductAsync(transferDestinationToProduct);
return isSuccess ? transferDestinationToProduct : null;
}
//[Authorize]
//[HttpGet]
//[Route(APIUrls.GetTransferDriversByTransferIdRouteName)]
[SignalR(SignalRTags.RemoveTransferDestinationToProduct)]
public async Task<TransferDestinationToProduct?> RemoveTransferDestinationToProduct([FromBody] TransferDestinationToProduct transferDestinationToProduct)
{
var result = await _adminDal.RemoveTransferDestinationToProductAsync(transferDestinationToProduct);
return result ? transferDestinationToProduct : null;
}
[AllowAnonymous] [AllowAnonymous]
[HttpPost] [HttpPost]
[Route(APIUrls.CreateTransferRouteName)] [Route(APIUrls.CreateTransferRouteName)]

View File

@ -141,42 +141,48 @@ namespace Tiam.Services.Client.Tests
} }
[DataTestMethod] [DataTestMethod]
[DataRow(["cfb27fc2-54c2-4f07-8471-587d6b79b019", "7385c4e3-3c1e-4c5e-9926-8c0ea60dcb38"])] [DataRow(["e7528722-355a-4f8b-8571-7d7abf7ee109", "273EFE3C-D19F-4C2A-BF19-7397DC835C60", "05C147F8-8A87-47DD-BE1D-64EDA7A6A612"])]
public async Task TransferDestinationToProductCrudTest(string[] transferDestIdAddressIdStrings) public async Task TransferDestinationToProductCrudTest(string[] transferDestinationToProductIdTransferDestIdProductIdStrings)
{ {
var transferDestId = Guid.Parse(transferDestIdAddressIdStrings[0]); var transferDestinationToProductId = Guid.Parse(transferDestinationToProductIdTransferDestIdProductIdStrings[0]);
var addressId = Guid.Parse(transferDestIdAddressIdStrings[1]); var transferDestId = Guid.Parse(transferDestinationToProductIdTransferDestIdProductIdStrings[1]);
var productId = Guid.Parse(transferDestinationToProductIdTransferDestIdProductIdStrings[2]);
var transferDest = TestHelper.CreateTransferDestination(transferDestId, addressId); var transferDestinationToProduct = TestHelper.CreateTransferDestinationToProduct(transferDestinationToProductId, transferDestId, productId);
await _signalRClient.PostDataAsync(SignalRTags.RemoveTransferDestinationToProduct, transferDest); await _signalRClient.PostDataAsync(SignalRTags.RemoveTransferDestinationToProduct, transferDestinationToProduct);
transferDest = await _signalRClient.PostDataAsync(SignalRTags.CreateTransferDestination, transferDest); transferDestinationToProduct = await _signalRClient.PostDataAsync(SignalRTags.CreateTransferDestinationToProduct, transferDestinationToProduct);
Assert.IsNotNull(transferDest); Assert.IsNotNull(transferDestinationToProduct);
transferDest = await _signalRClient.GetByIdAsync<TransferDestination>(SignalRTags.GetTransferDestinationById, transferDestId); transferDestinationToProduct = await _signalRClient.GetByIdAsync<TransferDestinationToProduct>(SignalRTags.GetTransferDestinationToProductById, transferDestinationToProductId);
Assert.IsNotNull(transferDest); Assert.IsNotNull(transferDestinationToProduct);
Assert.IsNotNull(transferDest.Address); Assert.IsNotNull(transferDestinationToProduct.TransferDestination);
var modifiedAddress = "modified; " + transferDest.Address.AddressText; transferDestinationToProduct.Price = 20000;
transferDestinationToProduct = await _signalRClient.PostDataAsync(SignalRTags.UpdateTransferDestinationToProduct, transferDestinationToProduct);
transferDest.Price = 20000; Assert.IsNotNull(transferDestinationToProduct);
transferDest.Address.AddressText = modifiedAddress; Assert.IsNotNull(transferDestinationToProduct.TransferDestination);
transferDest = await _signalRClient.PostDataAsync(SignalRTags.UpdateTransferDestination, transferDest); Assert.IsTrue((int)transferDestinationToProduct.Price == 20000);
Assert.IsTrue(transferDestinationToProduct.Id == transferDestinationToProductId, "transferDestinationToProduct.Id != transferDestinationToProductId");
Assert.IsNotNull(transferDest); var transferDestinationToProducts = await _signalRClient.GetByIdAsync<List<TransferDestinationToProduct>>(SignalRTags.GetTransferDestinationToProductsByTransferDestinationId, transferDestId);
Assert.IsNotNull(transferDest.Address); Assert.IsNotNull(transferDestinationToProducts);
Assert.IsTrue(transferDestinationToProducts.Count > 0);
Assert.IsTrue(transferDestinationToProducts.All(x=>x.TransferDestinationId == transferDestId));
Assert.IsTrue((int)transferDest.Price == 20000); transferDestinationToProducts = await _signalRClient.GetByIdAsync<List<TransferDestinationToProduct>>(SignalRTags.GetTransferDestinationToProductsByProductId, productId);
Assert.IsTrue(transferDest.Address.AddressText == modifiedAddress); Assert.IsNotNull(transferDestinationToProducts);
Assert.IsTrue(transferDest.Id == transferDestId, "transferDest.Id != transferDestId"); Assert.IsTrue(transferDestinationToProducts.Count > 0);
Assert.IsTrue(transferDestinationToProducts.All(x=>x.ProductId == productId));
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.RemoveTransferDestinationToProduct, transferDestinationToProduct); //mielõbb kitöröljük, h ne maradjon szemét a db-ben - J.
transferDest = await _signalRClient.GetByIdAsync<TransferDestination>(SignalRTags.GetTransferDestinationById, transferDestId); transferDestinationToProduct = await _signalRClient.GetByIdAsync<TransferDestinationToProduct>(SignalRTags.GetTransferDestinationToProductById, transferDestinationToProductId);
Assert.IsNull(transferDest); //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.
} }
} }
} }