Quantcast
Channel: Telerik Forums RSS
Viewing all articles
Browse latest Browse all 94857

Recurrence Appointments with AdvancedEditTemplate and AdvancedInsertTemplate

$
0
0

Hello I have some problems with my Appointments... I'm using RadScheduler with AdvancedInsertTemplaet and AdvancedEditTemplate but I'm not using the AdvancedForm.ascx, AdvancedForm.ascx.cs and AdvancedForm.js pages I'm doing all my logic in code bihend(GUIAgendarActividades.aspx.cs) of  my GUIAgendarActividades.aspx client page...

I'm trying to sabe in my DataBase recurrence appointments I'm using this component "telerik:RadSchedulerRecurrenceEditor" to set the recurrence rules in code behind I have this

protected void RadScheduler1_AppointmentCommand(object sender, AppointmentCommandEventArgs e)
{
   if (e.CommandName == "Insert")
    {

        RadSchedulerRecurrenceEditor recurrence = e.Container.FindControl("AppointmentRecurrenceEditor") as RadSchedulerRecurrenceEditor;
         recurrence.StartDate = RadScheduler1.DisplayToUtc(dtStart);
         recurrence.EndDate = RadScheduler1.DisplayToUtc(dtEnd);
         if (recurrence != null)
         {
            objActividades.RecurrenceRule = recurrence.RecurrenceRule.ToString();
          }

         bool exitoso = serviceCliente.registrarActividades(objActividades); // This is the function who store my appointment(objActividades) in my database

     }

}

 Next I show you what the above function(registrarActividades(objActividades)) put in the database

43   //Id

Prueba de recurrencia...   //Subject

NULL  //some custom attribute(tipo_llamada)

NULL //some custom attribute(proposito_llamada)

1  //some custom attribute(cliente)  

Recurencia   //Description

4 //some custom attribute(estado)

7 //some custom attribute(prioridad)  

2015-06-15 13:00:00.000   //Start

2015-06-15 14:00:00.000  //End

1   //some custom attribute(duracion)

EchevyPlan  //some custom attribute(lugar_evento)

0 //some custom attribute(notificación_email)

15  //some custom attribute(tipo_actividad)

0  //eliminado

DTSTART:20150615T130000ZDTEND:20150615T140000ZRRULE:FREQ=WEEKLY;COUNT=15;INTERVAL=1;BYDAY=MO,TU,WE  //RecurrenceRule

NULL //RecurrenceParentID

 

As you can see in the column RecurrenceRule of the DB there is the string with the rule of the recurrence and you can see that has a max value of occurence of 15, just Monday, Tuesday and Wednesday from 15/06/2015 at 1:00pm to 15/06/2015 at 2:00pm.. well, that show me in my scheduler the first three occurency(monday 15, tuesday 16 and wednesday 17) but when I go to the next week I have no appointment show it, the field in my DB "RecurrenceParentId" how it fill when I sabe the appointment in the DB and why do I need it, that's one of my problems, the second one is when I try to edit those three appointment that show me if I select "edit the whole secuence" it's work fine but when I try to edit only one occurrency of the secuence, for example, onle the appointment of Tuesday 16 it throw me an error and I figure it out that the ID of the Appointment in that case is null "e.Container.Appointment.ID" and I don't know why, maybe resoving the first problema I resove this one, but maybe not, I really don't know. Please I need help with that soon as posible... Thanks

In my client page I have the fallowing:

 GUIAgendarActividades.aspx

