Итак, у меня есть такой класс:
public class PaymentsModel
{
[ReportsSummary(isGroupingSource:true)]
public string PaymentType { get; set; }
[ReportsSummary(isGroupingTarget: true)]
public double Amount { get; set; }
public string GuestName { get; set; }
}
У меня есть List of (generi c), который содержит разные объекты с разными значениями, например:
{"Bank", 1, "K"},
{"Card", 2, "C"},
{"Cash", 3, "D"},
{"Bank", 2, "E"},
{"Card", 3, "G"},
I нужен метод CalculateSum (), который будет использовать generi c класс и отражение и возвращать Dictionary с группировкой по PaymentType и суммировать Amount для каждого PaymentType. Итак, результат должен быть:
[{"Bank", 3},
{"Card", 5},
{"Cash", 5}]
Я создал атрибут, чтобы понять, какие свойства следует сгруппировать, а какие - суммировать:
class ReportsSummaryAttribute : Attribute
{
public bool IsGroupingSource { get; private set; }
public bool IsGroupingTarget { get; private set; }
public ReportsSummaryAttribute(bool isGroupingSource = false, bool isGroupingTarget = false)
{
IsGroupingSource = isGroupingSource;
IsGroupingTarget = isGroupingTarget;
}
}
Но не понимаю, как создать правильный метод.