đ AssetSubType Documentation
đ QUICK DOCUMENTATIONâ
- File Path: /Domain/Entities/AssetSubType.cs
- Database Table: AssetSubTypes
- Primary Purpose: Defines the third level in the asset hierarchy, representing subtypes within an asset type
- đ Key Fields:
- Id (int) - Primary key
- Name (string) - Name of the asset subtype
- AssetTypeId (int) - Links to the parent asset type
- LookupType (enum) - Identifies this as an AssetSubType lookup
- đ Related Models:
- AssetType (parent) - The parent type
- Asset (indirect, through hierarchy) - Assets of this subtype
- AssetAssumptions (one-to-one) - Valuation assumptions
- InsuranceAssumptions (one-to-one) - Insurance parameters
- ComponentName (one-to-many) - Component templates
đ DETAILED DOCUMENTATIONâ
đ Overviewâ
The AssetSubType entity represents the most detailed level in the asset hierarchy, providing highly specific categorization of assets. For example, within a "Roads" asset type, subtypes might include "Sealed Roads," "Unsealed Roads," or "Footpaths." The AssetSubType directly connects to assumptions models that define specific valuation parameters, making it a critical link between the asset hierarchy and the valuation framework.
đī¸ Model Detailsâ
- Namespace: AVP.Domain.Entities
- Inheritance: Lookup, IClientEntity
đ Business Rules Appliedâ
- AssetSubType must be linked to an AssetType
- AssetSubType forms the most detailed level of the asset hierarchy (AssetClass â AssetType â AssetSubType)
- Each AssetSubType can have associated AssetAssumptions and InsuranceAssumptions that define valuation parameters
- AssetSubType determines which ComponentNames can be associated with assets of this subtype
- AssetSubType is a client-specific lookup, allowing different clients to have different asset subtype schemes
đ Hierarchy Relationshipsâ
âšī¸ Note: The asset hierarchy completes at the subtype level:
- AssetClass (e.g., Infrastructure)
- â AssetType (e.g., Roads)
- â â AssetSubType (e.g., Sealed Roads)
This detailed classification enables precise application of valuation parameters and component templates.
đ Business Contextâ
AssetSubType directly impacts several important valuation aspects:
-
Default Assumptions
- Each SubType can have default useful life assumptions
- Default unit rates are often defined at the SubType level
- Residual value percentages may vary by SubType
-
Component Templates
- The ComponentNames associated with a SubType define the expected structure
- These templates help ensure consistent component breakdowns across similar assets
-
Valuation Rules
- Different SubTypes might use different valuation approaches
- Consumption patterns often vary by SubType
- Validation rules may be specific to certain SubTypes
⥠Performance Considerationsâ
đĄ Tip: When working with asset hierarchies, consider caching the SubType relationships to reduce database queries, especially when processing large volumes of assets.