<telerik:RadScheduler runat="server" ID="RadScheduler1" SelectedDate="2015-06-08"
Height="500px" OnDataBound="RadScheduler1_DataBound" OnFormCreated="RadScheduler1_FormCreated"
DataKeyField="ID" DataSubjectField="asunto" DataStartField="inicio" DataEndField="final"
OnAppointmentDataBound="RadScheduler1_AppointmentDataBound" OverflowBehavior="Auto"
OnAppointmentDelete="RadScheduler1_AppointmentDelete" DataRecurrenceField="RecurrenceRule" DataRecurrenceParentKeyField="RecurrenceParentID"
StartInsertingInAdvancedForm="true" CustomAttributeNames="descripcion, lugar_evento, notificacion_email, duracion, tipo_actividad"
AdvancedForm-EnableCustomAttributeEditing="true" OnAppointmentCommand="RadScheduler1_AppointmentCommand">
<Localization ConfirmCancel="Cancelar" ConfirmDeleteText="Está seguro que desea eliminar esta actividad?"
ConfirmDeleteTitle="Confirmación" ConfirmOK="Aceptar" />
<AdvancedForm Modal="true"></AdvancedForm>
<AppointmentTemplate>
<div style="margin: 1% 0 0 0">
<%#Eval("Subject") %>
</div>
<hr style="float: left; width: 135px; border-width: 1px;">
<div style="float:left; width: 100%; margin: 2% 0 0 0">
Tipo de Actividad:
<strong>
<asp:label ID="labelTipoAct" runat="server" TextAlign="Left"
Text='<%# Convert.ToString(Container.Appointment.Attributes["tipo_actividad"]).Equals("14")?
"Llamada" : "Evento" %>'></asp:label>
</strong>
</div>
</AppointmentTemplate>

