Commit Graph

471 Commits

Author SHA1 Message Date
Loretta 48275ea5d3 Update agent protocol docs and refactor service registration
Added critical sequential execution and tool mapping rules to AGENTS.md, enforcing that copilot-instructions.md is always read first and protocol steps are strictly sequential. Reformatted IMessageTokenProvider registration in PluginNopStartup.cs for code clarity; no functional changes.
2026-07-13 14:04:52 +02:00
Loretta 0812f8e3d9 Update SignalR protocol and hub registration docs
Clarified that both JSON and AcBinary protocols are registered for SignalR, allowing client-side selection. Updated keep-alive and timeout settings to use constants with new values. Expanded documentation on protocol registration and startup logging. Improved hub registration details, including endpoints, protocol usage, and logging for LoggerSignalRHub.
2026-07-13 08:38:12 +02:00
Loretta 312e319e23 Add IsProdEnvironment SignalR endpoint and env flag setup
Added IsProdEnvironment SignalR endpoint to FruitBankDataController for runtime environment checks. Set production status globally in PluginNopStartup via FruitBankConst.SetIsProd. Minor code and using updates. README.md binary updated.
2026-07-12 14:31:40 +02:00
Loretta 59317749bc Set console title based on DB environment (DEV/PROD)
Added SetConsoleTitleFromCatalog to detect the database environment from the connection string and set the console window title to [PROD] or [DEV] accordingly. Throws on ambiguous catalog names and prints a red warning for production. Switched appsettings.json to use the DEV database. Added Microsoft.Data.SqlClient for connection string parsing. This reduces risk of accidental operations on the wrong database.
2026-07-12 08:36:14 +02:00
Loretta d83ad35f71 Update PROD DB connection and EKÁER TODOs
- Switched appsettings.json connection string to FruitBank_PROD.
- Added EKÁER TODO for direction logic based on depot country (MGFBANKPLUG-EKAER-T-R6P2).
- Documented need for EkaerHistory delete/regenerate endpoint (MGFBANKPLUG-EKAER-T-N4E7).
2026-07-11 06:55:05 +02:00
Loretta 1236fb523d Optimize ShippingDocuments query order
Reordered LINQ method calls to filter ShippingDocuments by foreign keys before loading related PartnerDepot entities. This change ensures only relevant related data is loaded, improving query performance without altering logic.
2026-07-10 17:47:48 +02:00
Loretta 4081bddfcc Merge branch 'FruitBank_v0.0.8.0' of https://git.aycode.com/Adam/Mango.Nop.Plugins into FruitBank_v0.0.8.0 2026-07-10 15:38:22 +02:00
Loretta 9f6aa1b903 EKÁER: depot, isEkaer, grid layout, doc updates
- Switch to DEV DB and split company address street/number
- CustomerCreditWidget: isEkaer now nullable, defaults to true
- FruitBankDataController: add grid layout CRUD endpoints
- EKÁER: require depot for inbound, batch isEkaer for outbound
- Update docs: stricter foreign reporting, depot handling, isEkaer logic, mapping rules, and close depot-grouping issue
2026-07-10 15:37:05 +02:00
Adam eb265e9a5c duplicated preorder conversion issue, missing preorder status operations fix, preorder delete fix, preorder expiration fix 2026-07-10 13:06:31 +02:00
Loretta 36f22aa2cc AI OrderDraft intake, customer attrs, PreOrder admin UX
- Add OrderDraft (AI-assisted order intake) workflow: API, service, admin UI, and DB tables for draft creation, review, and approval into PreOrders.
- Implement customer attributes block: EKÁER flag, sites, license plates; add modals and AJAX endpoints for editing; auto-assign defaults to new orders.
- Extend order attributes (admin order page) for site/plate selection.
- Enhance PreOrder admin: inline editing, product swap, manual conversion, improved detail/list UI.
- Update localization (EN/HU) and documentation for new features.
- Register new services/routes; refactor PreOrder conversion and product swap logic.
- Improve customer and preorder UI/UX, including search and voice input.
2026-07-03 12:12:04 +02:00
Loretta 95b7fbd561 Update DB to PROD, enable NopLogWriter, cleanup usings
Switched the connection string to the production database in appsettings.json. Enabled Mango.Nop.Services.Loggers.NopLogWriter as an additional logger. Removed an unused using directive from FruitBankDataController.cs.
2026-07-03 12:10:19 +02:00
Adam d5f151b5ac site, license plate 2026-06-27 01:57:56 +02:00
Adam d568931bd9 more bug fix 2026-06-24 00:47:58 +02:00
Adam 330aee3e5f bug fix 2026-06-24 00:47:45 +02:00
Adam 9209b26386 OrderDraft, bugfixes, location, license plate in progress 2026-06-23 23:38:51 +02:00
Loretta fdde2b3c6b Set EkaerHistory summary fields and update dev DB config
Updated the connection string to use the FruitBank_DEV database.
Ensured EkaerHistory summary fields (ShippingDate, Partner/Customer)
are consistently set via fruitBankEkaerService.SetSummary when
creating or updating records, improving data consistency for both
inbound and outbound cases.
2026-06-17 13:54:52 +02:00
Loretta c71bf2fcd8 EKÁER: add mapping table, group logic, atomic ops
Refactored EKÁER logic to use EkaerHistoryMapping junction table, decoupling EkaerHistory from direct foreign keys. Grouped inbound declarations by (ShippingId, PartnerId, PartnerDepotId) and enabled atomic creation of histories with mappings. Updated controller endpoints, DI registration, and documentation. Improved error handling, logging, and adjusted method signatures for the new mapping-based approach.
2026-06-16 21:45:49 +02:00
Loretta 1d56eba8ec Update DB connection, EKÁER mapping, and partner loading
- Switched appsettings.json connection string to FruitBank_DEV.
- FruitBankDataController: GetPartners now loads PartnerDepots; GetPartnerById uses new overload.
- Clarified in EKAER_TODO.md and README.md that carrierText is optional and left empty for outgoing shipments (customer is the carrier).
2026-06-16 12:02:19 +02:00
Loretta e783d7c116 EKÁER docs: VTSZ grouping, archive rules, reopened issue
- Clarified docs-archive skill to use year-month buckets and archive only Closed entries.
- Reopened and updated the Product.Gtin/VTSZ separation issue in EKAER_ISSUES.md.
- Added new TODO (T-V9G3) for grouping tradeCardItems by VTSZ and resolving group names from Category, with requirements and affected code.
- Updated README to reflect VTSZ-based grouping and productName resolution.
2026-06-15 18:01:48 +02:00
Loretta 24164b5189 Refactor EKÁER history creation & update docs
- Refactored CreateMissingEkaerHistories to return detailed results (created count + messages), improved grouping, obligation checks, and error handling for both inbound and outbound records.
- Updated AcBinaryHubProtocol to use Bytes mode and set FlushTimeout.
- Enhanced documentation: clarified tradeType and carrier mapping, explained threshold logic and reconciliation workflow, and warned about over-reporting risks.
- Minor code and comment cleanups for clarity.
2026-06-15 11:53:00 +02:00
Loretta 3bde0b4063 Refactor EkaerHistory filtering; add count endpoint
Refactored GetEkaerHistories to use a new GetByFilter method in EkaerHistoryDbTable for SQL-compatible, flag-based filtering. Added GetEkaerHistoryCount endpoint and supporting CountByFilterAsync method. Improved status partitioning logic and clarified related comments.
2026-06-12 18:45:53 +02:00
Loretta b7a38c3efb Add EkaerHistoryFilter to GetEkaerHistories method
Enhanced GetEkaerHistories to accept an EkaerHistoryFilter parameter and apply server-side filtering based on StatusId. Updated logging to include the filter value. The method now returns filtered results according to the selected filter (ToSubmit, Sent, NeedsCompletion, or all), instead of always returning all records.
2026-06-12 09:00:33 +02:00
Loretta cd49b572ad EKAER: add site config, outgoing support, refactor settings
- Added "Site" section to appsettings.json for company location.
- Increased EKAER threshold values; updated phone format.
- Refactored to use IEkaerSettings DI and registered in startup.
- GenerateEkaerXmlDocument now supports both incoming and outgoing (order) documents.
- Updated EKAER_TODO.md to reflect config and outgoing mapping changes.
2026-06-12 07:54:33 +02:00
Loretta f1db5a9a99 Update EKÁER config, thresholds, and value logic
- Switched DB connection to FruitBank_PROD in appsettings.json
- Added Ekaer config section: company info, thresholds, exchange rate
- Refactored CreateMissingEkaerHistories to use new settings, load related data, and apply exemption/threshold logic
- Updated controller DI to use EkaerSettings
- Centralized EKÁER config binding in PluginNopStartup
- Documented currency source issue and new value/category logic in EKAER_ISSUES.md and EKAER_TODO.md
2026-06-11 17:40:42 +02:00
Loretta 75ce276f64 Add method to create missing EKÁER history records
Introduced CreateMissingEkaerHistories in FruitBankDataController to generate Pending EKÁER records for inbound shipping documents and completed outbound orders lacking such records from a specified date. The method is user-invoked, idempotent, logs actions and errors, and supports SignalR notifications.
2026-06-11 08:52:15 +02:00
Loretta c8ecbc94a2 Add EkaerHistory SignalR endpoints and service injection
Added IFruitBankEkaerService to FruitBankDataController and introduced two new SignalR methods: GenerateEkaerXmlDocument (generates/updates EkaerHistory for a shipping document) and CreateEkaerHistory (idempotently creates or returns EkaerHistory for a given key and direction). Both methods include detailed logging and entity validation.
2026-06-10 18:09:26 +02:00
Loretta 9cdd65eebd Add EkaerHistory support: controller, DI, and DbTable
- Added SignalR endpoints for EkaerHistory CRUD in FruitBankDataController.
- Introduced EkaerHistoryDbTable with ordering and query helpers.
- Registered EkaerHistoryDbTable in DI and DbContext.
- Updated appsettings.json to comment out NopLogWriter config with explanation.
2026-06-10 16:24:59 +02:00
Loretta b782d6a88d Add PartnerDepot support: data table, DI, SignalR endpoints
Introduced PartnerDepotDbTable for managing PartnerDepot entities, registered it in DI, and integrated it into FruitBankDbContext. Updated NameCompatibility and PartnerDbTable for proper mapping and relation loading. Added SignalR controller endpoints for PartnerDepot CRUD and queries.
2026-06-09 15:28:57 +02:00
Adam 1b60684f85 jjghjgh 2026-06-06 17:18:04 +02:00
Adam cab7d1c2aa Merge 2026-06-05 00:22:33 +02:00
Adam 40c9018513 wtf 2026-06-05 00:07:10 +02:00
Adam c1e27e12b4 fixes 2026-06-05 00:06:11 +02:00
Loretta 6b105bb5ed EKÁER integration, product search, and schema updates
- Added EKÁER (NAV) service registrations and config to PluginNopStartup
- Extended MgProductDto/IMgProductDto with Sku property
- Raised min search term length to 3 in autocomplete endpoints
- Increased ProductSearchAutoComplete maxResults to 300
- Refactored product search to filter by AvailableQuantity > 0
- Closed GTIN/VTSZ issue in EKAER_ISSUES.md, moved to data model topic
- Added SCHEMA.md with Toon domain model, including Currency property for partners
2026-06-03 16:59:23 +02:00
Loretta d6c828262d Add EKÁER topic docs, schema update, and issue tracking
- Registered `EKAER` topic code and docs location in the per-repo registry.
- Added `Gtin` property to schema for EKÁER VTSZ (customs tariff) mapping.
- Created EKÁER README detailing server-side NAV reporting logic and mapping.
- Added EKÁER issues and TODO docs to track known problems and open mapping decisions.
- Improved cross-references for EKÁER documentation discoverability.
2026-06-02 15:23:48 +02:00
Loretta 727b237253 Clarify Shipping schema docs, make truck fields nullable
Updated SCHEMA.md to clarify field purposes for Shipping and ShippingDocument entities, emphasizing progressive assignment and nullable status for carrier/truck fields. Changed CargoPartnerId, CargoTrailerId, and CargoTruckId types to nullable (int?). Added git show command for SCHEMA.md in settings.local.json and fixed a missing comma. No structural schema changes.
2026-05-31 14:52:34 +02:00
Loretta 2442094a08 Add CargoPartner/CargoTruck relations and eager loading
- Updated controllers and DbTables to support eager loading of CargoPartner and CargoTruck relations.
- Enhanced Shipping and ShippingDocument queries to include related transport entities.
- Extended SCHEMA.md with CargoPartner, CargoTruck, and updated Shipping schema details.
2026-05-31 14:01:58 +02:00
Loretta 1b8d2a6aa0 Add pre-order workflow docs and update topic references
Comprehensive documentation for the new customer pre-order workflow:
- Added docs/PREORDER/README.md with process, entities, lifecycle, and workflow details
- Registered topic code PREO in docs/TOPIC_CODES.md
- Added PREORDER_ISSUES.md and PREORDER_TODO.md for tracking
- Updated README.md, DOMAIN_MODEL.md, MEASUREMENT.md, and topic folder lists to reference pre-orders
- Enhanced SCHEMA.md with pre-order entity clarifications and business logic
- Integrated pre-orders as a fourth main domain workflow
2026-05-30 17:08:47 +02:00
Loretta 1468aa651c Rename Preorder domain to PreOrder across codebase
Comprehensively renamed all "Preorder" domain types, services, controllers, models, enums, database contexts, routes, views, JS, localization resources, and documentation to "PreOrder" (PascalCase, capital "O"). Updated all references in backend, frontend, localization, and schema docs for consistency. No business logic changes; this is a naming and normalization refactor.
2026-05-30 16:26:51 +02:00
Loretta 2a8dfeaca9 Add CargoPartner and CargoTruck support (API & DB)
- Introduced CargoPartnerDbTable and CargoTruckDbTable with DI registration.
- Extended FruitBankDbContext for new entities.
- Added CRUD SignalR endpoints for CargoPartner and CargoTruck.
- Renamed PartnerDbTable.GetByIdNameAsync to GetByNameAsync.
- Minor code style improvements.
2026-05-29 12:16:57 +02:00
Loretta 8020131c0e Add CargoPartner/Truck support, update config and protocol
- Switched DB connection to FruitBank_DEV in appsettings.json
- Added SignalR controller methods for CargoPartner CRUD (placeholders)
- Changed AcBinaryProtocol flush policy to Coalesced
- Registered CustomerCredit, CargoPartner, CargoTruck in NameCompatibility
2026-05-28 19:48:33 +02:00
Loretta 9b2e34f7b5 merge 2026-05-26 17:08:01 +02:00
Loretta d0c300f2b1 Merge branch '4.80' of https://git.aycode.com/Adam/Mango.Nop.Plugins into 4.80 2026-05-26 16:41:38 +02:00
Adam 2e7619b621 bug fixes on preorder, modified logic 2026-05-26 14:48:57 +02:00
Loretta 6c60d7b403 Add XML doc conventions and update references
Added a section on XML documentation standards to CONVENTIONS.md, clarified references to core and Mango.Nop framework convention docs, and improved formatting. Enabled EmitCompilerGeneratedFiles in Mango.Nop.Core.csproj.
2026-05-23 09:27:35 +02:00
Adam c86ef0e416 gyorsrendelés, előrendelés, előrendelés management, hasonlók 2026-05-12 16:18:19 +02:00
Loretta 3cc775c264 [LOADED_DOCS: 3 files, no new loads]
Update AcBinarySerializable attribute to 5 params

