2.5 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Build & Run
This is an ASP.NET Web Forms project targeting .NET Framework 4.7.2. Build and run via Visual Studio 2022:
- Build:
msbuild OlympiaIntranet.slnor use VS Build menu - Run: F5 in Visual Studio (IIS Express, port defined in
launchSettings) - Publish: Use publish profiles in
Properties/PublishProfiles/— separate profiles for TEST and PROD environments
There are no automated tests in this solution.
Architecture
Project Type
ASP.NET Web Forms (not MVC/Blazor). Each page is an .aspx file with a paired .aspx.cs code-behind. The solution is a single project (OlympiaIntranet.csproj).
Authentication
OWIN cookie-based auth configured in App_Start/Startup.cs via Microsoft.AspNet.Identity. Login page is SignIn.aspx. Forms auth timeout is 240 minutes. Cookie domain is configurable via AppSettings["CookieDomain"] in Web.config.
Data Access
Two patterns coexist:
- LINQ to SQL via
DataClasses1DataContext— primary ORM, maps toFirstSolutionDB. Context and entity definitions live inDataClasses1.designer.cs. - Raw ADO.NET —
SqlConnection/SqlCommand/SqlDataAdapter/SqlBulkCopyused directly in many pages. - MySQL access via
MySqlConnector(namespaceMySqlConnector) for specific data sources. - Entity Framework 6.4.4 is installed but minimally used.
Connection string is stored in Properties.Settings.Default.SqlConnection.
Shared Utilities
CommonClass (in the root namespace) holds shared data access helpers, bulk copy operations, and common query execution methods. Check here before duplicating data access logic.
Key Dependencies
- DevExpress v23.2 — UI controls (grids, charts); configured in
Web.configunderdevExpresssection - ClosedXML — Excel export
- PDFsharp — PDF generation
- Newtonsoft.Json — JSON serialization
- LumenWorks CSV reader — CSV parsing
Page Organization
43 ASPX pages covering:
- Financial dashboards:
DashboardControlli,MonitorVaR,Mifir,Margini - Fund management:
Fondi,ElencoTitoli,EsposizioneTitoli,RankingFondi - Portfolio/Asset:
GPMAssetAllocation,GPMDispRendRisk,Reconciliator - Reports:
ReportAllFunds,ReportPortfoglioApi
Static assets (CSS, JS, fonts, images) are in their respective top-level folders. Third-party frontend libraries are under vendor/.