Hi, you could rather use a dynamic list or a typed list, this is the code for your case using dynamic lists:
DataTable AttendanceAdminDynamicList = new DataTable();
ResultsetFields fields = new ResultsetFields(4);
fields.DefineField(AttendanceAdminFields.DepartmentId, 0, "DepartmentId");
fields.DefineField(EmployeeFields.FirstName, 1, "FirstName");
fields.DefineField(EmployeeFields.LastName, 2, "LastName");
fields.DefineField(EmployeeFields.EmployeeId, 3, "EmployeeId");
IPredicateExpression filter = new PredicateExpression();
filter.Add(EmployeeFields.Active == 1);
IPredicateExpression customFilter = new PredicateExpression();
customFilter.Add(AttendanceAdminFields.DepartmentId == CurrentDepartment);
IRelationCollection relations = new RelationCollection();
relations.Add(EmployeeEntity.Relations.AttendanceAdminEntityUsingEmployeeId, JoinHint.Left).CustomFilter = customFilter;
SortExpression sort = new SortExpression();
sort.Add(AttendanceAdminFields.DepartmentId | SortOperator.Descending);
sort.Add(EmployeeFields.LastName | SortOperator.Ascending);
dao.GetMultiAsDataTable(fields, AttendanceAdminDynamicList, 0, sort, filter, relations, false, null, null, 0, 0);
For more information refer to the documentation:
Generated code - Using dynamic lists, SelfServicing
Designer - Adding typed lists
Generated code - Using the typed list classes, SelfServicing