This is a migrated thread and some comments may be shown as answers.

[Solved] Can add new appointment but not edit/delete

1 Answer 283 Views
Scheduler
This is a migrated thread and some comments may be shown as answers.
JK
Top achievements
Rank 1
JK asked on 25 Sep 2007, 07:56 AM
Hi,
Just download the new version of radscheduler and cannot get it to fully work.

I have bound the control to a MS SQL 2005 datasource.  I am able to create new appointments but it fails when I either try to edit(via double clicking or dragging) or deleting the appointment.

I have spent a good 3 hours on this and cannot see for the life of me where the error occurs. 

Note : No C# code has been implemented by myself this is a brand new file I have been testing with.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="NewStyle_Scheduler_Default" %> 
 
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> 
 
<%@ Register Assembly="UltimateMenu" Namespace="Karamasoft.WebControls" TagPrefix="cc1" %> 
 
 
 
 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
 
<html xmlns="http://www.w3.org/1999/xhtml" > 
    <script language="javascript" type="text/javascript">  
 
</script> 
<head runat="server">  
    <title>Untitled Page</title> 
    <link href="../../Style/mystyle.css" rel="stylesheet" type="text/css" /> 
 
</head> 
<body> 
    <form id="form1" runat="server">  
    <div id="header">  
    <div id="logo">  
        <h1><img src="../../images/mystyle.jpg"></h1> 
    </div> 
    <div id="menu">  
        <cc1:ultimatemenu id="Ultimatemenu2" runat="server" imagepath="~/images" menusource="~/newstyle/Menu.xml" 
            width="100%">  
        </cc1:ultimatemenu>&nbsp;</div> 
<asp:SqlDataSource ID="dsAppointments" runat="server" ConnectionString="<%$ ConnectionStrings:GasConnectionString %>" 
            DeleteCommand="DELETE FROM [SchedulerAppointments] WHERE [AppointmentID] = @AppointmentID" 
            InsertCommand="INSERT INTO SchedulerAppointments(StartDate, EndDate, Subject, RecurrenceStorage, RecurrenceParentKey, EmployeeID) VALUES (@StartDate, @EndDate, @Subject, @RecurrenceStorage, @RecurrenceParentKey, @EmployeeID)" 
            SelectCommand="SELECT AppointmentID, StartDate, EndDate, Subject, RecurrenceStorage, RecurrenceParentKey, EmployeeID FROM SchedulerAppointments" UpdateCommand="UPDATE SchedulerAppointments SET StartDate = @StartDate, EndDate = @EndDate, Subject = @Subject, RecurrenceStorage = @RecurrenceStorage, RecurrenceParentKey = @RecurrenceParentKey, EmployeeID = @EmployeeID WHERE (AppointmentID = @AppointmentID)" CancelSelectOnNullParameter="False">  
            <DeleteParameters> 
                <asp:Parameter Name="AppointmentID" Type="Int64" /> 
            </DeleteParameters> 
            <UpdateParameters> 
                <asp:Parameter Name="StartDate" Type="DateTime" /> 
                <asp:Parameter Name="EndDate" Type="DateTime" /> 
                <asp:Parameter Name="Subject" Type="String" /> 
                <asp:Parameter Name="RecurrenceStorage" Type="String" /> 
                <asp:Parameter Name="RecurrenceParentKey" Type="Int64" /> 
                <asp:Parameter Name="EmployeeID" /> 
                <asp:Parameter Name="AppointmentID" Type="Int64" /> 
            </UpdateParameters> 
            <InsertParameters> 
                <asp:Parameter Name="StartDate" Type="DateTime" /> 
                <asp:Parameter Name="EndDate" Type="DateTime" /> 
                <asp:Parameter Name="Subject" Type="String" /> 
                <asp:Parameter Name="RecurrenceStorage" Type="String" /> 
                <asp:Parameter Name="RecurrenceParentKey" Type="Int64" /> 
                <asp:Parameter Name="EmployeeID" /> 
            </InsertParameters> 
