đ§Ž ValuationClassController Documentation
đ§Ž QUICK DOCUMENTATIONâ
- File Path: /API/Controllers/ValuationClassController.cs
- Primary Purpose: Manages valuation classes, which define categories of assets for valuation purposes with similar characteristics and valuation methods.
- Key Endpoints:
- âī¸ POST /List - Retrieves a dropdown list of valuation classes
- đ GET /ListSummary - Gets a detailed list of valuation classes
- đ GET /GetValuationClass - Retrieves a specific valuation class
- đ POST /UpdateValuationClass - Creates or updates a valuation class
- đī¸ POST /Delete - Deletes a valuation class
- Related Models: ValuationClassDto, DropDownDto
- Used By:
- Valuation framework configuration screens
- Asset classification for valuation purposes
- Valuation method assignment
đī¸ DETAILED DOCUMENTATIONâ
đī¸ Overviewâ
The ValuationClassController manages valuation classes, which are categories used to group assets with similar valuation characteristics. Valuation classes help establish consistent valuation methodologies for similar types of assets, ensuring uniformity in the valuation process. This controller provides functionality to retrieve, create, update, and delete valuation classes in the system.
đ§ Controller Dependenciesâ
- Namespace: AVP.API.Controllers
- Services Used:
- Mediator (CQRS pattern implementation)
- Other Dependencies: None specified
đ Endpointsâ
âī¸ Get Valuation Classes (Dropdown)â
- HTTP Method: POST
- URL Pattern: /List
- Authentication: đ Required (inherited from ApiController)
- Description: Retrieves a list of valuation classes for dropdown selection
Request Parametersâ
| Parameter | Type | Required | Description |
|---|---|---|---|
| query | ValuationClassDropDownsQuery | Yes | Filter parameters for valuation classes |
Response Formatâ
[
{
"id": 1,
"name": "Buildings"
},
{
"id": 2,
"name": "Infrastructure"
},
{
"id": 3,
"name": "Land"
}
]
đ List Valuation Classes (Summary)â
- HTTP Method: GET
- URL Pattern: /ListSummary
- Authentication: đ Required
- Description: Retrieves a detailed list of valuation classes
Request Parametersâ
| Parameter | Type | Required | Description |
|---|---|---|---|
| query | GetValuationClassListQuery | Yes | Query parameters for filtering valuation classes |
Response Formatâ
[
{
"id": 1,
"name": "Buildings",
"description": "All building assets",
"clientId": 456,
"valuationMethod": "CostApproach",
"isActive": true,
"isGlobal": false
},
{
"id": 2,
"name": "Infrastructure",
"description": "All infrastructure assets",
"clientId": 456,
"valuationMethod": "CostApproach",
"isActive": true,
"isGlobal": false
}
]
đ Get Valuation Classâ
- HTTP Method: GET
- URL Pattern: /GetValuationClass
- Authentication: đ Required
- Description: Retrieves a specific valuation class by ID
Request Parametersâ
| Parameter | Type | Required | Description |
|---|---|---|---|
| query | GetValuationClassQuery | Yes | Contains ValuationClassId to retrieve |
Response Formatâ
{
"id": 1,
"name": "Buildings",
"description": "All building assets",
"clientId": 456,
"valuationMethod": "CostApproach",
"isActive": true,
"isGlobal": false,
"assetClassIds": [1, 2, 3],
"valuationProfileId": 123
}
đ Update Valuation Classâ
- HTTP Method: POST
- URL Pattern: /UpdateValuationClass
- Authentication: đ Required
- Description: Creates or updates a valuation class
Request Parametersâ
| Parameter | Type | Required | Description |
|---|---|---|---|
| command | UpdateValuationClassCommand | Yes | Contains valuation class data to update |
Response Formatâ
1
(Returns the valuation class ID)
đī¸ Delete Valuation Classâ
- HTTP Method: POST
- URL Pattern: /Delete
- Authentication: đ Required
- Description: Deletes a valuation class and returns the updated list
Request Parametersâ
| Parameter | Type | Required | Description |
|---|---|---|---|
| command | DeleteValuationClassCommand | Yes | Contains ValuationClassId to delete |
Response Formatâ
[
{
"id": 2,
"name": "Infrastructure",
"description": "All infrastructure assets",
"clientId": 456,
"valuationMethod": "CostApproach",
"isActive": true,
"isGlobal": false
},
{
"id": 3,
"name": "Land",
"description": "All land assets",
"clientId": 456,
"valuationMethod": "MarketApproach",
"isActive": true,
"isGlobal": false
}
]
(Returns the remaining valuation classes after deletion)
đ§Ž Valuation Class Purposeâ
âšī¸ Note: Valuation classes serve as a key organizational element in the valuation framework:
-
Valuation Method Assignment
- Associates assets with specific valuation approaches (Cost, Market, Income)
- Determines which calculation methodology applies to assets
- Standardizes valuation approach for similar asset types
-
Fair Value Measurement
- Defines the fair value hierarchy level (Level 1, 2, or 3)
- Specifies valuation techniques for fair value disclosure
- Supports accounting standard disclosure requirements
-
Asset Classification
- Groups assets with similar characteristics
- Provides consistent treatment across asset types
- Allows for bulk update of valuation parameters
đ Asset-Valuation Class Relationshipâ
Assets are associated with valuation classes to determine their valuation approach:
- Asset â Links to â Valuation Class
- Valuation class determines calculation method
- Multiple asset types can share the same valuation class
- Valuation classes can link to valuation profiles for detailed parameters
đ Regulatory Contextâ
Valuation classes directly support reporting requirements:
-
IFRS 13 / AASB 13 Compliance
- Fair value measurement hierarchy classification
- Valuation technique disclosures
- Input level categorization (Level 1, 2, or 3)
-
Financial Statement Notes
- Organization of fair value disclosure notes
- Grouping of assets for note presentation
- Valuation technique documentation
đ Business Benefitsâ
Valuation classes deliver several business advantages:
-
Consistency
- Ensures uniform valuation approach for similar assets
- Standardizes treatment across reporting periods
- Reduces risk of inconsistent methodologies
-
Efficiency
- Allows mass assignment of valuation methods
- Simplifies configuration of valuation parameters
- Reduces redundant configuration