feat(Fundamentals): add fundamentals service

This commit is contained in:
2026-08-09 21:01:39 +02:00
parent e0778b88ea
commit 605e41cfeb
21 changed files with 3122 additions and 0 deletions
@@ -0,0 +1,55 @@
using System;
using System.ComponentModel.DataAnnotations;
using System.Text.Json.Serialization;
namespace FinlyticFundamentals.Entities;
/// <summary>
/// Relational statement table linking historical Income Statements, Balance Sheets, and Cash Flow metrics.
/// </summary>
public class FinancialStatementEntity
{
[Key]
public Guid Id { get; set; } = Guid.NewGuid();
[Required]
public string Isin { get; set; } = string.Empty;
[JsonIgnore]
public AssetFundamentalsEntity? AssetFundamentals { get; set; }
[Required]
public string PeriodType { get; set; } = string.Empty; // "Annual" or "Quarterly"
[Required]
public DateTime EndDate { get; set; }
// --- Income Statement Fields ---
public decimal? TotalRevenue { get; set; }
public decimal? CostOfRevenue { get; set; }
public decimal? GrossProfit { get; set; }
public decimal? OperatingExpenses { get; set; }
public decimal? OperatingIncome { get; set; }
public decimal? Ebitda { get; set; }
public decimal? NetIncome { get; set; }
public decimal? EpsBasic { get; set; }
public decimal? EpsDiluted { get; set; }
// --- Balance Sheet Fields ---
public decimal? CashAndCashEquivalents { get; set; }
public decimal? AccountsReceivable { get; set; }
public decimal? Inventory { get; set; }
public decimal? TotalCurrentAssets { get; set; }
public decimal? TotalNonCurrentAssets { get; set; }
public decimal? CurrentLiabilities { get; set; }
public decimal? LongTermDebt { get; set; }
public decimal? TotalLiabilities { get; set; }
public decimal? TotalStockholdersEquity { get; set; }
// --- Cash Flow Fields ---
public decimal? OperatingCashFlow { get; set; }
public decimal? InvestingCashFlow { get; set; }
public decimal? CapitalExpenditures { get; set; }
public decimal? FinancingCashFlow { get; set; }
public decimal? FreeCashFlow { get; set; } // OperatingCashFlow - CapEx
}