Commit Graph

  • 9b938ef93d fix: fund report layout refactor and chart renderer fix master SmartRootsSrl 2026-06-09 15:56:21 +02:00
  • 9d8acbae6b docs: update README with fund/ETF report feature (endpoints, layout, architecture) SmartRootsSrl 2026-06-08 18:19:22 +02:00
  • 9a73ae9a1b fix: negative perf color, parallel SP calls in chart controller, sort comment SmartRootsSrl 2026-06-08 18:01:20 +02:00
  • 201b3b39c4 feat: register fund report services in DI (Program.cs) SmartRootsSrl 2026-06-08 17:57:10 +02:00
  • 3e6c5c6dff feat: add FundChartController (/api/chart/fund/{isin}) SmartRootsSrl 2026-06-08 17:54:45 +02:00
  • 14bc7f772b refactor: extract ResolveIsinAsync helper in FundReportController SmartRootsSrl 2026-06-08 17:53:18 +02:00
  • b3024f953d feat: add FundReportController (4 endpoint /api/report/fund/) SmartRootsSrl 2026-06-08 17:51:52 +02:00
  • 461cffa442 feat: add FundReportOrchestrator (anagrafica + chart + merge + cache) SmartRootsSrl 2026-06-08 17:49:59 +02:00
  • 5347424e42 feat: add FundChartSectionRenderer (chart PNG wrapped as PDF landscape page) SmartRootsSrl 2026-06-08 17:47:21 +02:00
  • d26ca9f7bd fix: correct Y-grid to 5 lines, add defensive date sort in GetChartPricesAsync SmartRootsSrl 2026-06-08 17:46:26 +02:00
  • 7dbcb8ab16 feat: add FundSkiaChartRenderer (SkiaSharp price line chart) SmartRootsSrl 2026-06-08 17:44:50 +02:00
  • 8e6341d980 feat: add FundAnagraficaRenderer (layout C: title strip + 3 columns) SmartRootsSrl 2026-06-08 17:41:48 +02:00
  • d3c5395c58 fix: add error handling to FindIsinByAliasIdAsync, use NullIfEmpty SmartRootsSrl 2026-06-08 17:39:02 +02:00
  • bbb7e4207a feat: add FundDataService (sfih_GetOptDettagli + sfih_GetChartPrices) SmartRootsSrl 2026-06-08 17:37:26 +02:00
  • fa1fc94fd8 feat: add IFundDataService, IFundReportOrchestrator interfaces SmartRootsSrl 2026-06-08 17:35:59 +02:00
  • 8d9f9272f1 style: use string.Empty convention, add SP comments to FundModels SmartRootsSrl 2026-06-08 17:35:25 +02:00
  • 7331142a36 feat: add FundInfo, FundReportData, FundChartPoint models SmartRootsSrl 2026-06-08 17:33:31 +02:00
  • d90212c206 docs: add fund report implementation plan (10 tasks, FundAnagraficaRenderer + FundSkiaChartRenderer + orchestrator) SmartRootsSrl 2026-06-08 17:29:41 +02:00
  • f1825a1b13 docs: add sfih_GetChartPrices SP details to fund report spec SmartRootsSrl 2026-06-08 17:20:43 +02:00
  • 86c8c8b3f3 docs: add fund/ETF report design spec (layout C, endpoints, models) SmartRootsSrl 2026-06-08 17:10:47 +02:00
  • 457800160e docs: update README with chart v2, natixis param, and latest features SmartRootsSrl 2026-06-08 16:10:51 +02:00
  • c655cdd31e fix: null-safe string reader, chart V2 label collision avoidance SmartRootsSrl 2026-05-29 10:27:44 +02:00
  • bb86c6ac20 feat: add Direzione, RendimentoPotenziale, CategoryID to Analisi section SmartRootsSrl 2026-05-28 17:08:55 +02:00
  • 3c99159bd1 docs: update CLAUDE.md — chart v2 new colors and dual-path save behavior SmartRootsSrl 2026-05-28 14:41:22 +02:00
  • 03dad27414 feat: dual-path save for format=jpg/jpeg with ?save=true SmartRootsSrl 2026-05-28 12:37:41 +02:00
  • 52bda26a4b fix: calculate current price for non-WorstOf end labels from series data SmartRootsSrl 2026-05-28 11:16:46 +02:00
  • 6454420230 feat: add price value to non-WorstOf underlyings end labels SmartRootsSrl 2026-05-28 11:13:56 +02:00
  • 5579915fbc feat: restyle chart v2 colors, end labels and legend SmartRootsSrl 2026-05-28 11:10:43 +02:00
  • 336e0eb3b8 chore: remove obsolete ChartServiceHealthCheck and ChartService config (chart now generated internally) SmartRootsSrl 2026-05-27 18:51:27 +02:00
  • 30d33a147a docs: document ?save=true parameter and ChartSettings paths in CLAUDE.md SmartRootsSrl 2026-05-27 18:46:51 +02:00
  • 4611f3c376 feat: add ?save=true param to chart v2 — saves JPEG to disk (ChartSettings paths in appsettings) SmartRootsSrl 2026-05-27 18:45:39 +02:00
  • 1b4e8c2096 docs: update CLAUDE.md with all chart v2 formats (jpg, jpeg, jpgEnc, pdf) and renderer notes SmartRootsSrl 2026-05-27 18:41:14 +02:00
  • c350b7d3b5 feat: add format=jpgEnc support (filename from rpt_CertificatesChartsAlias SP) SmartRootsSrl 2026-05-27 18:38:52 +02:00
  • d60296aebd fix: X-axis dates now use month-based intervals (fixes missing dates for short/long date ranges) SmartRootsSrl 2026-05-27 18:24:39 +02:00
  • a848d21519 fix: hide CTF series when NumPrezziCFT < 30 (same behavior as old DevExpress) SmartRootsSrl 2026-05-27 18:19:19 +02:00
  • f9a7d7a8d2 feat: add JPEG support to /api/chart/v2 (?format=jpg|jpeg) SmartRootsSrl 2026-05-27 18:06:34 +02:00
  • 9ac3610064 docs: update CLAUDE.md with chart v2 endpoint, SP schema, SKFont gotcha, ToDecimal gotcha SmartRootsSrl 2026-05-27 17:57:16 +02:00
  • 0dd74b0d59 fix: use ToDecimal helper for float/decimal compatibility in cedlab_Chart_UL1 reader (PriceWorst, PriceWorstPerc are float) SmartRootsSrl 2026-05-27 17:37:38 +02:00
  • 679f9e4528 fix: rewrite cedlab_Chart_AllSeriesV2 with correct schema from cedlab_Chart_UL1 (CertificatesUnderlyings.Strike, StartDate=MIN(Prices.Px_date), deleted/sospeso filters) SmartRootsSrl 2026-05-27 17:17:32 +02:00
  • e4728cf79e fix: revert to cedlab_Chart_UL1 (already has all V2 fields); remove cedlab_Chart_UL2; fix AllSeriesV2 SQL with DailyUL1 logic SmartRootsSrl 2026-05-27 16:35:48 +02:00
  • a866a2f7d5 fix: use cedlab_Chart_UL2 (new SP, don't modify UL1); add correct SQL scripts with Prices table SmartRootsSrl 2026-05-27 16:28:26 +02:00
  • 44e2098584 feat: add /api/chart/v2/{isin} endpoint and register IChartDataServiceV2 SmartRootsSrl 2026-05-27 15:54:23 +02:00
  • 0caccc72d5 feat: add SkiaChartRendererV2 (title, colored series, line labels, bottom legend) SmartRootsSrl 2026-05-27 15:50:05 +02:00
  • 494443ede3 feat: add ChartDataServiceV2 with IChartDataServiceV2 (2-SP approach) SmartRootsSrl 2026-05-27 15:45:15 +02:00
  • 5d67ae3463 feat: add ChartModelsV2 (ChartUlMetadata, ChartSeriesPoint, ChartDataV2) SmartRootsSrl 2026-05-27 15:42:38 +02:00
  • 704d634940 chore: ignore .worktrees/ directory SmartRootsSrl 2026-05-27 15:41:08 +02:00
  • a3f6d6000c fix: fallback to Categoria when natixis=true but Nome is empty SmartRootsSrl 2026-03-26 14:06:25 +01:00
  • 86bb25ef1e docs: update CLAUDE.md with Memoria field, natixis param, and query params reference table SmartRootsSrl 2026-03-26 12:59:38 +01:00
  • 79b02b39b6 fix: align Memoria em-dash fallback with AnagraficaSectionRenderer SmartRootsSrl 2026-03-26 12:55:40 +01:00
  • 7a3a8114bd feat: rename Memoria Cedola and add natixis support to ExpiredAnagraficaSectionRenderer SmartRootsSrl 2026-03-26 12:52:48 +01:00
  • 716f191fc5 feat: add Memoria field to Analisi and natixis support to AnagraficaSectionRenderer SmartRootsSrl 2026-03-26 12:48:51 +01:00
  • 7595530490 feat: propagate showNatixis through orchestrator and cache keys SmartRootsSrl 2026-03-26 12:46:18 +01:00
  • cd1a366f77 feat: add natixis query param to all ReportController endpoints SmartRootsSrl 2026-03-26 12:37:50 +01:00
  • 59ff3e9ac8 feat: add showNatixis param to IReportOrchestrator interface SmartRootsSrl 2026-03-26 12:30:08 +01:00
  • df726306db feat: add ShowNatixis flag to CertificateReportData SmartRootsSrl 2026-03-26 12:16:11 +01:00
  • de9d235703 docs: add implementation plan for Memoria field and Natixis parameter SmartRootsSrl 2026-03-26 11:56:01 +01:00
  • 1bf99a917c docs: fix DrawTitolo -> DrawTitle method name in spec SmartRootsSrl 2026-03-26 11:14:02 +01:00
  • 2a10a058b3 docs: fix spec issues - DrawTitolo signature strategy, cache key expired path, showTip guard SmartRootsSrl 2026-03-26 11:03:25 +01:00
  • 998c24da31 docs: add design spec for Memoria field and Natixis parameter SmartRootsSrl 2026-03-26 10:54:35 +01:00
  • 5e9598e9dd feat: dim unreachable event rows in expired certificate reports SmartRootsSrl 2026-03-24 16:28:04 +01:00
  • 8675c6a19e feat: add GrayedOutBrush to PdfTheme for dimmed event rows SmartRootsSrl 2026-03-24 16:24:36 +01:00
  • 1a4e3538b5 docs: add implementation plan for greyed-out unreachable event rows SmartRootsSrl 2026-03-24 16:21:48 +01:00
  • 5e90446cbe docs: add design spec for greyed-out unreachable events in expired certificates SmartRootsSrl 2026-03-24 16:13:29 +01:00
  • 76145ad0d2 fix: rinomina header gruppo DIVIDENDI → DIVIDENDI ANNUALI nella tabella sottostanti+dividendi SmartRootsSrl 2026-03-24 10:13:40 +01:00
  • 7c7d1658ea fix: rinomina etichette UI nei report PDF SmartRootsSrl 2026-03-24 09:42:13 +01:00
  • 8c3a900a9c docs: update README and DOCS with ?dividend=true feature SmartRootsSrl 2026-03-23 17:38:48 +01:00
  • b3cf03e3d4 fix: widen Rendimento/Rendimento Futuro columns to prevent mid-word wrap SmartRootsSrl 2026-03-23 17:32:29 +01:00
  • 088a95cafb fix: use Small/Header fonts in sottostanti table in expired renderer SmartRootsSrl 2026-03-23 17:23:51 +01:00
  • f95242df1a fix: use Small/Header fonts in dividend table (consistent with eventi) SmartRootsSrl 2026-03-23 17:23:50 +01:00
  • 1f67285ae6 fix: use Small/Header fonts in sottostanti table (consistent with eventi) SmartRootsSrl 2026-03-23 17:23:49 +01:00
  • b93a16ce6e fix: DrawSectionLabel title style + thin borders + correct font in dividend renderer SmartRootsSrl 2026-03-23 17:17:49 +01:00
  • b1003bc3f1 fix: DrawSectionLabel title style in scenario renderer SmartRootsSrl 2026-03-23 17:17:36 +01:00
  • 031a1acc1a fix: DrawSectionLabel title style in eventi renderer SmartRootsSrl 2026-03-23 17:17:21 +01:00
  • de7148c5cb fix: restore 'Soglia Rimborso' label in expired eventi (revert incorrect rename) SmartRootsSrl 2026-03-23 17:07:53 +01:00
  • bd51bb4d26 fix: Italian labels + section title style + double header row height in dividend renderer SmartRootsSrl 2026-03-23 17:05:39 +01:00
  • 15a4034a77 fix: consistent title style in scenario renderer SmartRootsSrl 2026-03-23 17:04:29 +01:00
  • 9c78b3f852 fix: Italian column labels + consistent title style in eventi renderer SmartRootsSrl 2026-03-23 17:04:28 +01:00
  • 3e52f807a5 fix: translate labels to Italian in anagrafica section (analisi + sottostanti) SmartRootsSrl 2026-03-23 17:03:47 +01:00
  • 1edfccfc62 fix: translate sottostanti column labels to Italian in expired anagrafica SmartRootsSrl 2026-03-23 17:03:46 +01:00
  • 26f818486c feat: wire DividendSectionRenderer into orchestrator — both active and expired flows SmartRootsSrl 2026-03-23 16:14:50 +01:00
  • e994352bd7 feat: register DividendSectionRenderer in DI container SmartRootsSrl 2026-03-23 16:12:11 +01:00
  • 069e33f0ec feat: add DividendSectionRenderer with landscape two-level header table SmartRootsSrl 2026-03-23 16:03:21 +01:00
  • 5b6400903d feat: skip sottostanti table in expired anagrafica when ShowDividend=true SmartRootsSrl 2026-03-23 16:00:14 +01:00
  • 35b2e9ae43 feat: skip sottostanti table in anagrafica when ShowDividend=true SmartRootsSrl 2026-03-23 15:56:56 +01:00
  • 02ca8bc9fb feat: add ?dividend query param to all report endpoints SmartRootsSrl 2026-03-23 15:53:53 +01:00
  • f79423219f feat: add showDividend param to IReportOrchestrator interface SmartRootsSrl 2026-03-23 15:50:56 +01:00
  • 2ddd5af043 feat: add ShowDividend flag to CertificateReportData SmartRootsSrl 2026-03-23 15:49:10 +01:00
  • cc3d3695fe docs: fix spec review issues in dividend section design SmartRootsSrl 2026-03-23 12:01:03 +01:00
  • 001fbd90d9 docs: add dividend section design spec SmartRootsSrl 2026-03-23 11:58:56 +01:00
  • 49014c1544 feat: move Barriera/Rimborso Capitale from eventi table to anagrafica analisi SmartRootsSrl 2026-03-23 11:04:43 +01:00
  • 14d4baa629 feat: add sottostanti table to expired certificate report (sezione 1) SmartRootsSrl 2026-03-23 09:32:28 +01:00
  • 16d06340fc docs: add all superpowers plans and specs SmartRootsSrl 2026-03-21 11:54:39 +01:00
  • bd5941185d chore: add .gitignore for ASP.NET Core + Visual Studio project SmartRootsSrl 2026-03-21 11:53:32 +01:00
  • 270933eb1d chore: remove redundant README from CertReports.Syncfusion subfolder SmartRootsSrl 2026-03-21 11:50:41 +01:00
  • 4df6f9bd86 docs: update README and CLAUDE.md with expired certificate report feature SmartRootsSrl 2026-03-21 11:47:45 +01:00
  • 2546990556 fix: set Analisi section width to match Caratteristiche Prodotto (ColW) SmartRootsSrl 2026-03-21 11:42:57 +01:00
  • 7916cbc93b fix: align Analisi section left, always show KV labels, update expired events table columns SmartRootsSrl 2026-03-21 11:38:07 +01:00
  • f3e0a8254a fix: add Stato empty warning log and fix y-increment when Categoria is empty SmartRootsSrl 2026-03-21 10:49:03 +01:00
  • 2e320e6511 feat: register ExpiredAnagraficaSectionRenderer in DI SmartRootsSrl 2026-03-21 10:46:06 +01:00
  • 8c35cb5127 fix: add try/catch error logging in expired flow renderers SmartRootsSrl 2026-03-21 10:45:25 +01:00