<AdvancedEditTemplate>
<div id="qsfexAdvEditWrapper" class="rsAdvancedEdit rsAdvancedModal" style="position: relative">
<div class="rsModalBgTopLeft">
</div>
<div class="rsModalBgTopRight">
</div>
<div class="rsModalBgBottomLeft">
</div>
<div class="rsModalBgBottomRight">
</div>
<div class="rsAdvTitle">
<h1 class="rsAdvInnerTitle">
Editar Actividad
</h1>
<asp:LinkButton runat="server" ID="AdvancedEditCloseButton" CssClass="rsAdvEditClose"
CommandName="Cancel" CausesValidation="false" ToolTip='<%# Container.Appointment.Owner.Localization.AdvancedClose %>'>
<%# Container.Appointment.Owner.Localization.AdvancedClose%>
</asp:LinkButton>
</div>
<div class="rsAdvContentWrapper" style="float:left; margin: 1% 0 0 5%">
<div style="float: left; width: 100%">
<div style="float: left; width: 15%">
<asp:Label ID="Label12" runat="server" Text="Tipo de Actividad"></asp:Label>
</div>
<div style="float: left; width: 50%; margin: 0 0 0 2%">
<strong>
<asp:label ID="labelTipoAct" runat="server" TextAlign="Left"
Text='<%# Convert.ToString(Container.Appointment.Attributes["tipo_actividad"]).Equals("14")?
"Llamada" : "Evento" %>'></asp:label>
</strong>
</div>
</div>
<div style="float: left; Width: 100%; margin: 2% 0 0 0">
<div align="right" style="float: left; width: 15%">
<asp:Label ID="Label1" runat="server" Text="Asunto"></asp:Label>
</div>
<div style="float: left; width: 50%; margin: 0 0 0 2%">
<telerik:RadTextBox ID="SubjectTextBox" TextMode="MultiLine" Width="450px" Rows="5" runat="server" Text='<%# Bind("Subject") %>' >
</telerik:RadTextBox>
</div>
</div>
<div style="float: left; Width: 100%; margin: 2% 0 0 0">
<div align="right" style="float: left; width: 15%">
<asp:Label ID="Label6" runat="server" Text="Descripción"></asp:Label>
</div>
<div style="float: left; width: 50%; margin: 0 0 0 2%">
<telerik:RadTextBox ID="descripcionTextBox" TextMode="MultiLine" Width="450px" Rows="5" runat="server" Text='<%# Bind("descripcion") %>' >
</telerik:RadTextBox>
</div>
</div>
<asp:Panel ID="panelLugarEvento" runat="server">
<div style="visibility:inherit; float: left; Width: 100%; margin: 2% 0 0 0" id="lugarEventoDiv">
<div align="right" style="float: left; width: 15%">
<asp:Label ID="Label7" runat="server" Text="Lugar del evento"></asp:Label>
</div>
<div style="float: left; width: 50%; margin: 0 0 0 2%">
<telerik:RadTextBox ID="lugarEventoTextBox" Width="450px" Rows="5" runat="server" Text='<%# Bind("lugar_evento") %>' >
<ClientEvents OnLoad="loadTextBox" />
</telerik:RadTextBox>
</div>
</div>
</asp:Panel>
<div style="float:left; width: 100%">
<div style="float: left; width: 35%; margin: 5% 0 0 0">
<div align="right" style="float: left; width: 100%; margin: 2% 0 0 0">
<div style="float: left; width: 42%">
<asp:Label ID="label3" runat="server" Text="Estado de la actividad" ></asp:Label>
</div>
<div style="float: left; width: 50%; margin: 0 0 0 5%">
<telerik:RadComboBox ID="comboEstado" runat="server" Width="150px" EmptyMessage="Seleccione"></telerik:RadComboBox>
</div>
</div>
<div style="float: left; width: 100%; margin: 2% 0 0 0">
<div align="right" style="float: left; width: 42%">
<asp:Label ID="label4" runat="server" Text="Prioridad de la actividad" ></asp:Label>
</div>
<div style="float: left; width: 50%; margin: 0 0 0 5%">
<telerik:RadComboBox ID="comboPrioridad" runat="server" Width="150px" EmptyMessage="Seleccione"></telerik:RadComboBox>
</div>
</div>
<div style="float: left; width: 100%; margin: 2% 0 0 0">
<div align="right" style="float: left; width: 42%; margin: 2% 0 0 0">
<asp:Label ID="label5" runat="server" Text="Cliente" ></asp:Label>
</div>
<div style="float: left; width: 50%; margin: 0 0 0 5%">
<telerik:RadComboBox ID="comboCliente" runat="server" Width="150px" EmptyMessage="Seleccione"></telerik:RadComboBox>
</div>
</div><br />
<asp:Panel ID="panelTipoLlamada" runat="server">
<div style="visibility:inherit; float: left; width: 100%; margin: 3% 0 0 0" id="tipoLlamadaDiv">
<div align="right" style="float: left; width: 42%; margin: 2% 0 0 0">
<asp:Label ID="labelLlamada" runat="server" Text="Tipo de Llamada" ></asp:Label>
</div>
<div style="float: left; width: 50%; margin: 0 0 0 5%">
<telerik:RadComboBox ID="comboTipoLlamada" runat="server" Width="150px" EmptyMessage="Seleccione"></telerik:RadComboBox>
</div>
</div>
</asp:Panel>
<asp:Panel ID="panelProposito" runat="server">
<div style="visibility:inherit; float: left; width: 100%; margin: 3% 0 0 0" id="propositoDiv">
<div align="right" style="float: left; width: 42%">
<asp:Label ID="label2" runat="server" Text="Proposito de la Llamada" ></asp:Label>
</div>
<div style="float: left; width: 50%; margin: 0 0 0 5%">
<telerik:RadComboBox ID="comboProposito" runat="server" Width="150px" EmptyMessage="Seleccione"></telerik:RadComboBox>
</div>
</div>
</asp:Panel>
</div>
<div style="float: left; width: 50%; margin: 6% 0 0 15%">
<div style="visibility:inherit; float: left; width:100%" id="startCalendarDiv">
<div style="float: left; width: 52%">
<telerik:RadDateTimePicker ID="startDateCalendar" runat="server" SelectedDate='<%# Bind("Start") %>'>
<Calendar ID="Calendar2" runat="server" ShowOtherMonthsDays="False" ShowRowHeaders="False" UseColumnHeadersAsSelectors="False"
UseRowHeadersAsSelectors="False" ViewSelectorText="x">
</Calendar>
<TimeView ID="TimeView2" runat="server" CellSpacing="-1" Culture="English (Canada)" Interval="00:30:00" StartTime="08:00:00"
EndTime="23:59:59" Columns="4">
</TimeView>
<TimePopupButton HoverImageUrl="" ImageUrl="" />
<DatePopupButton HoverImageUrl="" ImageUrl="" />
</telerik:RadDateTimePicker>
</div>
<div style="float: left; width: 20%; margin: 1% 0 0 0">
<asp:Label ID="label11" runat="server" Text="Hora Inicio" ></asp:Label>
</div>
</div>
<asp:Panel ID="panelEndCalendar" runat="server">
<div style="visibility:inherit; float: left; width:100%; margin: 2% 0 0 0" id="endCalendarDiv" runat="server">
<div style="float: left; width: 52%">
<telerik:RadDateTimePicker ID="endDateCalendar" runat="server" SelectedDate='<%# Bind("End") %>'>
<Calendar ID="Calendar1" runat="server" ShowOtherMonthsDays="False" ShowRowHeaders="False" UseColumnHeadersAsSelectors="False"
UseRowHeadersAsSelectors="False" ViewSelectorText="x">
</Calendar>
<TimeView ID="TimeView1" runat="server" CellSpacing="-1" Culture="English (Canada)" Interval="00:30:00" StartTime="08:00:00"
EndTime="23:59:59" Columns="4">
</TimeView>
<TimePopupButton HoverImageUrl="" ImageUrl="" />
<DatePopupButton HoverImageUrl="" ImageUrl="" />
<DateInput runat="server" ID="DateInput">
<ClientEvents OnLoad="loadEnDatePicker"></ClientEvents>
</DateInput>
</telerik:RadDateTimePicker>
</div>
<div style="float: left; width: 20%; margin: 1% 0 0 0">
<asp:Label ID="label10" runat="server" Text="Hora Final" ></asp:Label>
</div>
</div>
</asp:Panel>
<asp:Panel ID="panelDuracion" runat="server">
<div style="visibility:inherit; float:left; width: 100%; margin: 2% 0 0 0"" id="duracionDiv">
<div style="float: left; width: 38%">
<telerik:RadNumericTextBox ID="duracionNumTextBox" Width="110px" runat="server" Text='<%# Bind("duracion") %>' >
</telerik:RadNumericTextBox>
</div>
<div style="float: left; width: 40%; margin: 1% 0 0 0">
<asp:Label ID="label9" runat="server" Text="Duración Llamada(Min)" ></asp:Label>
</div>
</div>
</asp:Panel>
<div style="float:left; margin: 2% 0 0 0" id="Div1">
<asp:CheckBox ID="NotificacionStatusCheckBox" Width="200px" runat="server" Text="Notificar por email? " TextAlign="Left"
Checked='<%# Convert.ToString(Container.Appointment.Attributes["notificacion_email"]).Equals("0")?
false : true %>' >
</asp:CheckBox>
</div>
</div>
</div>

