or
protected
void
radScheduler_TimeSlotCreated(
object
sender, TimeSlotCreatedEventArgs e)
{
// Calculate total hours per day.
if
(radScheduler.SelectedView == SchedulerViewType.WeekView && e.TimeSlot.Duration.TotalDays == 1)
{
double
totalHoursPerDay = 0;
double
totalOvertimeHoursPerDay = 0;
bool
weekend =
false
;
if
(e.TimeSlot.Start.DayOfWeek == DayOfWeek.Saturday || e.TimeSlot.Start.DayOfWeek == DayOfWeek.Sunday)
{
weekend =
true
;
}
foreach
(Appointment a
in
radScheduler.Appointments.GetAppointmentsInRange(e.TimeSlot.Start, e.TimeSlot.End))
{
// Check time of appointment and adding to hours or overtime accordingly.
if
(a.Start.TimeOfDay >=
new
TimeSpan(8, 0, 0) && a.End.TimeOfDay <=
new
TimeSpan(19, 0, 0) && weekend)
{
totalOvertimeHoursPerDay += a.Duration.TotalHours;
}
else
if
(a.Start.TimeOfDay >=
new
TimeSpan(8, 0, 0) && a.End.TimeOfDay <=
new
TimeSpan(17, 0, 0))
{
totalHoursPerDay += a.Duration.TotalHours;
}
else
if
(a.Start.TimeOfDay >
new
TimeSpan(17, 0, 0) && a.End.TimeOfDay <=
new
TimeSpan(19, 0, 0))
{
totalOvertimeHoursPerDay += a.Duration.TotalHours;
}
else
if
(a.Start.TimeOfDay >=
new
TimeSpan(8, 0, 0) && a.End.TimeOfDay <=
new
TimeSpan(19, 0, 0))
{
double
overtime = a.End.TimeOfDay.TotalHours - 17;
totalOvertimeHoursPerDay += overtime;
totalHoursPerDay += (a.Duration.TotalHours - overtime);
}
}
Literal hoursLiteral =
new
Literal();
Literal overtimeLiteral =
new
Literal();
if
(!weekend)
{
hoursLiteral.Text =
"Hrs: "
+ totalHoursPerDay.ToString();
}
overtimeLiteral.Text =
" O/T: "
+ totalOvertimeHoursPerDay.ToString();
radScheduler.Controls.Add(hoursLiteral);
radScheduler.Controls.Add(overtimeLiteral);
e.TimeSlot.Control.Controls.Add(hoursLiteral);
e.TimeSlot.Control.Controls.Add(overtimeLiteral);
}
}
radScheduler.Controls.Add(hoursLiteral);
<
script type="text/javascript">
function mngRequestStartedEAE(ajaxManager, eventArgs) {
if (eventArgs.EventTarget.indexOf("exportCsv") != -1) {
eventArgs.EnableAjax =
false;
}
}
</
script>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
ClientEvents-OnRequestStart
=
"mngRequestStartedEAE"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"content"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"content"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
telerik:RadAjaxLoadingPanel
ID
=
"RadAjaxLoadingPanel1"
runat
=
"server"
Transparency
=
"10"
BackColor
=
"#ffffff"
CssClass
=
"ajax_loader"
>
</
telerik:RadAjaxLoadingPanel
>
<
asp:Panel
ID
=
"content"
runat
=
"server"
CssClass
=
"MaxW"
>
<!-- some other controls -->
<
asp:LinkButton
ID
=
"exportCsv"
runat
=
"server"
OnClick
=
"exportCsv_Click"
Text
=
"Exporter"
></
asp:LinkButton
>
<!-- grid declaration ... -->
</
asp:Panel
>
DayView-WorkDayStartTime="08:00:00"
DayView-DayEndTime="18:00:00"
WorkDayStartTime="08:30:00"
WorkDayEndTime="17:00:00"