0

嗨,我们目前正在开发 kendo UI 调度程序,并希望使用 SignalR 使调度程序实时。

我们想要实现的是,如果 2 个客户同时查看调度程序并且客户 1 进行预订,那么第二个客户将看到有人已经预订了该特定时间段,这样就不会发生重复预订。

此外,如果客户在调度程序上进行预订,那么管理员还将实时查看预订。

目前我们将调度程序插入数据库没有问题,从那里我们想将新创建的预订广播给当时正在查看调度程序的所有其他人。

  1. 可以这样做吗?如果有任何想法。

如果需要,我可以为我们到目前为止所做的工作提供代码。

我的想法是在 ActionScript 方法中广播新的调度程序预订,然后从那里向客户广播新的预订。

      public ActionResult Tasks_Create([DataSourceRequest]DataSourceRequest request, TaskViewModel task)
    {

        if (ModelState.IsValid)
        {
            using (var sampleDB = new SampleEntities())
                            {
                //Create a new Task entity and set its properties from the posted TaskViewModel
                var entity = new Task
                {
                    TaskID = task.TaskID,
                    Title = task.Title,
                    Start = task.Start,
                    End = task.End,
                    Description = task.Description,
                    RecurrenceRule = task.RecurrenceRule,
                    RecurrenceException = task.RecurrenceException,
                    RecurrenceID = task.RecurrenceID,
                    IsAllDay = task.IsAllDay,
                    OwnerID = task.OwnerID
                };
                sampleDB.Tasks.Add(entity);
                sampleDB.SaveChanges();
                task.TaskID = entity.TaskID;
            }
        }


(i was thinking to broadcast the new booking here using signalr ????)

       return Json(new[] { task }.ToDataSourceResult(request, ModelState));


    }
4

1 回答 1

1

是的,它可以完成(并且从您的控制器操作中进行广播是一种合理的方法)。您可能希望为查看相同数据的人创建一个组。查看文档中有关如何从非集线器类调用客户端集线器方法的这一部分。

于 2014-01-30T03:00:20.730 回答