<telerik:RadSchedulerRecurrenceEditor runat="server" ID="AppointmentRecurrenceEditor" />
<asp:HiddenField runat="server" ID="OriginalRecurrenceRule" />

<asp:Panel runat="server" ID="ButtonsPanel" CssClass="rsAdvancedSubmitArea">
<div class="rsAdvButtonWrapper">
<asp:LinkButton CommandName="Update" runat="server" ID="UpdateButton" CssClass="rsAdvEditSave">
<span><%# Container.Appointment.Owner.Localization.Save%></span>
</asp:LinkButton>
<asp:LinkButton runat="server" ID="CancelButton" CssClass="rsAdvEditCancel" CommandName="Cancel"
CausesValidation="false">
<span><%# Container.Appointment.Owner.Localization.Cancel%></span>
</asp:LinkButton>
</div>
</asp:Panel>
</div>
</div>
</AdvancedEditTemplate>

<AdvancedInsertTemplate>
<div id="qsfexAdvEditWrapper" class="rsAdvancedEdit rsAdvancedModal" style="position: relative">
<div class="rsModalBgTopLeft">
</div>
<div class="rsModalBgTopRight">
</div>
<div class="rsModalBgBottomLeft">
</div>
<div class="rsModalBgBottomRight">
</div>
<div class="rsAdvTitle">
<h1 class="rsAdvInnerTitle">
Insertar Actividad
</h1>
<asp:LinkButton runat="server" ID="AdvancedEditCloseButton" CssClass="rsAdvEditClose"
CommandName="Cancel" CausesValidation="false" ToolTip='<%# Container.Appointment.Owner.Localization.AdvancedClose %>'>
<%# Container.Appointment.Owner.Localization.AdvancedClose%>
</asp:LinkButton>
</div>
<div class="rsAdvContentWrapper" style="float:left; margin: 1% 0 0 5%">
<div style="float: left; width: 100%">
<div style="float: left; width: 15%">
<asp:Label runat="server" Text="Tipo de Actividad"></asp:Label>
</div>
<div style="float: left; width: 50%; margin: 0 0 0 2%">
<telerik:RadComboBox ID="comboTipoActividad" runat="server" Width="150px" EmptyMessage="Seleccione"
OnClientSelectedIndexChanging="showTipoLlamadasCombo"></telerik:RadComboBox>
</div>
</div>
<div style="float: left; Width: 100%; margin: 2% 0 0 0">
<div align="right" style="float: left; width: 15%">
<asp:Label runat="server" Text="Asunto"></asp:Label>
</div>
<div style="float: left; width: 50%; margin: 0 0 0 2%">
<telerik:RadTextBox ID="SubjectTextBox" TextMode="MultiLine" Width="450px" Rows="5" runat="server" Text='<%# Bind("Subject") %>' >
</telerik:RadTextBox>
</div>
</div>
<div style="float: left; Width: 100%; margin: 2% 0 0 0">
<div align="right" style="float: left; width: 15%">
<asp:Label runat="server" Text="Descripción"></asp:Label>
</div>
<div style="float: left; width: 50%; margin: 0 0 0 2%">
<telerik:RadTextBox ID="descripcionTextBox" TextMode="MultiLine" Width="450px" Rows="5" runat="server" Text='<%# Bind("descripcion") %>' >
</telerik:RadTextBox>
</div>
</div>
<div style="visibility:inherit; float: left; Width: 100%; margin: 2% 0 0 0" id="lugarEventoDiv">
<div align="right" style="float: left; width: 15%">
<asp:Label runat="server" Text="Lugar del evento"></asp:Label>
</div>
<div style="float: left; width: 50%; margin: 0 0 0 2%">
<telerik:RadTextBox ID="lugarEventoTextBox" Width="450px" Rows="5" runat="server" Text='<%# Bind("lugar_evento") %>' >
<ClientEvents OnLoad="loadTextBox" />
</telerik:RadTextBox>
</div>
</div>
<div style="float:left; width: 100%">
<div style="float: left; width: 35%; margin: 2% 0 0 0">
<div align="right" style="float: left; width: 100%; margin: 2% 0 0 0">
<div style="float: left; width: 42%">
<asp:Label runat="server" Text="Estado de la actividad" ></asp:Label>
</div>
<div style="float: left; width: 50%; margin: 0 0 0 5%">
<telerik:RadComboBox ID="comboEstado" runat="server" Width="150px" EmptyMessage="Seleccione"></telerik:RadComboBox>
</div>
</div>
<div style="float: left; width: 100%; margin: 2% 0 0 0">
<div align="right" style="float: left; width: 42%">
<asp:Label runat="server" Text="Prioridad de la actividad" ></asp:Label>
</div>
<div style="float: left; width: 50%; margin: 0 0 0 5%">
<telerik:RadComboBox ID="comboPrioridad" runat="server" Width="150px" EmptyMessage="Seleccione"></telerik:RadComboBox>
</div>
</div>
<div style="float: left; width: 100%; margin: 2% 0 0 0">
<div align="right" style="float: left; width: 42%; margin: 2% 0 0 0">
<asp:Label runat="server" Text="Cliente" ></asp:Label>
</div>
<div style="float: left; width: 50%; margin: 0 0 0 5%">
<telerik:RadComboBox ID="comboCliente" runat="server" Width="150px" EmptyMessage="Seleccione"></telerik:RadComboBox>
</div>
</div><br />
<div style="visibility:hidden; float: left; width: 100%; margin: 3% 0 0 0" id="tipoLlamadaDiv">
<div align="right" style="float: left; width: 42%; margin: 2% 0 0 0">
<asp:Label runat="server" Text="Tipo de Llamada" ></asp:Label>
</div>
<div style="float: left; width: 50%; margin: 0 0 0 5%">
<telerik:RadComboBox ID="comboTipoLlamada" runat="server" Width="150px" EmptyMessage="Seleccione"></telerik:RadComboBox>
</div>
</div><br />
<div style="visibility:hidden; float: left; width: 100%; margin: 3% 0 0 0" id="propositoDiv">
<div align="right" style="float: left; width: 42%">
<asp:Label runat="server" Text="Proposito de la Llamada" ></asp:Label>
</div>
<div style="float: left; width: 50%; margin: 0 0 0 5%">
<telerik:RadComboBox ID="comboProposito" runat="server" Width="150px" EmptyMessage="Seleccione"></telerik:RadComboBox>
</div>
</div>
</div>
<div style="float: left; width: 50%; margin: 3% 0 0 15%">
<div style="visibility:inherit; float: left; width:100%" id="startCalendarDiv">
<div style="float: left; width: 52%">
<telerik:RadDateTimePicker ID="startDateCalendar" runat="server" SelectedDate='<%# Bind("Start") %>'>
<Calendar runat="server" ShowOtherMonthsDays="False" ShowRowHeaders="False" UseColumnHeadersAsSelectors="False"
UseRowHeadersAsSelectors="False" ViewSelectorText="x">
</Calendar>
<TimeView runat="server" CellSpacing="-1" Culture="English (Canada)" Interval="00:30:00" StartTime="08:00:00"
EndTime="23:59:59" Columns="4">
</TimeView>
<TimePopupButton HoverImageUrl="" ImageUrl="" />
<DatePopupButton HoverImageUrl="" ImageUrl="" />
</telerik:RadDateTimePicker>
</div>
<div style="float: left; width: 20%; margin: 1% 0 0 0">
<asp:Label runat="server" Text="Hora Inicio" ></asp:Label>
</div>
</div>
<div style="visibility:inherit; float: left; width:100%; margin: 2% 0 0 0" id="endCalendarDiv">
<div style="float: left; width: 52%">
<telerik:RadDateTimePicker ID="endDateCalendar" runat="server" SelectedDate='<%# Bind("End") %>'>
<Calendar ID="Calendar1" runat="server" ShowOtherMonthsDays="False" ShowRowHeaders="False" UseColumnHeadersAsSelectors="False"
UseRowHeadersAsSelectors="False" ViewSelectorText="x">
</Calendar>
<TimeView ID="TimeView1" runat="server" CellSpacing="-1" Culture="English (Canada)" Interval="00:30:00" StartTime="08:00:00"
EndTime="23:59:59" Columns="4">
</TimeView>
<TimePopupButton HoverImageUrl="" ImageUrl="" />
<DatePopupButton HoverImageUrl="" ImageUrl="" />
<DateInput runat="server" ID="DateInput">
<ClientEvents OnLoad="loadEnDatePicker"></ClientEvents>
</DateInput>
</telerik:RadDateTimePicker>
</div>
<div style="float: left; width: 20%; margin: 1% 0 0 0">
<asp:Label runat="server" Text="Hora Final" ></asp:Label>
</div>
</div>
<div style="visibility:hidden; float:left; width: 100%; margin: 2% 0 0 0"" id="duracionDiv">
<div style="float: left; width: 38%">
<telerik:RadNumericTextBox ID="duracionNumTextBox" Width="110px" runat="server" Text='<%# Bind("duracion") %>' >
</telerik:RadNumericTextBox>
</div>
<div style="float: left; width: 40%; margin: 1% 0 0 0">
<asp:Label runat="server" Text="Duración Llamada(Min)" ></asp:Label>
</div>
</div>
<div style="visibility:inherit; float:left; width: 100%; margin: 2% 0 0 0"" id="notificacionStatusDiv">
<asp:CheckBox ID="NotificacionStatusCheckBox" runat="server" Text="Notificar por email? " TextAlign="Left"
Checked="false" >
</asp:CheckBox>
</div>
</div>
</div>

