Я собираюсь заполнить Telerik RadGrid IQueryable DataSource, но включить в него 5 столбцов Total.Я создал отдельные функции для итогов при создании отдельных отчетов, но у меня возникли некоторые проблемы с их повторением в моем текущем операторе LINQ для таблицы.
Мой текущий оператор LINQ выглядит следующим образом:
public static IQueryable GetUnapprovedTimesheets(string Period)
{
DataContext Data = new DataContext();
var Times = (from c in Data.System_Times
where c.Period == Period && c.Status == 1
orderby c.Employee.LName
select c).GroupBy(s => s.EmployeeID).Select(x => x.FirstOrDefault());
return Times;
}
Этот оператор берет табели за введенный период и показывает записи со статусом 1, затем они отображаются сгруппированными по EmployeeID.Это утверждение правильно вытягивает все в таблицу, но я также хотел бы добавить итоги для регулярных, сверхурочных, командировочных и вспомогательных работ.
Функции, которые я построил отдельно для динамической отчетности, выглядят примерно так:
public static decimal? GetTotalReg(int EmployeeID, string Period)
{
DataContext Data = new DataContext();
var Total = (from c in Data.Times
where c.EmployeeID == EmployeeID && c.Period == Period && c.PayCode == "211"
select c.Hours);
return Total.Sum();
}
Есть ли способ включить второе утверждение в первое?(Имея в виду, что мне придется включить не один, а 5 операторов Sum)
Этот один оператор затем будет использоваться в качестве IQueryable DataSource для моей RadGrid, вызываемой DataField = "" RadGrid.