using LEA.Models; using Microsoft.AspNetCore.Mvc.Rendering; namespace LEA.ViewModels; public class ApplicationListViewModel { public IEnumerable Applications { get; set; } = new List(); public string? SearchTerm { get; set; } public ApplicationStatus? StatusFilter { get; set; } public IEnumerable StatusOptions { get; set; } = new List(); public IDictionary StatusCounts { get; set; } = new Dictionary(); public int TotalApplications { get; set; } public int AppliedCount => GetCount(ApplicationStatus.Applied); public int InterviewCount => GetCount(ApplicationStatus.Interview); public int OfferCount => GetCount(ApplicationStatus.Offer); public int RejectedCount => GetCount(ApplicationStatus.Rejected); private int GetCount(ApplicationStatus status) => StatusCounts.TryGetValue(status, out var count) ? count : 0; }