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

Read is not loading appointments into scheduler

1 Answer 241 Views
Scheduler
This is a migrated thread and some comments may be shown as answers.
Johnny
Top achievements
Rank 1
Johnny asked on 14 Oct 2013, 01:38 AM
I can't make the scheduler to read the data I created SchedulerTaskService here I put some of the code:

public class SchedulerTaskService : ISchedulerEventService<TaskViewModel>
{

public SchedulerTaskService()
{

}

public virtual IQueryable<TaskViewModel> GetAll()
{

List<TaskViewModel> lista = new List<TaskViewModel>();

TaskViewModel node = new TaskViewModel();

node.TaskID = 1;
node.Description = "Hello";
node.Ficha_Num = "126293860";
node.Medico = "JGO1230";
node.Title = "JOHNNY GONZALEZ SOTO";
node.Start = new DateTime(2013,10,13,9,0,0);
node.End = new DateTime(2013, 10, 13, 9, 15, 0);
node.Telefono = "2719944";
node.StartTimezone = "Etc/UTC";
node.EndTimezone = "Etc/UTC";
node.OwnerID = 1;

lista.Add(node);

return lista.AsQueryable();
}
____________________________________________________________________

public partial class SchedulerController : Controller
{
private SchedulerTaskService taskService;


public SchedulerController()
{
this.taskService = new SchedulerTaskService();
}

public ActionResult Index()
{
return View();
}

public virtual JsonResult Read([DataSourceRequest] DataSourceRequest request)
{
return Json(taskService.GetAll().ToDataSourceResult(request));
}
______________________________________________________________________________________

@(Html.Kendo().Scheduler<TaskViewModel>()
.Name("scheduler")
.Date(DateTime.Today)
.StartTime(new DateTime(2013, 1, 1, 7, 00, 00))
.EndTime(new DateTime(2013, 1, 1, 18, 00, 00))
.Height(500)
.MinorTickCount(1)
.MajorTick(15)
.Selectable(true)
 

.Editable(e => e.TemplateId("editor"))

.Views(views =>
{
views.DayView();
views.WeekView(weekView => weekView.Selected(true));
views.MonthView();
views.AgendaView();

 })

.Messages(message =>
{
message.Today("Hoy Día");
message.AllDay("Todo el Día");
message.Save("Reservar");
message.Cancel("Cerrar");
message.Views(views =>
{
views.Day("Diario");
views.Month("Mensual");
views.Week("Semanal");


});

message.ShowWorkDay("Mostrar Todo el Día");
message.ShowFullDay("Mostrar Horario");


message.Editor(Editor =>
{
Editor.EditorTitle("Cita");

});


})

.Timezone("Etc/UTC")

.DataSource(d => d
.Model(m =>
{
m.Id(f => f.TaskID);
//m.Field(f => f.OwnerID).DefaultValue(1);
})


.Read("Read", "Scheduler")
.Create("Create", "Scheduler")
.Destroy("Destroy", "Scheduler")
.Update("Update", "Scheduler")
//.Filter(filters =>
//{
// filters.Add(model => model.OwnerID).IsEqualTo(1).Or().IsEqualTo(2);
//})
)

)
____________________________________________________________________

<script id="editor" type="text/x-kendo-template">

<table border="0">
<tr style="border-style:hidden">
<td style="border-style:hidden"><label>Paciente</label></td>
<td style="border-style:hidden"><input style="width:300px;" data-bind="value: Title" /> <button class="k-button" data-bind="value: buscar_ficha">Buscar</button></td>
</tr>
<tr style="border-style:hidden">
<td style="border-style:hidden">Teléfono</td>
<td style="border-style:hidden"><input data-bind="value: Telefono"/></td>
</tr>
<tr style="border-style:hidden">
<td style="border-style:hidden">Comienza</td>
<td style="border-style:hidden"><input data-role="datetimepicker" data-bind="value: start" /></td>

</tr>
<tr style="border-style:hidden">
<td style="border-style:hidden">Finaliza</td>
<td style="border-style:hidden"><input data-role="datetimepicker" data-bind="value: end" /></td>
</tr>
<tr style="border-style:hidden">
<td style="border-style:hidden">Médico</td>
<td style="border-style:hidden"><input data-bind="value: Medico"/></td>
</tr>
<tr style="border-style:hidden">
<td style="border-style:hidden">Ficha</td>
<td style="border-style:hidden"><input data-bind="value: Ficha_Num"/></td>
</tr>
<tr style="border-style:hidden">
<td style="border-style:hidden">Memo</td>
<td style="border-style:hidden"><input style="width:300px;" data-bind="value: Description"/></td>
</tr>
</table>

</script>


any help would be appreciated

Johnny

1 Answer, 1 is accepted

Sort by
0
Rosen
Telerik team
answered on 14 Oct 2013, 07:45 AM
Hello Johnny,

Looking at the provided code spinets I suspect that no data is shown in the Scheduler due to incorrect start and end dates returned by the server. The dates set to the event are created in server's local timezone, however as the Scheduler is configured to show events in UTC timezone, these event dates will be offset to UTC timezone which will result in moving the events outside of the View's defined time range. In order to correct this you will need to set the event's DateKind to UTC:

TaskViewModel node = new TaskViewModel();
 
node.TaskID = 1;
node.Description = "Hello";
node.Ficha_Num = "126293860";
node.Medico = "JGO1230";
node.Title = "JOHNNY GONZALEZ SOTO";
node.Start = new DateTime(2013, 10, 13, 9, 0, 0, DateTimeKind.Utc);
node.End = new DateTime(2013, 10, 13, 9, 15, 0, DateTimeKind.Utc);
node.Telefono = "2719944";
node.StartTimezone = "Etc/UTC";
node.EndTimezone = "Etc/UTC";
node.OwnerID = 1;

Regards,
Rosen
Telerik
Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
Tags
Scheduler
Asked by
Johnny
Top achievements
Rank 1
Answers by
Rosen
Telerik team
Share this question
or