<telerik:RadSchedulerRecurrenceEditor runat="server" ID="AppointmentRecurrenceEditor" />
<asp:HiddenField runat="server" ID="OriginalRecurrenceRule" />

<asp:Panel runat="server" ID="ButtonsPanel" CssClass="rsAdvancedSubmitArea">
<div class="rsAdvButtonWrapper">
<asp:LinkButton CommandName="Insert" runat="server" ID="UpdateButton" CssClass="rsAdvEditSave">
<span><%# Container.Appointment.Owner.Localization.Save%></span>
</asp:LinkButton>
<asp:LinkButton runat="server" ID="CancelButton" CssClass="rsAdvEditCancel" CommandName="Cancel"
CausesValidation="false">
<span><%# Container.Appointment.Owner.Localization.Cancel%></span>
</asp:LinkButton>
</div>
</asp:Panel>
</div>
</div>
</AdvancedInsertTemplate>

<AgendaView UserSelectable="true" ResourceMarkerType="Block" />
<ResourceTypes>
</ResourceTypes>
<TimeSlotContextMenuSettings EnableDefault="true"></TimeSlotContextMenuSettings>
<AppointmentContextMenuSettings EnableDefault="true"></AppointmentContextMenuSettings>
</telerik:RadScheduler>

 


Viewing all articles
Browse latest Browse all 94857

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>