Updated AcBinarySerializable to use a five-parameter signature across all relevant entities and DTOs. Adjusted CONVENTIONS.md to document the new attribute usage. Refactored MiscSignalRApiPlugin constructor to a single-line parameter list for clarity.
2026-05-11 20:25:42 +02:00
Loretta 2cf197c159 [LOADED_DOCS: 2 files, no new loads]
Update DB connection, protocol flush policy, and docs

- Switch appsettings.json to production DB connection string
- Update copilot-instructions.md to reference Rules #1-6
- Set FlushPolicy.DoubleBuffered for AcBinary protocol in PluginNopStartup.cs
2026-05-05 15:06:06 +02:00
Loretta 23ce78abf3 [LOADED_DOCS: 3 files, no new loads]
Add type-location map and DRY measurement docs

Added a "Type-Location Map" to the plugin README for quick type lookup. Updated MEASUREMENT.md to reference canonical definitions in DOMAIN_MODEL.md for shared measurement logic, reducing duplication. Clarified pallet weighing workflow and fixed the client app doc path. Minor formatting and clarity improvements.
2026-04-28 06:51:57 +02:00
Loretta ccc3f18772 [LOADED_DOCS: 1 files, no new loads]
Add repo prefixes and clarify workspace dependencies

Added prefix, type, and layer properties to each @repo block in copilot-instructions.md. Updated own-dep-repos arrays for clearer dependency paths. Adjusted [LOADED_DOCS: ...] prefix instructions to reflect correct file counts. These changes enhance multi-repo management and documentation protocol clarity.
2026-04-26 19:13:04 +02:00
Loretta d7d6a60c9d [LOADED_DOCS: NONE]
Refactor skill loading protocol in copilot-instructions

Clarified session setup: only two reactive skills are pre-loaded, with three user-gated skills now lazy-loaded on demand. Updated documentation to add "AUTHORITY, RULE SCOPE, AND SKILL INVOCATION" section, revised skill trigger descriptions, and adjusted `[LOADED_DOCS: ...]` prefix logic. Documented docs-archive as a lazy-loaded skill. Added settings.local.json for local file removal permissions. No code logic changes—documentation and protocol only.
2026-04-26 13:44:27 +02:00