namespace MyOffice.Services.Dashboard.Domain;

using System.Collections.Generic;

public class DashboardData
{
	public decimal IncomeLast { get; set; }
	public decimal IncomePrevious { get; set; }
	public decimal OutcomeLast { get; set; }
	public decimal OutcomePrevious { get; set; }
	public decimal? Balance { get; set; }
	public decimal? BalanceDebit { get; set; }
	public decimal? BalanceCredit { get; set; }
	public List<DashboardRestData> BalanceRests { get; set; } = null!;
}

public class DashboardRestData
{
	public Guid Id { get; set; }
	public string Name { get; set; } = null!;
	public string CurrencyName { get; set; } = null!;
	public string CurrencyShortName { get; set; } = null!;
	public decimal? Balance { get; set; }
	public decimal? CurrencyRate { get; set; }
	public decimal? CurrencyQuantity { get; set; }

	public decimal? BalanceAtRate => Balance * (CurrencyRate * CurrencyQuantity);
}

public class DashboardIncomeData
{
	public List<DashboardIncomeDataItem> Data { get; set; } = null!;
	public List<DashboardIncomeDataItem> Details { get; set; } = null!;
}

public class DashboardIncomeDataItem
{
	public string? Id { get; set; }
	public string Currency { get; set; } = null!;
	public string Name { get; set; } = null!;
	public decimal Value { get; set; }
	public decimal ValueRaw { get; set; }
}