đ§ Reports Controller Documentation
đ QUICK DOCUMENTATIONâ
- File Path: /API/Controllers/ReportsController.cs
- Primary Purpose: Handles generation and retrieval of various reports in the application
- Key Endpoints:
- đ POST /DetailedAnalysis - Generates a detailed analysis report
- đ POST /GetMethodologyReport - Generates a methodology report
- đ POST /GetSummaryReport - Generates a summary report
- đ POST /GetGeneralValuationReports - Generates general valuation reports
- Related Models: Various query models for different report types
- Used By: Reporting functionality in the web application
đ DETAILED DOCUMENTATIONâ
đī¸ Overviewâ
The ReportsController provides endpoints for generating and downloading various reports related to asset valuation, analysis, and financial projections. It supports a wide range of report types catering to different business needs.
đī¸ Controller Dependenciesâ
- Namespace: APV.API.Controllers
- Services Used: Mediator
- Other Dependencies: None
đ Endpointsâ
đ DetailedAnalysisâ
- HTTP Method: POST
- URL Pattern: /DetailedAnalysis
- Authentication: đ Required (inherited from ApiController)
- Description: Generates a detailed analysis report with both detail and summary sections
đ DetailedAnalysisExportâ
- HTTP Method: POST
- URL Pattern: /DetailedAnalysisExport
- Authentication: đ Required
- Description: Exports the detailed analysis report as a downloadable file
đ GetMethodologyReportâ
- HTTP Method: POST
- URL Pattern: /GetMethodologyReport
- Authentication: đ Required
- Description: Generates a methodology report explaining valuation approaches
đ GetSummaryReportâ
- HTTP Method: POST
- URL Pattern: /GetSummaryReport
- Authentication: đ Required
- Description: Generates a summary report of valuation results
đ GetMethodologySubReportsâ
- HTTP Method: POST
- URL Pattern: /GetMethodologySubReports
- Authentication: đ Required
- Description: Generates sub-reports related to the methodology
đ GetGeneralValuationReportsâ
- HTTP Method: POST
- URL Pattern: /GetGeneralValuationReports
- Authentication: đ Required
- Description: Generates general valuation reports
đ GetInsuranceValuationReportsâ
- HTTP Method: POST
- URL Pattern: /GetInsuranceValuationReports
- Authentication: đ Required
- Description: Generates insurance valuation reports
đ GetChangesReportâ
- HTTP Method: POST
- URL Pattern: /GetChangesReport
- Authentication: đ Required
- Description: Generates reports on changes in valuation
đ GetDepreciationAnalysisReportâ
- HTTP Method: POST
- URL Pattern: /GetDepreciationAnalysisReport
- Authentication: đ Required
- Description: Generates reports on depreciation analysis
đ GetMovementsReconciliationReportâ
- HTTP Method: POST
- URL Pattern: /GetMovementsReconciliationReport
- Authentication: đ Required
- Description: Generates reconciliation reports for asset movements
đ GetDistributionByScoreReportâ
- HTTP Method: POST
- URL Pattern: /GetDistributionByScoreReport
- Authentication: đ Required
- Description: Generates reports on asset distribution by score
đ GetDistributionByValueReportâ
- HTTP Method: POST
- URL Pattern: /GetDistributionByValueReport
- Authentication: đ Required
- Description: Generates reports on asset distribution by value
đ GetRenewalCostReportâ
- HTTP Method: POST
- URL Pattern: /GetRenewalCostReport
- Authentication: đ Required
- Description: Generates reports on renewal costs
đ GetMaintenancePlanReportâ
- HTTP Method: POST
- URL Pattern: /GetMaintenancePlanReport
- Authentication: đ Required
- Description: Generates maintenance plan reports
đ CashFlowProjectionsâ
- HTTP Method: POST
- URL Pattern: /CashFlowProjections
- Authentication: đ Required
- Description: Generates cash flow projection reports
đ RenewalsScheduleâ
- HTTP Method: POST
- URL Pattern: /RenewalsSchedule
- Authentication: đ Required
- Description: Generates renewal schedule reports
đ CostToBringToSatisfactoryâ
- HTTP Method: POST
- URL Pattern: /GetCostToBringToSatisfactoryReport
- Authentication: đ Required
- Description: Generates reports on costs required to bring assets to satisfactory condition
đ ModifiedAssumptionsâ
- HTTP Method: POST
- URL Pattern: /ModifiedAssumptionsReport
- Authentication: đ Required
- Description: Generates reports on modified assumptions
đ Business Contextâ
đ Role in Valuation Processâ
According to the legacy documentation, reporting is a critical final step in the valuation workflow. The ReportsController implements this key phase described as:
"Once the refresh of calculations is completed the valuer is able to run validations to ensure there are no obvious mistakes or missing data [and] produce the various reports..."
This controller provides the technical implementation for generating all the report types mentioned in the legacy documentation.
đ Report Categories from Legacy Documentationâ
The endpoints in this controller directly align with the report categories described in the legacy documentation:
-
Financial Reporting Valuation
- The GetGeneralValuationReports endpoint corresponds to the "Valuation spreadsheets (financial reporting)" mentioned in the documentation
- The GetInsuranceValuationReports endpoint implements the insurance valuation reporting capability
-
Valuation Methodology Documentation
- The GetMethodologyReport endpoint implements the "Valuation methodology and other textual based reports" mentioned in the documentation
- This report type is essential for audit and compliance purposes
-
Financial Reporting Disclosures
- The GetMovementsReconciliationReport and GetChangesReport endpoints support the "Financial reporting disclosures" mentioned in the documentation
- These reports are critical for financial statement preparation
-
Asset Management Outputs
- Several endpoints implement the asset management outputs described in the documentation:
- GetRenewalCostReport â "Renewal and cost to bring to satisfactory projections"
- GetDistributionByScoreReport â "Analysis of scores and value"
- CostToBringToSatisfactory â "Cost to bring to satisfactory projections"
- CashFlowProjections â "EasySAM strategic asset management planning"
- Several endpoints implement the asset management outputs described in the documentation:
đ Report Storage Mechanismâ
The legacy documentation mentions that "The various reports should be saved in the 'Reports File Container' so that they can be accessed at any time without having to re-run them." This controller works with the backend storage services to implement this requirement.
đ Support for Multiple Report Typesâ
The controller supports the diverse reporting needs described in the legacy documentation:
- Valuation reports for financial reporting and insurance purposes
- Asset management reports for strategic planning
- Condition and value analysis reports
- Reconciliation reports for financial disclosures
- Methodology documentation for audit and compliance
đ Report Generation Sequenceâ
According to the legacy documentation, reports are generated after valuation calculations have been refreshed. The controller's dependency on accurate asset valuation data reflects this sequence in the business process.
đĄ Tips for Report Generationâ
- ⥠Some reports may take time to generate for large asset portfolios
- â Reports often require a completed job with validated data
- đ Use the appropriate report for your specific business needs
- âšī¸ Many reports can be exported in various formats (PDF, Excel) for further analysis