60 lines
2.3 KiB
C#
60 lines
2.3 KiB
C#
using General_Ledger_Service.Enums;
|
|
|
|
namespace General_Ledger_Service.Models
|
|
{
|
|
public class FixedAsset
|
|
{
|
|
public long AssetId { get; set; }
|
|
public string AssetCode { get; set; } = string.Empty;
|
|
public string AssetName { get; set; } = string.Empty;
|
|
public long AssetAccountId { get; set; }
|
|
public long AccumDeprAccountId { get; set; }
|
|
public long DeprExpenseAccountId { get; set; }
|
|
public long GainLossAccountId { get; set; }
|
|
public DateOnly AcquisitionDate { get; set; }
|
|
public decimal AcquisitionCost { get; set; }
|
|
public decimal ResidualValue { get; set; }
|
|
public int UsefulLifeMonths { get; set; }
|
|
public DepreciationMethod DepreciationMethod { get; set; }
|
|
public decimal? DepreciationRatePercent { get; set; }
|
|
public FixedAssetStatus Status { get; set; }
|
|
public DateTime CreatedAt { get; set; }
|
|
|
|
public Account AssetAccount { get; set; } = null!;
|
|
public Account AccumDeprAccount { get; set; } = null!;
|
|
public Account DeprExpenseAccount { get; set; } = null!;
|
|
public Account GainLossAccount { get; set; } = null!;
|
|
}
|
|
|
|
public class DepreciationSchedule
|
|
{
|
|
public long ScheduleId { get; set; }
|
|
public long AssetId { get; set; }
|
|
public int PeriodId { get; set; }
|
|
public decimal DepreciationAmount { get; set; }
|
|
public decimal AccumulatedDepreciation { get; set; }
|
|
public decimal NetBookValue { get; set; }
|
|
public long? JournalId { get; set; }
|
|
public DateTime CreatedAt { get; set; }
|
|
|
|
public FixedAsset Asset { get; set; } = null!;
|
|
public AccountingPeriod Period { get; set; } = null!;
|
|
public JournalEntry? Journal { get; set; }
|
|
}
|
|
|
|
public class AssetDisposal
|
|
{
|
|
public long DisposalId { get; set; }
|
|
public long AssetId { get; set; }
|
|
public DateOnly DisposalDate { get; set; }
|
|
public decimal? Proceeds { get; set; }
|
|
public decimal? NetBookValueAtDisposal { get; set; }
|
|
public decimal? GainLoss { get; set; }
|
|
public long? JournalId { get; set; }
|
|
public DateTime CreatedAt { get; set; }
|
|
|
|
public FixedAsset Asset { get; set; } = null!;
|
|
public JournalEntry? Journal { get; set; }
|
|
}
|
|
}
|