我需要在我的 MVC3 项目中执行 DHTMLX Recurring 事件。对于重复发生的事件,我需要设置我的控制器代码来存储和检索额外的 DB 值,如 rec_type、event_pid。
我已经完成了简单事件的基本编码。但我不知道如何为重复发生的事件写作。在演示站点本身中显示它在 PHP 上。这是教程链接(这里)。请为我提供 C# 环境的逻辑。
简单事件创建/更新/删除
public ActionResult Save(Event changedEvent, FormCollection actionValues)
{
var a = "Z";
String action_type = actionValues["!nativeeditor_status"];
Int64 source_id = Int64.Parse(actionValues["id"]);
Int64 target_id = source_id;
string category = actionValues["category"];
string title = actionValues["title"];
string description = actionValues["text"];
if (actionValues["rec_type"] != "")
{
changedEvent.Rec_Type = actionValues["rec_type"];
}
else
changedEvent.Rec_Type = "";
if (actionValues["event_length"] != "")
{
changedEvent.Event_Length = Convert.ToInt32(actionValues["event_length"]);
}
else
changedEvent.Event_Length = 0;
if (actionValues["event_pid"] != "")
{
changedEvent.Event_Pid = Convert.ToInt16(actionValues["event_pid"]);
}
else
changedEvent.Event_Pid = 0;
String catg = category;
changedEvent.UserId = 1;
changedEvent.Category = catg;
changedEvent.Description = description;
changedEvent.Title = title;
try
{
switch (action_type)
{
case "inserted":
changedEvent.UserId = 1;
changedEvent.Category = catg;
db.Events.AddObject(changedEvent);
break;
case "deleted":
changedEvent = db.Events.SingleOrDefault(ev => ev.Id == source_id);
db.Events.DeleteObject(changedEvent);
break;
default: // "updated"
db.Events.Attach(changedEvent);
db.ObjectStateManager.ChangeObjectState(changedEvent, System.Data.EntityState.Modified);
db.SaveChanges();
break;
}
db.SaveChanges();
target_id = changedEvent.Id;
}
catch
{
action_type = "error";
}
return View(new CalendarActionResponseModel(action_type, source_id, target_id, catg));
}
谢谢。