Hi,
I am trying to implement the Radscheduler using "External edit in raddock" as in http://demos.telerik.com/aspnet-ajax/scheduler/examples/raddock/defaultcs.aspx
I am getting a javascript error as "Microsoft JScript runtime error: Unable to get value of the property 'indexOf': object is null or undefined" while clicking on a time slot and selecting 'new appointment'.
I have already put this issue in the forum before also,but couldn't get it resolved.Even though this is a duplication in the thread,thought of starting it as a new thread as earlier thread was continuation of different thread with a different subjetct.So if someone has faced same issue before,they could help me out in this.
The only change I have made from the demo is that ,I have changed session datasource with sql datasource.Please find my markup for the same.
Also I have recorded a video showing the error in the link http://www.screencast.com/t/
aspx:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FrmScheduling.aspx.cs"
Inherits="UnicareSystemWeb.FramePages.Registration.FrmScheduling" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%--<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>--%>
<%--<%@ Register TagPrefix="qsf" Namespace="Telerik.QuickStart" %>--%>
<%--<%@ Register TagPrefix="qsf" TagName="Header" Src="~/Common/Header.ascx" %>
<%@ Register TagPrefix="qsf" TagName="HeadTag" Src="~/Common/HeadTag.ascx" %>
<%@ Register TagPrefix="qsf" TagName="Footer" Src="~/Common/Footer.ascx" %>
<%@ Register TagPrefix="sds" Namespace="Telerik.Web.SessionDS" %>--%>
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<
head
runat
=
"server"
>
<
link
href
=
"../../Styles/StyleScheduler.css"
rel
=
"stylesheet"
type
=
"text/css"
/>
<
title
></
title
>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
telerik:RadScriptManager
ID
=
"RadScriptManager1"
runat
=
"server"
/>
<
telerik:RadScriptBlock
runat
=
"server"
ID
=
"RadScriptBlock1"
>
<
script
type
=
"text/javascript"
>
function openForm() {
var dock = $find("<%= RadDock1.ClientID %>");
// Center the RadDock on the screen
var viewPort = $telerik.getViewPortSize();
var xPos = Math.round((viewPort.width - parseInt(dock.get_width())) / 2);
var yPos = Math.round((viewPort.height - parseInt(dock.get_height())) / 2);
$telerik.setLocation(dock.get_element(), { x: xPos, y: yPos });
dock.set_closed(false);
var descriptionTextBox = $get('<%= DescriptionText.ClientID %>');
descriptionTextBox.focus();
Sys.Application.remove_load(openForm);
}
function hideForm() {
var dock = $find("<%= RadDock1.ClientID %>");
dock.set_closed(true);
return true;
}
function dockMoved(sender, args) {
//Return RadDock to his original HTML parent so it gets updated via ajax
$get("<%= DockPanel.ClientID %>").appendChild(sender.get_element());
}
</
script
>
</
telerik:RadScriptBlock
>
<
asp:UpdatePanel
runat
=
"server"
ID
=
"UpdatePanel1"
UpdateMode
=
"Conditional"
>
<
ContentTemplate
>
<
asp:Panel
runat
=
"server"
ID
=
"DockPanel"
>
<
telerik:RadDock
runat
=
"server"
ID
=
"RadDock1"
Width
=
"650px"
Height
=
"530px"
Closed
=
"true"
Style
=
"z-index: 2000;"
Title
=
"Edit appointment"
OnClientDockPositionChanged
=
"dockMoved"
>
<
Commands
>
<
telerik:DockCloseCommand
/>
</
Commands
>
<
ContentTemplate
>
<
div
class
=
"editForm"
>
<
div
class
=
"header"
>
<
asp:Label
runat
=
"server"
ID
=
"StatusLabel"
></
asp:Label
>
</
div
>
<
div
class
=
"content"
>
Description:<
br
/>
<
asp:TextBox
runat
=
"server"
ID
=
"DescriptionText"
Width
=
"240px"
></
asp:TextBox
>
<
asp:RequiredFieldValidator
runat
=
"server"
ID
=
"DescriptionTextRequiredFieldValidator"
Display
=
"Dynamic"
ControlToValidate
=
"DescriptionText"
ErrorMessage
=
"Description is required"
/>
<
br
/>
<
br
/>
Starts at:
<
telerik:RadDateTimePicker
ID
=
"StartTime"
runat
=
"server"
SharedCalendarID
=
"SharedCalendar"
SharedTimeViewID
=
"SharedTimeView"
>
</
telerik:RadDateTimePicker
>
<
asp:RequiredFieldValidator
runat
=
"server"
ID
=
"StartTimeRequiredFieldValidator"
Display
=
"Dynamic"
ControlToValidate
=
"StartTime"
ErrorMessage
=
"Start time is required"
/>
<
br
/>
<
br
/>
Ends at:
<
telerik:RadDateTimePicker
ID
=
"EndTime"
runat
=
"server"
SharedCalendarID
=
"SharedCalendar"
SharedTimeViewID
=
"SharedTimeView"
>
</
telerik:RadDateTimePicker
>
<
asp:RequiredFieldValidator
runat
=
"server"
ID
=
"EndTimeRequiredFieldValidator"
Display
=
"Dynamic"
ControlToValidate
=
"EndTime"
ErrorMessage
=
"End time is required"
/>
<
br
/>
<
br
/>
Assigned to:
<
asp:DropDownList
runat
=
"server"
ID
=
"UserDropDown"
DataSourceID
=
"UsersDataSource"
DataTextField
=
"doc_name"
DataValueField
=
"doc_id"
>
</
asp:DropDownList
>
<
br
/>
<
br
/>
<
asp:Label
runat
=
"server"
Text
=
"Reminder"
ID
=
"lblReminders"
></
asp:Label
>
<
telerik:RadComboBox
runat
=
"server"
ID
=
"ReminderDropDown"
Width
=
"120px"
>
<
Items
>
<
telerik:RadComboBoxItem
Text
=
"None"
Value
=
""
/>
<
telerik:RadComboBoxItem
Text
=
"0 minutes"
Value
=
"0"
/>
<
telerik:RadComboBoxItem
Text
=
"1 minute"
Value
=
"5"
/>
<
telerik:RadComboBoxItem
Text
=
"2 minutes"
Value
=
"10"
/>
<
telerik:RadComboBoxItem
Text
=
"3 minutes"
Value
=
"15"
/>
<
telerik:RadComboBoxItem
Text
=
"4 minutes"
Value
=
"30"
/>
<
telerik:RadComboBoxItem
Text
=
"1 hour"
Value
=
"60"
/>
<
telerik:RadComboBoxItem
Text
=
"2 hours"
Value
=
"120"
/>
<
telerik:RadComboBoxItem
Text
=
"3 hours"
Value
=
"180"
/>
<
telerik:RadComboBoxItem
Text
=
"4 hours"
Value
=
"240"
/>
<
telerik:RadComboBoxItem
Text
=
"5 hours"
Value
=
"300"
/>
<
telerik:RadComboBoxItem
Text
=
"6 hours"
Value
=
"360"
/>
<
telerik:RadComboBoxItem
Text
=
"7 hours"
Value
=
"420"
/>
<
telerik:RadComboBoxItem
Text
=
"8 hours"
Value
=
"480"
/>
<
telerik:RadComboBoxItem
Text
=
"9 hours"
Value
=
"540"
/>
<
telerik:RadComboBoxItem
Text
=
"10 hours"
Value
=
"600"
/>
<
telerik:RadComboBoxItem
Text
=
"11 hours"
Value
=
"660"
/>
<
telerik:RadComboBoxItem
Text
=
"12 hours"
Value
=
"720"
/>
<
telerik:RadComboBoxItem
Text
=
"18 hours"
Value
=
"1080"
/>
<
telerik:RadComboBoxItem
Text
=
"1 day"
Value
=
"1440"
/>
<
telerik:RadComboBoxItem
Text
=
"2 days"
Value
=
"2880"
/>
<
telerik:RadComboBoxItem
Text
=
"3 days"
Value
=
"4320"
/>
<
telerik:RadComboBoxItem
Text
=
"4 days"
Value
=
"5760"
/>
<
telerik:RadComboBoxItem
Text
=
"1 week"
Value
=
"10080"
/>
<
telerik:RadComboBoxItem
Text
=
"2 weeks"
Value
=
"20160"
/>
</
Items
>
</
telerik:RadComboBox
>
</
div
>
<
div
class
=
"footer"
>
<
asp:Button
runat
=
"server"
ID
=
"SubmitButton"
Text
=
"Update"
OnClick
=
"SubmitButton_Click"
/>
<
button
onclick
=
"hideForm();"
type
=
"button"
style
=
"margin-right: 20px;"
>
Cancel</
button
>
</
div
>
<
telerik:RadTimeView
ID
=
"SharedTimeView"
runat
=
"server"
>
</
telerik:RadTimeView
>
<
telerik:RadCalendar
ID
=
"SharedCalendar"
runat
=
"server"
EnableMonthYearFastNavigation
=
"False"
EnableMultiSelect
=
"False"
UseColumnHeadersAsSelectors
=
"False"
UseRowHeadersAsSelectors
=
"False"
>
</
telerik:RadCalendar
>
<
asp:HiddenField
runat
=
"server"
ID
=
"_originalRecurrenceRule"
/>
<
telerik:RadSchedulerRecurrenceEditor
runat
=
"server"
ID
=
"RadSchedulerRecurrenceEditor1"
/>
</
div
>
</
ContentTemplate
>
</
telerik:RadDock
>
</
asp:Panel
>
<
telerik:RadScheduler
runat
=
"server"
ID
=
"RadScheduler1"
Width
=
"750px"
TimeZoneOffset
=
"03:00:00"
SelectedDate
=
"2012-04-16"
DayStartTime
=
"08:00:00"
DayEndTime
=
"18:00:00"
StartEditingInAdvancedForm
=
"false"
SelectedView
=
"DayView"
DataKeyField
=
"Fld_AppId"
DataSubjectField
=
"Subject"
DataStartField
=
"Fld_AppFtime"
DataEndField
=
"Fld_AppTtime"
DataReminderField
=
"Reminder"
DataRecurrenceField
=
"RecurrenceRule"
DataRecurrenceParentKeyField
=
"RecurrenceParentID"
DataSourceID
=
"AppointmentsDataSource"
OnFormCreating
=
"RadScheduler1_FormCreating"
Reminders-Enabled
=
"true"
OverflowBehavior
=
"Scroll"
>
<
AdvancedForm
Modal
=
"true"
/>
<
ResourceTypes
>
<%-- <
telerik:ResourceType
KeyField
=
"ID"
Name
=
"Room"
TextField
=
"RoomName"
ForeignKeyField
=
"RoomID"
DataSourceID
=
"RoomsDataSource"
/>--%>
<
telerik:ResourceType
KeyField
=
"doc_id"
Name
=
"Doctor"
TextField
=
"doc_name"
ForeignKeyField
=
"MdiSft_Emp_ID"
DataSourceID
=
"UsersDataSource"
/>
</
ResourceTypes
>
<
TimeSlotContextMenuSettings
EnableDefault
=
"true"
/>
<
AppointmentContextMenuSettings
EnableDefault
=
"true"
/>
</
telerik:RadScheduler
>
</
ContentTemplate
>
</
asp:UpdatePanel
>
<
asp:SqlDataSource
ID
=
"UsersDataSource"
runat
=
"server"
ConnectionString="<%$ ConnectionStrings:UCSystemConnection %>"
SelectCommand="SELECT * FROM [doctor_master]"></
asp:SqlDataSource
>
<
asp:SqlDataSource
ID
=
"AppointmentsDataSource"
runat
=
"server"
ConnectionString="<%$ ConnectionStrings:UCSystemConnection %>"
SelectCommand="SELECT * FROM [Tbl_FixSchedule]" >
</
asp:SqlDataSource
>
<%--<
sds:sessiondatasource
id
=
"AppointmentsDataSource"
runat
=
"server"
primarykeyfields
=
"ID"
connectionstring="<%$ ConnectionStrings:TelerikConnectionString %>" selectcommand="SELECT * FROM [Appointments]"
insertcommand="INSERT INTO [Appointments] ([Subject], [Start], [End], [UserID], [RoomID], [RecurrenceRule], [RecurrenceParentID], [Annotations], [Description], [Reminder], [LastModified]) VALUES (@Subject, @Start, @End, @UserID, @RoomID, @RecurrenceRule, @RecurrenceParentID, @Annotations, @Description, @Reminder, @LastModified)"
updatecommand="UPDATE [Appointments] SET [Subject] = @Subject, [Start] = @Start, [End] = @End, [UserID] = @UserID, [RoomID] = @RoomID, [RecurrenceRule] = @RecurrenceRule, [RecurrenceParentID] = @RecurrenceParentID, [Annotations] = @Annotations, [Description] = @Description, [Reminder] = @Reminder, [LastModified] = @LastModified WHERE [ID] = @ID"
deletecommand="DELETE FROM [Appointments] WHERE [ID] = @ID" clearsessiononinitialload="True"
sessionkey="System.Web.UI.Page_AppointmentsDataSource">
<
DeleteParameters
>
<
asp:Parameter
Name
=
"ID"
Type
=
"Int32"
/>
</
DeleteParameters
>
<
UpdateParameters
>
<
asp:Parameter
Name
=
"Subject"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"Start"
Type
=
"DateTime"
/>
<
asp:Parameter
Name
=
"End"
Type
=
"DateTime"
/>
<
asp:Parameter
Name
=
"UserID"
Type
=
"Int32"
/>
<
asp:Parameter
Name
=
"RoomID"
Type
=
"Int32"
/>
<
asp:Parameter
Name
=
"RecurrenceRule"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"RecurrenceParentID"
Type
=
"Int32"
/>
<
asp:Parameter
Name
=
"Annotations"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"Description"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"Reminder"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"LastModified"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"ID"
Type
=
"Int32"
/>
</
UpdateParameters
>
<
InsertParameters
>
<
asp:Parameter
Name
=
"Subject"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"Start"
Type
=
"DateTime"
/>
<
asp:Parameter
Name
=
"End"
Type
=
"DateTime"
/>
<
asp:Parameter
Name
=
"UserID"
Type
=
"Int32"
/>
<
asp:Parameter
Name
=
"RoomID"
Type
=
"Int32"
/>
<
asp:Parameter
Name
=
"RecurrenceRule"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"RecurrenceParentID"
Type
=
"Int32"
/>
<
asp:Parameter
Name
=
"Annotations"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"Description"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"Reminder"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"LastModified"
Type
=
"String"
/>
</
InsertParameters
>
</
sds:sessiondatasource
>
<
sds:sessiondatasource
id
=
"RoomsDataSource"
runat
=
"server"
displaywarning
=
"false"
providername
=
"System.Data.SqlClient"
connectionstring="<%$ ConnectionStrings:TelerikConnectionString %>"
selectcommand="SELECT * FROM [Rooms]">
</
sds:sessiondatasource
>
<
sds:sessiondatasource
id
=
"UsersDataSource"
runat
=
"server"
displaywarning
=
"false"
providername
=
"System.Data.SqlClient"
connectionstring="<%$ ConnectionStrings:TelerikConnectionString %>"
selectcommand="SELECT * FROM [Users]">
</
sds:sessiondatasource
>--%>
</
form
>
</
body
>
</
html
>
aspx.cs
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Web;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
Telerik.Web.UI;
using
UnicareSystemDO.Registration;
using
UnicareSystemDOService.Registration;
using
System.Data.SqlClient;
using
System.Configuration;
using
System.Data;
using
System.Collections;
using
System.Drawing;
namespace
UnicareSystemWeb.FramePages.Registration
{
public
partial
class
FrmScheduling : System.Web.UI.Page
{
//private ScheduleService _scheduleservice = null;
bool
CreatingExceptionAppointment
{
get
{
return
(
bool
)ViewState[
"CreatingExceptionAppointment"
]; }
set
{ ViewState[
"CreatingExceptionAppointment"
] = value; }
}
Appointment EditedAppointment
{
get
{
return
(EditedAppointmentID !=
null
) ? RadScheduler1.Appointments.FindByID(EditedAppointmentID) :
null
;
}
set
{
EditedAppointmentID = value.ID;
EditedAppointmentParentID = value.RecurrenceParentID;
}
}
Appointment EditedAppointmentParent
{
get
{
return
(EditedAppointmentParentID !=
null
) ? RadScheduler1.Appointments.FindByID(EditedAppointmentParentID) :
null
;
}
}
private
object
EditedAppointmentID
{
get
{
return
ViewState[
"EditedAppointmentID"
]; }
set
{ ViewState[
"EditedAppointmentID"
] = value; }
}
private
object
EditedAppointmentParentID
{
get
{
return
ViewState[
"EditedAppointmentParentID"
]; }
set
{ ViewState[
"EditedAppointmentParentID"
] = value; }
}
protected
void
RadScheduler1_FormCreating(
object
sender, SchedulerFormCreatingEventArgs e)
{
RadSchedulerRecurrenceEditor1.ResetLayout();
if
(e.Mode == SchedulerFormMode.Insert || e.Mode == SchedulerFormMode.Edit)
{
EditedAppointment = e.Appointment;
e.Cancel =
true
;
}
var appointmentToEdit = RadScheduler1.PrepareToEdit(e.Appointment, RadScheduler1.EditingRecurringSeries);
//if (!ClientScript.IsStartupScriptRegistered("formScript"))
//{
// ClientScript.RegisterStartupScript(this.GetType(), "formScript", "openForm();", true);
//}
//ScriptManager.RegisterStartupScript(Page, GetType(), "formScript", "openForm();", true);
ScriptManager.RegisterStartupScript(Page, GetType(),
"formScript"
,
"Sys.Application.add_load(openForm);"
,
true
);
PopulateEditForm(appointmentToEdit);
}
private
bool
IsAllDayAppointment(Appointment appointment)
{
DateTime displayStart = RadScheduler1.UtcToDisplay(appointment.Start);
DateTime displayEnd = RadScheduler1.UtcToDisplay(appointment.End);
return
displayStart.CompareTo(displayStart.Date) == 0 && displayEnd.CompareTo(displayEnd.Date) == 0 && displayStart.CompareTo(displayEnd) != 0;
}
private
DateTime Start
{
get
{
DateTime result = StartTime.SelectedDate.Value.Date;
TimeSpan time = StartTime.SelectedDate.Value.TimeOfDay;
result = result.Add(time);
return
RadScheduler1.DisplayToUtc(result);
}
}
private
DateTime End
{
get
{
DateTime result = EndTime.SelectedDate.Value.Date;
TimeSpan time = EndTime.SelectedDate.Value.TimeOfDay;
result = result.Add(time);
return
RadScheduler1.DisplayToUtc(result);
}
}
private
string
RecurrenceRuleText
{
get
{
if
(RadScheduler1.RecurrenceSupport)
{
RadSchedulerRecurrenceEditor1.StartDate = Start;
RadSchedulerRecurrenceEditor1.EndDate = End;
RecurrenceRule rrule = RadSchedulerRecurrenceEditor1.RecurrenceRule;
if
(rrule ==
null
)
{
return
string
.Empty;
}
RecurrenceRule originalRule;
if
(RecurrenceRule.TryParse(_originalRecurrenceRule.Value,
out
originalRule))
{
rrule.Exceptions = originalRule.Exceptions;
}
if
(rrule.Range.RecursUntil != DateTime.MaxValue)
{
rrule.Range.RecursUntil = RadScheduler1.DisplayToUtc(rrule.Range.RecursUntil);
}
return
rrule.ToString();
}
return
string
.Empty;
}
set
{
RecurrenceRule rrule =
null
;
RecurrenceRule.TryParse(value,
out
rrule);
if
(rrule !=
null
)
{
if
(rrule.Range.RecursUntil != DateTime.MaxValue)
{
DateTime recursUntil = RadScheduler1.UtcToDisplay(rrule.Range.RecursUntil);
if
(!IsAllDayAppointment(EditedAppointment))
{
recursUntil = recursUntil.AddDays(-1);
}
rrule.Range.RecursUntil = recursUntil;
}
}
RadSchedulerRecurrenceEditor1.RecurrenceRuleText = (rrule !=
null
) ? rrule.ToString() : value;
_originalRecurrenceRule.Value = value;
}
}
private
void
PopulateEditForm(Appointment editedAppointment)
{
Appointment appointmentToEdit = RadScheduler1.PrepareToEdit(editedAppointment, RadScheduler1.EditingRecurringSeries);
DescriptionText.Text = appointmentToEdit.Subject;
StartTime.SelectedDate = RadScheduler1.UtcToDisplay(appointmentToEdit.Start);
EndTime.SelectedDate = RadScheduler1.UtcToDisplay(appointmentToEdit.End);
if
((appointmentToEdit.Reminders.Count == 0) || (ReminderDropDown.SelectedValue ==
""
))
{
ReminderDropDown.SelectedValue =
""
;
}
else
{
ReminderDropDown.SelectedValue = appointmentToEdit.Reminders[0].Trigger.TotalMinutes.ToString();
}
Resource user = appointmentToEdit.Resources.GetResourceByType(
"Doctor"
);
if
(user !=
null
)
{
UserDropDown.SelectedValue = user.Key.ToString();
}
RadSchedulerRecurrenceEditor1.StartDate = appointmentToEdit.Start;
RadSchedulerRecurrenceEditor1.EndDate = appointmentToEdit.End;
RecurrenceRuleText = appointmentToEdit.RecurrenceRule;
}
protected
void
SubmitButton_Click(
object
sender, EventArgs e)
{
if
(EditedAppointment ==
null
)
{
Appointment aptToInsert = PopulateBasicAppointmentPropertiesFromForm();
RadScheduler1.InsertAppointment(aptToInsert);
// Insert Appointment
//Appointment aptToInsert = PopulateBasicAppointmentPropertiesFromForm();
//clsSchedule schedule = new clsSchedule();
//schedule.Subject = DescriptionText.Text;
//Resource user = new Resource("Doctor", int.Parse(UserDropDown.SelectedValue), UserDropDown.SelectedItem.Text);
//schedule.Fld_AppFtime = RadScheduler1.DisplayToUtc(StartTime.SelectedDate.Value);
//schedule.Fld_AppTtime = RadScheduler1.DisplayToUtc(EndTime.SelectedDate.Value);
//schedule.Reminder = ReminderDropDown.SelectedValue;
//schedule.RecurrenceRule = RecurrenceRuleText;
//_scheduleservice = new ScheduleService();
//string statusI = _scheduleservice.SaveSchdule(schedule);
}
else
{
if
(!RadScheduler1.EditingRecurringSeries && (EditedAppointmentParent !=
null
|| EditedAppointment.RecurrenceState == RecurrenceState.Master))
{
// Create Exception Appointment
var aptOccurence = EditedAppointment;
var aptException = PopulateBasicAppointmentPropertiesFromForm(
RadScheduler1.PrepareToEdit(aptOccurence, RadScheduler1.EditingRecurringSeries)
);
RadScheduler1.UpdateAppointment(aptException);
}
else
{
// Update Appointment
Appointment aptOriginal = EditedAppointment;
if
(RadScheduler1.EditingRecurringSeries && (aptOriginal.RecurrenceState == RecurrenceState.Occurrence || aptOriginal.RecurrenceState == RecurrenceState.Exception))
aptOriginal = EditedAppointmentParent;
Appointment aptToUpdate = PopulateBasicAppointmentPropertiesFromForm(aptOriginal.Clone());
RadScheduler1.UpdateAppointment(aptToUpdate, aptOriginal);
}
}
EditedAppointmentID =
""
;
EditedAppointmentParentID =
""
;
RadDock1.Closed =
true
;
}
private
Appointment PopulateBasicAppointmentPropertiesFromForm()
{
return
PopulateBasicAppointmentPropertiesFromForm(
null
);
}
private
Appointment PopulateBasicAppointmentPropertiesFromForm(Appointment apt)
{
if
(apt ==
null
)
apt =
new
Appointment();
Resource user =
new
Resource(
"Doctor"
,
int
.Parse(UserDropDown.SelectedValue), UserDropDown.SelectedItem.Text);
DateTime start = RadScheduler1.DisplayToUtc(StartTime.SelectedDate.Value);
DateTime end = RadScheduler1.DisplayToUtc(EndTime.SelectedDate.Value);
string
reminder = ReminderDropDown.SelectedValue;
apt.Subject = DescriptionText.Text;
apt.Start = start;
apt.End = end;
apt.RecurrenceRule = RecurrenceRuleText;
if
(!String.IsNullOrEmpty(reminder))
{
apt.Reminders.Add(
new
Reminder(
int
.Parse(reminder)));
}
Resource existingUser = apt.Resources.GetResourceByType(
"Doctor"
);
if
(existingUser !=
null
)
{
apt.Resources.Remove(existingUser);
}
apt.Resources.Add(user);
return
apt;
}
}
}
Thanks,
Soumya