using System.Collections.Generic;
using System.Linq;
namespace BankSampahApp.Models;
///
/// View model yang menampung data grafik dashboard beserta opsi filter tahunan.
///
public class DashboardChartViewModel
{
///
/// Data grafik per tahun (key berupa tahun).
///
public Dictionary YearlyData { get; set; } = new();
///
/// Tahun yang dipilih saat halaman pertama kali dimuat.
///
public int SelectedYear { get; set; }
///
/// Daftar tahun yang tersedia untuk filter, disortir menurun.
///
public IEnumerable AvailableYears => YearlyData.Keys.OrderByDescending(x => x);
}
///
/// Struktur data payload untuk chart per tahun.
///
public class DashboardChartPayload
{
///
/// Label (umumnya nama bulan) yang ditampilkan pada sumbu X.
///
public List Labels { get; set; } = new();
///
/// Dataset yang ditampilkan pada grafik.
///
public List Datasets { get; set; } = new();
}
///
/// Dataset individual untuk Chart.js.
///
public class DashboardChartDataset
{
public string Label { get; set; } = string.Empty;
public List Data { get; set; } = new();
}