Files
Finlytic/FinlyticFundamentals/Entities/FinancialStatementEntity.cs
T

56 lines
1.9 KiB
C#

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
}