>>>> if (resourceEvent) >>>> { >>>> // Remove instructors who don't have anything planned >>>> var query = dtInstructors.AsEnumerable().Where(c => dtAllScheduled.AsEnumerable().Any(b => 1 == b.Field<Byte>("layer") >>>> && true==b.Field<Boolean>("schdassign") && c.Field<String>("instr_id")== b.Field<String>("resource_id") >>>> )); >>>> query.CopyToDataTable(dtInstructors, LoadOption.OverwriteChanges); >>>> }>>>>
>> DataTable dtInstructorsAll = this.GetDataSet().Tables[0]; >> DataTable dtInstructors; >> >> if (dtInstructorsAll.Rows.Count > 0) >> { >> DateTime minDate = Functions.Smallest<DateTime>((DateTime)bRow.StartTime, preferenceStartTime); >> DateTime maxDate = Functions.Largest<DateTime>((DateTime)bRow.EndTime, preferenceEndTime); >> >> DateRange range = new DateRange(minDate, maxDate); >> >> // GetPvtSortedResources doesn't not use instructor type where condition while GetPvtSortedSchedule does use it >> DataTable dtAllScheduled = this.GetAllScheduled(sqlCommand, range, (resourceOnly) ? "" : instructorTypeWhere, resourceEvent); >> Logging.LogFormat(4, "Number of eligible bookings returned in csrAllSched: {0}", dtAllScheduled.Rows.Count); >> >> if (resourceEvent) >> { >> // Remove instructors who don't have anything planned >> dtInstructors = dtInstructorsAll.Clone(); >> var query = dtInstructorsAll.AsEnumerable().Where(c => dtAllScheduled.AsEnumerable().Any(b => 1 == b.Field<Byte>("layer") >> && true==b.Field<Boolean>("schdassign") && c.Field<String>("instr_id")== b.Field<String>("resource_id") >> )); >> query.CopyToDataTable(dtInstructors, LoadOption.OverwriteChanges); >> } >> else >> { >> dtInstructors = dtInstructorsAll.Copy(); >> } >> >>>>