diff --git a/.claude/settings.local.json b/.claude/settings.local.json index e971f96b..2ef6a2f4 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -12,7 +12,37 @@ "Bash(do sed -i '1a using AyCode.Core.Serializers.Toons;\\\\n' \"$f\")", "Bash(done)", "Bash(rm \"C:/Users/Fullepi/.claude/projects/H--Applications-Mango-Source-FruitBankHybridApp/memory/feedback_framework_docs_no_consumer_types.md\")", - "Bash(cd \"H:/Applications/Aycode/Source/AyCode.Core/AyCode.Services.Server/bin/FruitBank\" && ls -la --time-style=full-iso Debug/net9.0/AyCode.Core.dll Release/net9.0/AyCode.Core.dll 2>&1)" + "Bash(cd \"H:/Applications/Aycode/Source/AyCode.Core/AyCode.Services.Server/bin/FruitBank\" && ls -la --time-style=full-iso Debug/net9.0/AyCode.Core.dll Release/net9.0/AyCode.Core.dll 2>&1)", + "WebSearch", + "Bash(dotnet --version)", + "Bash(curl -sI -m 8 https://ekaer.nav.gov.hu/)", + "Bash(echo \"---curl-exit:$?\")", + "Bash(dotnet tool *)", + "Read(//c/Users/Fullepi/Downloads/ekaer/Generated/AyCode.Services.Nav.Ekaer.Models//**)", + "WebFetch(domain:github.com)", + "Bash(curl -s -m 15 https://raw.githubusercontent.com/nav-gov-hu/Common/master/README.md)", + "Bash(curl -s -m 15 \"https://api.github.com/repos/nav-gov-hu/Common/git/trees/master?recursive=1\")", + "Bash(curl -s -m 15 \"https://api.github.com/repos/nav-gov-hu/Common\")", + "Bash(curl -s -m 15 \"https://api.github.com/repos/nav-gov-hu/Common/git/trees/main?recursive=1\")", + "Bash(sed -E 's/\"path\": *\"//;s/\"$//')", + "Bash(curl -s -m 15 https://raw.githubusercontent.com/nav-gov-hu/Common/main/README_en.adoc)", + "WebFetch(domain:ekaer.nav.gov.hu)", + "Bash(curl -s -m 15 https://raw.githubusercontent.com/nav-gov-hu/Common/main/schemas/src/main/resources/xsd/hu/gov/nav/schemas/NTCA/2.0/common/authservice.xsd)", + "Bash(echo \"=== Nav/docs \\(amit a user bemásolt\\) ===\" *)", + "Bash(cp \"C:/Users/Fullepi/Downloads/ekaer/ekaermanagement.xsd\" \"H:/Applications/Aycode/Source/AyCode.Core/AyCode.Services/Nav/docs/\")", + "Bash(cp \"C:/Users/Fullepi/Downloads/ekaer/common.xsd\" \"H:/Applications/Aycode/Source/AyCode.Core/AyCode.Services/Nav/docs/\")", + "Bash(pdftotext -layout \"H:/Applications/Aycode/Source/AyCode.Core/AyCode.Services/Nav/docs/eKAERManagementService_2.2.pdf\" \"C:/Users/Fullepi/Downloads/ekaer/ekaer_2.2.txt\")", + "Bash(sed -n '1,70p' \"C:/Users/Fullepi/Downloads/ekaer/ekaer_2.2.txt\")", + "Bash(pdftotext -layout -enc UTF-8 H:/Applications/Aycode/Source/AyCode.Core/AyCode.Services/Nav/docs/eKAERManagementService_2.2.pdf C:/Users/Fullepi/Downloads/ekaer/ekaer_2.2.txt)", + "Bash(cp C:/Users/Fullepi/Downloads/ekaer/Generated/AyCode.Services.Nav.Ekaer.Models/*.cs H:/Applications/Aycode/Source/AyCode.Core/AyCode.Services/Nav/Ekaer/Models/)", + "Bash(echo '=== bemásolva: __CMDSUB_OUTPUT__')", + "Bash(cp C:/Users/Fullepi/Downloads/ekaer/Generated2/AyCode.Services.Nav.Ekaer.Models/*.cs H:/Applications/Aycode/Source/AyCode.Core/AyCode.Services/Nav/Ekaer/Models/)", + "Bash(cp C:/Users/Fullepi/Downloads/ekaer/Generated2/AyCode.Services.Nav.Ekaer.Models.Common/*.cs H:/Applications/Aycode/Source/AyCode.Core/AyCode.Services/Nav/Ekaer/Models/Common/)", + "Bash(sha512sum)", + "Bash(awk '{print toupper\\($1\\)}')", + "Bash(git -C \"H:/Applications/Aycode/Source/AyCode.Core\" status --short)", + "Bash(git -C \"H:/Applications/Mango/Source/FruitBankHybridApp\" status --short)", + "Bash(git -C \"H:/Applications/Mango/Source/NopCommerce.Common\" status --short)" ] } } diff --git a/FruitBank.Common/Dtos/ProductDto.cs b/FruitBank.Common/Dtos/ProductDto.cs index 36b3c5c4..2fc2ba8d 100644 --- a/FruitBank.Common/Dtos/ProductDto.cs +++ b/FruitBank.Common/Dtos/ProductDto.cs @@ -30,6 +30,16 @@ public class ProductDto : MgProductDto, IProductDto [Association(ThisKey = nameof(Id), OtherKey = nameof(GenericAttributeDto.EntityId), ExpressionPredicate = nameof(RelationWithGenericAttribute), CanBeNull = false)] public List GenericAttributes { get; set; } + /// + /// A nopCommerce Product.Gtin oszlopa. Átmenetileg az EKÁER VTSZ-t (vámtarifaszámot) tárolja — + /// a jövőbeli ShippingToEkaerMapper innen olvassa a tradeCardItem.productVtsz értékét. + /// ⚠️ A GTIN ≠ VTSZ (a GTIN globális kereskedelmi cikkszám, a VTSZ vámtarifaszám). Külön mezőbe választandó — + /// lásd Nop.Plugin.Misc.AIPlugin/docs/EKAER/EKAER_ISSUES.md#mgfbankplug-ekaer-i-t3x8. + /// + [LinqToDB.Mapping.Column(nameof(Product.Gtin))] + [ToonDescription(Purpose = "nopCommerce Gtin column — holds the EKÁER VTSZ (customs tariff number) used as the trade-card item productVtsz in NAV road-freight reporting.")] + public string? Gtin { get; set; } + public ProductDto() :base() { } public ProductDto(int productId) : base(productId) diff --git a/FruitBankHybrid.Shared.Tests/OrderClientTests.cs b/FruitBankHybrid.Shared.Tests/OrderClientTests.cs index 5779d4cf..cedb2b34 100644 --- a/FruitBankHybrid.Shared.Tests/OrderClientTests.cs +++ b/FruitBankHybrid.Shared.Tests/OrderClientTests.cs @@ -35,11 +35,12 @@ public sealed class OrderClientTests [TestMethod] public async Task GetAllStockTakings() { - var stockTakings = await _signalRClient.GetStockTakings(false); + var stockTakings = await _signalRClient.GetStockTakings(true); Assert.IsNotNull(stockTakings); Assert.IsTrue(stockTakings.Count != 0); + Assert.IsTrue(stockTakings.All(o => o.StockTakingItems != null)); Assert.IsTrue(stockTakings.All(o => o.StockTakingItems.All(oi => oi.Product != null && oi.Product.Id == oi.ProductId))); }