public bool GetScheduleDateExistsForSchedule(long scheduleId, DateTime scheduleDate, IDbTransaction transaction)
{
const string Sql = @"SELECT CAST(COUNT([Id]) AS bigint)
FROM [BlueCollarHistory]
WHERE
[ScheduleId] = @ScheduleId
AND datetime([QueuedOn]) = datetime(@ScheduleDate);
SELECT CAST(COUNT([Id]) AS bigint)
FROM [BlueCollarQueue]
WHERE
[ScheduleId] = @ScheduleId
AND datetime([QueuedOn]) = datetime(@ScheduleDate);
SELECT CAST(COUNT([Id]) AS bigint)
FROM [BlueCollarWorking]
WHERE
[ScheduleId] = @ScheduleId
AND datetime([QueuedOn]) = datetime(@ScheduleDate);";
long count = 0;
using (var multi = this.connection.QueryMultiple(Sql, new { ScheduleId = scheduleId, ScheduleDate = scheduleDate }, transaction, null, null))
{
count = multi.Read<long>().First()
+ multi.Read<long>().First()
+ multi.Read<long>().First();
}
return count > 0;
}