Skip to content

Developers

Items

Each Item can optionally have a Country of Origin specified. Countries can be retrieved using these endpoints:

Countries End Points

Item Detail

Item Detail

Item Compatibility

Item compatibility is managed through the ItemCompatibilityController.

Routing

The feature uses a structured routing pattern where the action verb is typically at the end of the URL:

  • List/Detail: /Items/{BaseItemID}/Compatibility/Detail
  • Add: /Items/{BaseItemID}/Compatibility/Add
  • Relationship Detail: /Items/{BaseItemID}/Compatibility/{CompatibilityID}/Relationship
  • Edit: /Items/{BaseItemID}/Compatibility/{CompatibilityID}/Edit
  • Delete: /Items/{BaseItemID}/Compatibility/{CompatibilityID}/Delete (POST)
  • Search: /Items/Compatibility/SearchItems (used for AJAX searching)

Implementation Details

  • POST Actions: The Add and Edit POST actions accept individual parameters (CompatibleItemID, CompatibilityType, NewNote) rather than a complex view model, simplifying model binding and front-end implementation.
  • Search: The item search functionality uses a restricted result set (max 50 items) for better performance and usability.