using System; using System.Linq; using System.Web.Mvc; using DayPilot.Web.Mvc; using DayPilot.Web.Mvc.Enums; using DayPilot.Web.Mvc.Events.Calendar; using trainee.Models; using System.Data.Linq; namespace trainee.Controllers { public class CalendarController : Controller { public ActionResult Index() { return View(); } public ActionResult Backend() { return new Dpc().CallBack(this); } class Dpc() : DayPilotCalendar { BaseDBContext db = new BaseDBContext(); protected override void OnInit(InitArgs e) { Update(CallBackUpdateType.Full); } protected override void OnEventResize(EventResizeArgs e) { var toBeResized = (from ev in db.Calendars where ev.ID == Convert.ToInt32(e.Id) select ev).First(); toBeResized.StartDate = e.NewStart; toBeResized.EndDate= e.NewEnd; db.SaveChanges(); Update(); } protected override void OnEventMove(EventMoveArgs e) { var toBeResized = (from ev in db.Calendars where ev.ID == Convert.ToInt32(e.Id) select ev).First(); toBeResized.StartDate = e.NewStart; toBeResized.EndDate= e.NewEnd; db.SaveChanges(); Update(); } protected override void OnTimeRangeSelected(TimeRangeSelectedArgs e) { var toBeCreated = new Calendar { StartDate = e.Start, EndDate = e.End, EventName = (string)e.Data["name"] }; db.Calendars.Add(toBeCreated); db.SaveChanges(); Update(); } protected override void OnFinish() { if (UpdateType == CallBackUpdateType.None) { return; } Events = from ev in db.Calendars select ev; DataIdField = "ID"; DataTextField = "EventName"; DataStartField = "StartDate"; DataEndField = "EndDate"; } } } }