</asp:SqlDataSource> 
        <asp:ScriptManager ID="ScriptManager1" runat="server">  
        </asp:ScriptManager> 
        <asp:SqlDataSource id="dsJobTypes" runat="server" ConnectionString="<%$ ConnectionStrings:GasConnectionString %>" SelectCommand="SELECT * FROM [ServiceJobTypes]"></asp:SqlDataSource> 
        <asp:SqlDataSource id="dsJobStatus" runat="server" ConnectionString="<%$ ConnectionStrings:GasConnectionString %>" SelectCommand="SELECT * FROM [ServiceJobStatus]"></asp:SqlDataSource> 
        <asp:SqlDataSource id="dsEmployee" runat="server" ConnectionString="<%$ ConnectionStrings:GasConnectionString %>" SelectCommand="SELECT * FROM [QryEmployee]"></asp:SqlDataSource> 
</div> 
<div id="content">   
        &nbsp;<telerik:RadScheduler ID="RadScheduler1" runat="server" DataEndField="EndDate" 
        DataKeyField="AppointmentID" DataRecurrenceField="RecurrenceStorage" DataRecurrenceParentKeyField="RecurrenceParentKey" 
        DataSourceID="dsAppointments" DataStartField="StartDate" DataSubjectField="Subject" 
        DayEndTime="18:00:00" DayStartTime="08:00:00" HoursPanelTimeFormat="HH:mm" SelectedDate="2007-09-24" 
        TimeZoneOffset="00:00:00" WorkDayEndTime="17:00:00" WorkDayStartTime="08:00:00">  
        <ResourceTypes> 
            <telerik:ResourceType DataSourceID="dsEmployee" ForeignKeyField="EmployeeID" KeyField="EmployeeID" 
                Name="Resource Type 0" TextField="FullName" /> 
        </ResourceTypes> 
    </telerik:RadScheduler> 
      
    </div> 
    </form> 
</body> 
</html> 

Here is the IE error I recieve on deleting an appointment:
Cannot find the appointment to delete in the Appointments collection.   
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.   
 
Exception Details: System.ArgumentException: Cannot find the appointment to delete in the Appointments collection.  
 
Source Error:   
 
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.    
 
Stack Trace:   
 
 
[ArgumentException: Cannot find the appointment to delete in the Appointments collection.]  
   Telerik.Web.UI.Scheduling.AppointmentController.DeleteAppointment(Appointment appointmentToDelete, Boolean deleteSeries) +1113  
   Telerik.Web.UI.RadScheduler.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +1057  
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11  
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +174  
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5102  
 
   
 
 
--------------------------------------------------------------------------------  
Version Information: Microsoft .NET Framework Version:2.0.50727.312; ASP.NET Version:2.0.50727.833  
Here is the IE Error on editing an appoitnment:
Object reference not set to an instance of an object.   
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.   
 
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.  
 
Source Error:   
 
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.    
 
Stack Trace:   
 
 
[NullReferenceException: Object reference not set to an instance of an object.]  
   Telerik.Web.UI.Scheduling.AppointmentController.PrepareToEdit(Appointment appointmentToEdit, Boolean editSeries) +15  
   Telerik.Web.UI.RadScheduler.ResizeAppointment(Appointment appointmentToResize, DateTime appointmentEnd, Boolean editSeries) +38  
   Telerik.Web.UI.RadScheduler.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +399  
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11  
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +174  
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5102  
 
   
 

1 Answer, 1 is accepted

Sort by
0
T. Tsonev
Telerik team
answered on 27 Sep 2007, 01:50 PM
Hi JK,

I have answered your ticket, regarding this problem.

I will quote the response for the other visitors:
This is a known bug of the Q2 version of RadScheduler. It does not properly handle appointment IDs with type different from Int32 and String, due to some JSON serialization issues.

We have fixed the bug and the Service Pack, planned for mid-October, will work correctly in your scenario. Until then you might change the query to cast it to int (Int32), just as a temporary fix.


Sincerely yours,
Tsvetomir Tsonev
the Telerik team

Instantly find answers to your questions at the new Telerik Support Center
Tags
Scheduler
Asked by
JK
Top achievements
Rank 1
Answers by
T. Tsonev
Telerik team
Share this question
or