Я использую FullCalendar, в частности тот, который поставляется со SmartAdmin.Мне нужно получить события из базы данных и отобразить их в календаре.
Это пример кода, который мне нужно изменить на серверную часть Asp.Net C # (Entity Framework с LINQ):
events: [
{
title: 'Event Title',
start: new Date(y, m, 10, 00, 30),
description: 'Long Description',
className: ["event", "bg-color-red"],
icon: 'fa-clock-o'
}
Обновление: последние попытки включают использование JSON, попытки заставить FullCalendar читать и отображать его.
[System.Web.Services.WebMethod]
private string LoadEventLog()
{
using (DBEntities context = new DBEntities())
{
var query = (from el in context.EventLog
join et in context.EventTypes on el.eventType_FK equals et.id
join usr in context.Users on el.users_FK equals usr.id
orderby el.rowCreatedDT descending
select new EventLogInfo2()
{
id = el.id,
eventType_FK = el.eventType_FK,
eventType = et.eventType,
rowCreatedDT = el.rowCreatedDT,
message = el.message,
userFullName = usr.name + " " + usr.lastName
});
return (new JavaScriptSerializer()).Serialize(query.ToList());
}
}
Возвращает:
[{"id": 3,"eventType_FK": 4, "eventType": "Calendar", "rowCreatedDT": "/ Date (1544997181613) /", "message": "Описание теста 3.", "userFullName": "Системный администратор"}, {"id ": 2," eventType_FK ": 1," eventType ":" Information "," rowCreatedDT ":" / Date (1544994918530) / "," message ":" Описание теста 2. "," userFullName ":" Системный администратор"}, {" id ": 1," eventType_FK ": 1," eventType ":" Information "," rowCreatedDT ":" / Date (1544994006240) / "," message ":" Описание Test 1. "," userFullName":" Системный администратор "}]