<telerik:RadScheduler runat="server" ID="RadScheduler1" Height="585px" SelectedDate="2010-03-04"FirstDayOfWeek="Saturday" LastDayOfWeek="Thursday" DataKeyField="ActivityId" DataSubjectField="Subject" DataDescriptionField="Description" DataStartField="Start" ShowFooter="true" ShowHeader="true" DataEndField="End" CustomAttributeNames="Location" StartInsertingInAdvancedForm="true" StartEditingInAdvancedForm="true" EnableExactTimeRendering="true"Skin="Windows7" EnableDescriptionField="true" DataReminderField="Reminder" AppointmentStyleMode="Default"OnNavigationComplete="RadScheduler1_NavigationComplete" OnAppointmentCreated="RadScheduler1_AppointmentCreated"OnAppointmentDataBound="RadScheduler1_AppointmentDataBound"> <AdvancedForm EnableCustomAttributeEditing="true" EnableResourceEditing="true" Modal="true" /> <TimelineView UserSelectable="false" /> <Reminders Enabled="true" /> <ResourceTypes> <telerik:ResourceType Name="Category" DataSourceID="odsScheduleCategory" ForeignKeyField="CategoryID" TextField="ColorCategory" KeyField="CategoryID" /> </ResourceTypes> <ResourceStyles> <%--AppointmentStyleMode must be explicitly set to Default (see above) otherwise setting BackColor/BorderColor will switch the appointments to Simple rendering (no rounded corners and gradients)--%> <%--<telerik:ResourceStyleMapping Type="Category" Text="ColorCategory" ApplyCssClass="rsCategoryBlue" BorderColor="#B0CC9B" /> <telerik:ResourceStyleMapping Type="Category" Text="Green Category" ApplyCssClass="rsCategoryGreen" /> <telerik:ResourceStyleMapping Type="Category" Text="ColorCategory" BackColor="#edd5b7" BorderColor="#cdb597" />--%> </ResourceStyles> <AppointmentTemplate> <div> <%# Eval("Subject") %> </div> <%# Eval("Description") %> <%#Eval("Location")%> <%#Eval("Start")%> <%#Eval("End")%> <%#Eval("ShowAs")%> </AppointmentTemplate> <%--<AdvancedInsertTemplate> <telerik:RadTextBox ID="txtLocation" runat="server" Label="Location :" Skin="Windows7"> </telerik:RadTextBox> </AdvancedInsertTemplate>--%> <TimeSlotContextMenuSettings EnableDefault="true" /> <AppointmentContextMenuSettings EnableDefault="true" /> </telerik:RadScheduler>RadScheduler1.DataSource = dt RadScheduler1.DataBind()protected void RadGrid1_InsertCommand(object source, GridCommandEventArgs e) { GridDataInsertItem insertItem; insertItem = (GridDataInsertItem)RadGrid1.MasterTableView.GetInsertItem(); }<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="schedulerBooking.ascx.cs" Inherits="schedular.schedulerBooking" %><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> <script type="text/javascript"> function OnClientAppointmentMoving(sender, eventArgs) { eventArgs.set_cancel(true); } </script><telerik:RadScriptManager ID="radScriptManager" runat="server" /><telerik:RadAjaxPanel ID="radAjaxPanel" runat="server" LoadingPanelID="radAjaxLoadingPanel"> <telerik:RadAjaxManager ID="radAjaxManager" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="radScheduler"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="radScheduler" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="ddlRooms"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="radScheduler" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="radAjaxManager"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="radScheduler" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <asp:UpdatePanel ID="upRadioButtons" runat="server"> <ContentTemplate> <asp:Label ID="lblRooms" runat="server" AssociatedControlID="ddlRooms" Text="Stuga" /> <telerik:RadComboBox ID="ddlRooms" runat="server" AutoPostBack="true" /> </ContentTemplate> </asp:UpdatePanel> <telerik:RadScheduler ID="radScheduler" runat="server" FirstDayOfWeek="Monday" LastDayOfWeek="Sunday" DayStartTime="00:00:00" DayView-WorkDayStartTime="00:00:00" DayEndTime="23:59:59" DayView-WorkDayEndTime="23:59:59" TimeLabelRowSpan="1" MinutesPerRow="60" StartInsertingInAdvancedForm="True" Culture="sv-SE" HoursPanelTimeFormat="HH:mm" ShowAllDayRow="False" ShowFooter="False" CustomAttributeNames="Bokare" AdvancedForm-EnableCustomAttributeEditing="true" DataKeyField="BookingId" DataSubjectField="Subject" DataStartField="Start" DataEndField="End" DataSourceID="BookingDataSource" onappointmentdelete="radScheduler_AppointmentDelete" onappointmentinsert="radScheduler_AppointmentInsert" onappointmentupdate="radScheduler_AppointmentUpdate" NumberOfHoveredRows="2" onformcreated="radScheduler_FormCreated" onformcreating="radScheduler_FormCreating" OnClientAppointmentMoving="OnClientAppointmentMoving" WeekView-ReadOnly="false" WeekView-DayEndTime="23:59:59" WeekView-DayStartTime="00:00:00"> <AdvancedForm Modal="true" /> <AppointmentTemplate> <strong><%# Eval("Bokare") %></strong> <p><%# Eval("Subject") %></p> </AppointmentTemplate> <TimelineView UserSelectable="true" /> <TimeSlotContextMenuSettings EnableDefault="false" /> <TimeSlotContextMenus> <telerik:RadSchedulerContextMenu ID="SchedulerTimeSlotContextMenu" runat="server"> <Items> <telerik:RadMenuItem Text="Ny bokning" Value="CommandAddAppointment" /> <telerik:RadMenuItem IsSeparator="true" /> <telerik:RadMenuItem Text="Gå till idag" Value="CommandGoToToday" /> </Items> </telerik:RadSchedulerContextMenu> </TimeSlotContextMenus> <AppointmentContextMenuSettings EnableDefault="false" /> <AppointmentContextMenus> <telerik:RadSchedulerContextMenu ID="SchedulerAppointmentContextMenu" runat="server"> <Items> <telerik:RadMenuItem Text="Redigera" Value="CommandEdit" /> <telerik:RadMenuItem IsSeparator="true" /> <telerik:RadMenuItem Text="Ta bort" Value="CommandDelete" /> </Items> </telerik:RadSchedulerContextMenu> </AppointmentContextMenus> <AdvancedForm Modal="True" /> <Localization AdvancedAllDayEvent="Heldag" AdvancedCalendarCancel="Avbryt" AdvancedCalendarToday="Idag" AdvancedClose="Stäng" AdvancedDaily="Dagligen" AdvancedDay="Dag" AdvancedDays="dag(ar)" AdvancedDescription="Beskrivning" AdvancedDone="Färdig" AdvancedEditAppointment="Ändra bokning" AdvancedFrom="Start" AdvancedNewAppointment="Ny bokning" AdvancedSubject="Ämne" AdvancedTo="Till" AdvancedWeekly="Veckovis" AllDay="Heldag" Cancel="Avbryt" ConfirmCancel="Avbryt" ConfirmDeleteText="Är du säker på att du vill ta bort bokningen?" ConfirmDeleteTitle="Bekräfta borttagning" ContextMenuAddAppointment="Ny bokning" ContextMenuDelete="Ta bort" ContextMenuEdit="Ändra" ContextMenuGoToToday="Gå till idag" HeaderDay="Dag" HeaderMonth="Månad" HeaderMultiDay="Flera dagar" HeaderNextDay="nästa dag" HeaderPrevDay="föregående dag" HeaderTimeline="Tidslinje" HeaderToday="Idag" HeaderWeek="Vecka" Save="Spara" Show24Hours="24 timmars format" ShowAdvancedForm="Val" /> <TimelineView UserSelectable="False" /> </telerik:RadScheduler></telerik:RadAjaxPanel><asp:SqlDataSource ID="BookingDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:*%>" SelectCommand="SELECT [BookingId], [Subject], [Start], [End], [RoomId], [nodeId] FROM [Bookings] WHERE ([RoomId] = @RoomId)"> <SelectParameters> <asp:ControlParameter ControlID="ddlRooms" DefaultValue="1" Name="RoomId" PropertyName="SelectedValue" Type="Int32" /> </SelectParameters></asp:SqlDataSource>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 umbraco.cms.businesslogic.member;namespace schedular{ public partial class schedulerBooking : System.Web.UI.UserControl { protected dbDataContext db = new dbDataContext(); protected int userId = umbraco.cms.businesslogic.member.Member.GetCurrentMember().Id; protected bool IsBookingAdmin; protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { var rooms = (from r in db.Rooms select r); ddlRooms.DataTextField = "RoomName"; ddlRooms.DataValueField = "RoomId"; ddlRooms.DataSource = rooms; ddlRooms.DataBind(); } BookingDataSource.SelectCommand = "SELECT b.[BookingId], b.[Subject], b.[End], b.[Start], b.[RoomId], b.[nodeId], u.[LoginName] Bokare FROM [Bookings] AS b JOIN [cmsMember] AS u ON u.[nodeId] = b.[nodeId] WHERE ([RoomId] = @RoomId)"; } protected void radScheduler_AppointmentInsert(object sender, AppointmentInsertEventArgs e) { BookingDataSource.InsertCommand = "INSERT INTO [Bookings] ([Subject], [Start], [End], [RoomId], [nodeId]) VALUES (@Subject, @Start, @End, " + int.Parse(ddlRooms.SelectedValue) + ", " + userId + ")"; radScheduler.Rebind(); } protected void radScheduler_AppointmentUpdate(object sender, AppointmentUpdateEventArgs e) { foreach (Member member in Member.GetAll) { if (member.ContentType.Alias.ToString() == "BookingAdmin") IsBookingAdmin = true; else IsBookingAdmin = false; } foreach (Appointment a in radScheduler.Appointments.GetAppointmentsInRange(e.ModifiedAppointment.Start, e.ModifiedAppointment.End)) { int id = (int)e.Appointment.ID; int aId = (int)a.ID; var bookingOwner = (from o in db.Bookings where o.BookingId == id select o).Single(); if (aId == id && bookingOwner.nodeId == userId || IsBookingAdmin) { BookingDataSource.UpdateCommand = "UPDATE [Bookings] SET [Subject] = @Subject, [Start] = @Start, [End] = @End, [RoomId] = " + int.Parse(ddlRooms.SelectedValue) + " WHERE [BookingId] = " + id; radScheduler.Rebind(); } else e.Cancel = true; } } protected void radScheduler_AppointmentDelete(object sender, AppointmentDeleteEventArgs e) { foreach (Member member in Member.GetAll) { if (member.ContentType.Alias.ToString() == "BookingAdmin") IsBookingAdmin = true; else IsBookingAdmin = false; } int id = (int)e.Appointment.ID; var bookingOwner = (from o in db.Bookings where o.BookingId == id select o).Single(); if (bookingOwner.nodeId == userId || IsBookingAdmin == true) { BookingDataSource.DeleteCommand = "DELETE FROM [Bookings] WHERE [BookingId] = " + id; radScheduler.Rebind(); } else e.Cancel = true; } protected void radScheduler_FormCreating(object sender, SchedulerFormCreatingEventArgs e) { var user = (from u in db.cmsMembers where u.nodeId == userId select u).Single(); if (string.IsNullOrEmpty(e.Appointment.Attributes["Bokare"])) e.Appointment.Attributes["Bokare"] = user.LoginName; } protected void radScheduler_FormCreated(object sender, SchedulerFormCreatedEventArgs e) { if (e.Container.Mode == SchedulerFormMode.AdvancedEdit || e.Container.Mode == SchedulerFormMode.AdvancedInsert) { RadTextBox txtBooker = e.Container.FindControl("AttrBokare") as RadTextBox; txtBooker.Enabled = false; txtBooker.Style.Value = "border:0;color:Black !important;background-color:#EEEEEE;"; } } }}
<telerik:RadPane ID="rPanContentPlaceHplder" runat="server" Height="100%" Width="100%"
Scrolling="None">
<telerik:RadSplitter ID="rSplHeaderToolBar" runat="server" Height="100%" Width="100%"
Orientation="Horizontal">
<telerik:RadPane ID="rPanHeader" runat="server" Height="25px" Width="100%" Scrolling="None">
<uc:HeaderToolBar ID="ucMEHeaderToolBar" runat="server" />
</telerik:RadPane>
<telerik:RadPane ID="ContentPane" runat="server" Scrolling="Both" Style="overflow: scroll;
vertical-align: top;"
Width="100%">
<asp:ContentPlaceHolder ID="content" runat="server">
</asp:ContentPlaceHolder>
</telerik:RadPane>
</telerik:RadSplitter>
</telerik:RadPane>
<
telerik:RadToolBar ID="barTopCommandBar" runat="server" Height="100%" Width="100%"
OnPreRender="barTopCommandBar_PreRender" OnButtonClick="barTopCommandBar_ButtonClick"
OnClientButtonClicking="clientbuttonclick" CssClass="toolbarbuttons">
<Items>
<telerik:RadToolBarButton runat="server" CommandName="ADD" ImageUrl="~/Images/TLB_ADDNEW_16.gif"
Text="<%$ Resources:PDICulture, htbControlAdd %>" ToolTip="<%$ Resources:PDICulture, htbControlToolTipAdd %>">
</telerik:RadToolBarButton>
<telerik:RadToolBarButton runat="server" CommandName="SAVE_REVALIDATE_SEPRATOR" IsSeparator="true"
Visible="false" />
<telerik:RadToolBarButton runat="server" CommandName="Save_revalidate" ImageUrl="~/Images/TLB_SAVE_16.gif"
Text="<%$ Resources:PDICulture, htbControlSaveRevalidate %>" ToolTip="<%$ Resources:PDICulture, htbControlToolTipSaveRevalidate %>">
</telerik:RadToolBarButton>
<telerik:RadToolBarButton runat="server" CommandName="SAVE_SEPRATOR" IsSeparator="true"
Visible="false" />
<telerik:RadToolBarButton runat="server" CommandName="SAVE" ImageUrl="~/Images/TLB_SAVE_16.gif"
Text="<%$ Resources:PDICulture, htbControlSave %>" ToolTip="<%$ Resources:PDICulture, htbControlToolTipSave %>">
</telerik:RadToolBarButton>
<telerik:RadToolBarButton runat="server" CommandName="DELETE_SEPRATOR" IsSeparator="true"
Visible="false" />
<telerik:RadToolBarButton runat="server" CommandName="DELETE" ImageUrl="~/Images/TLB_DELETE_16.gif"
Text="<%$ Resources:PDICulture, htbControlDelete %>" ToolTip="<%$ Resources:PDICulture, htbControlToolTipDelete %>">
</telerik:RadToolBarButton>
<telerik:RadToolBarButton runat="server" CommandName="UNDO_SEPRATOR" IsSeparator="true"
Visible="false" />
<telerik:RadToolBarButton runat="server" CommandName="UNDO" ImageUrl="~/Images/TLB_UNDO_16.gif"
Text="<%$ Resources:PDICulture, htbControlUndo %>" ToolTip="<%$ Resources:PDICulture, htbControlToolTipUndo %>">
</telerik:RadToolBarButton>
<telerik:RadToolBarButton runat="server" CommandName="SAVE_AND_REPLACE_SEPRATOR"
IsSeparator="true" Visible="false" />
<telerik:RadToolBarButton runat="server" CommandName="Save_Replace" ImageUrl="~/Images/TLB_EDIT_16.gif"
PostBack="false" OnClick="javascript:OpenSearchAndReplace();" Text="<%$ Resources:PDICulture, htbControlSaveReplace %>"
ToolTip="<%$ Resources:PDICulture, htbControlToolTipSaveReplace %>">
</telerik:RadToolBarButton>
<telerik:RadToolBarButton runat="server" CommandName="ADD_FROM_TEMPLATE_SEPRATOR"
Visible="false" IsSeparator="true" />
<telerik:RadToolBarButton runat="server" CommandName="ADD_FROM_TEMPLATE" Visible="false"
ImageUrl="~/Images/addtemplate.png" Text="<%$ Resources:PDICulture, htbControlAddFromTemplate %>"
ToolTip="<%$ Resources:PDICulture, htbControlAddFromTemplate %>">
</telerik:RadToolBarButton>
<telerik:RadToolBarButton runat="server" CommandName="SAVE_AS_TEMPLATE_SEPRATOR"
Visible="false" IsSeparator="true" />
<telerik:RadToolBarButton runat="server" CommandName="SAVE_AS_TEMPLATE" Visible="false"
ImageUrl="~/Images/savetemplate.png" Text="<%$ Resources:PDICulture, htbControlSaveAsTemplate %>"
ToolTip="Save as Template">
</telerik:RadToolBarButton>
<telerik:RadToolBarButton runat="server" CommandName="DELETE_TEMPLATE_SEPRATOR" Visible="false"
IsSeparator="true" />
<telerik:RadToolBarButton runat="server" CommandName="DELETE_TEMPLATE" Visible="false"
ImageUrl="~/Images/deletetemplate.png" Text="<%$ Resources:PDICulture, htbControlDeleteTemplate %>"
ToolTip="Delete Template">
</telerik:RadToolBarButton>
<telerik:RadToolBarButton runat="server" CommandName="REFRESH_SEPRATOR" IsSeparator="true"
Visible="false" />
<telerik:RadToolBarButton runat="server" CommandName="REFRESH" ImageUrl="~/Images/TLB_REFRESH_16.gif"
Text="<%$ Resources:PDICulture, htbControlRefresh %>" ToolTip="<%$ Resources:PDICulture, htbControlToolTipRefresh %>">
</telerik:RadToolBarButton>
<telerik:RadToolBarButton runat="server" CommandName="NEW_MESSAGE_SEPRATOR" IsSeparator="true"
Visible="false" />
<telerik:RadToolBarButton runat="server" CommandName="NEW_MESSAGE" Text="<%$ Resources:PDICulture, htbControlNewMessage %>"
ToolTip="<%$ Resources:PDICulture, htbControlToolTipNewMessage %>" ImageUrl="~/Images/PicSendNewMsg_16x16.png">
</telerik:RadToolBarButton>
<telerik:RadToolBarButton runat="server" CommandName="ACK_MESSAGE_SEPRATOR" IsSeparator="true"
Visible="false" />
<telerik:RadToolBarButton runat="server" CommandName="ACK_MESSAGE" Text="<%$ Resources:PDICulture, htbControlAcknowledgement %>"
ToolTip="<%$ Resources:PDICulture, htbControlToolTipAcknowledgement %>" Visible="false">
</telerik:RadToolBarButton>
<telerik:RadToolBarButton runat="server" CommandName="DELETE_MESSAGE_SEPRATOR" IsSeparator="true"
Visible="false" />
<telerik:RadToolBarButton runat="server" CommandName="DELETE_MESSAGE" Text="<%$ Resources:PDICulture, htbControlDeleteMessage %>"
ToolTip="<%$ Resources:PDICulture, htbControlToolTipDeleteMsg %>" Visible="false">
</telerik:RadToolBarButton>
<telerik:RadToolBarButton runat="server" CommandName="REPLY_MESSAGE_SEPRATOR" IsSeparator="true"
Visible="false" />
<telerik:RadToolBarButton runat="server" CommandName="REPLY_MESSAGE" Text="<%$ Resources:PDICulture, htbControlReplyMessage %>"
ToolTip="<%$ Resources:PDICulture, htbControlToolTipReplyMessage %>" Visible="false">
</telerik:RadToolBarButton>
<telerik:RadToolBarButton runat="server" CommandName="REFRESH_MESSAGE_SEPRATOR" IsSeparator="true"
Visible="false" />
<telerik:RadToolBarButton runat="server" CommandName="REFRESH_MESSAGE" Text="<%$ Resources:PDICulture, htbControlRefreshMessage %>"
ToolTip="<%$ Resources:PDICulture, htbControlToolTipRefreshMessage %>" Visible="false" ImageUrl="~/Images/cmdCheckForMsg16x16.png">
</telerik:RadToolBarButton>
<telerik:RadToolBarButton runat="server" CommandName="PRINT_SEPRATOR" IsSeparator="true"
Visible="false" />
<telerik:RadToolBarButton runat="server" CommandName="PRINT" ImageUrl="~/Images/TLB_PRINT_16.png"
Text="<%$ Resources:PDICulture, htbControlPrint %>" ToolTip="<%$ Resources:PDICulture, htbControlToolTipPrint %>">
</telerik:RadToolBarButton>
<telerik:RadToolBarButton runat="server" CommandName="UNPROCESSED_MESSAGE_SEPRATOR"
IsSeparator="true" Visible="false" />
<telerik:RadToolBarButton runat="server" CommandName="UNPROCESSED_MESSAGE" Text="<%$ Resources:PDICulture, htbControlUnprocessedMessage %>"
ToolTip="<%$ Resources:PDICulture, htbControlToolTipUnprocessedMessage %>" ImageUrl="~/Images/TLB_PRINT_16.png">
</telerik:RadToolBarButton>
<telerik:RadToolBarButton runat="server" CommandName="PROFILE_SEPRATOR" IsSeparator="true"
Visible="false" />
<telerik:RadToolBarButton runat="server" CommandName="PROFILE" Text="<%$ Resources:PDICulture, htbControlMProfile %>"
ToolTip="<%$ Resources:PDICulture, htbControlToolTipMProfile %>">
</telerik:RadToolBarButton>
<telerik:RadToolBarButton runat="server" CommandName="HELP_SEPRATOR" IsSeparator="true"
Visible="false" />
<telerik:RadToolBarButton runat="server" CommandName="HELP" ImageUrl="~/Images/TLB_HELP2_16.gif"
Text="<%$ Resources:PDICulture, htbControlHelp %>" ToolTip="<%$ Resources:PDICulture, htbControlToolTipHelp %>"
PostBack="false" onClick="javascript:openHelp();">
</telerik:RadToolBarButton>
</Items>
</
telerik:RadToolBar>