using System.Collections.Generic;
public string DepartmentName { get; set; }
public string DepartmentName { get; set; }
public string PaymentType { get; set; }
public DateTime TransactionDate { get; set; }
public decimal Amount { get; set; }
public static void Main()
var data = new List<ReportModel>
DepartmentName = "Dep A",
TransactionDate = new DateTime(2024, 9, 3),
DepartmentName = "Dep A",
TransactionDate = new DateTime(2024, 9, 3),
DepartmentName = "Dep A",
TransactionDate = new DateTime(2024, 9, 3),
DepartmentName = "Dep B",
TransactionDate = new DateTime(2024, 9, 3),
DepartmentName = "Dep B",
PaymentType = "Mastercard",
TransactionDate = new DateTime(2024, 9, 3),
var groups = data.GroupBy(model => new GroupKey
DepartmentName = model.DepartmentName
Console.WriteLine(groups.Count);