>>> 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(); > } > >>