public static DhtmlxRequest ParseEventRequest(FormCollection form) { var currentCulture = Thread.CurrentThread.CurrentCulture; Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; var request = new DhtmlxRequest(); request.SourceId = Int64.Parse(form["id"]); request.Action = (DhtmlxAction)Enum.Parse(typeof(DhtmlxAction), form["!nativeeditor_status"], true); if (request.Action != DhtmlxAction.Deleted) { request.UpdatedEvent = new Event() { Id = (request.Action == DhtmlxAction.Updated) ? (int)request.SourceId : 0, Text = form["text"], StartDate = DateTime.Parse(form["start_date"]), EndDate = DateTime.Parse(form["end_date"]), Type = (form["type"] != null) ? form["type"] : "", }; } Thread.CurrentThread.CurrentCulture = currentCulture; return(request); }
public static List <DhtmlxRequest> Parse(FormCollection form, string mode) { // save current culture and change it to InvariantCulture for data parsing var currentCulture = Thread.CurrentThread.CurrentCulture; Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; var dataActions = new List <DhtmlxRequest>(); var prefixes = form["ids"].Split(','); foreach (var prefix in prefixes) { var request = new DhtmlxRequest(); // lambda expression for form data parsing Func <string, string> parse = x => form[String.Format("{0}_{1}", prefix, x)]; request.Mode = (GanttMode)Enum.Parse(typeof(GanttMode), mode, true); request.Action = (DhtmlxAction)Enum.Parse(typeof(DhtmlxAction), parse("!nativeeditor_status"), true); request.SourceId = Int64.Parse(parse("id")); // parse gantt task if (request.Action != DhtmlxAction.Deleted && request.Mode == GanttMode.Tasks) { request.UpdatedTask = new Task() { Id = (request.Action == DhtmlxAction.Updated) ? (int)request.SourceId : 0, Text = parse("text"), StartDate = DateTime.Parse(parse("start_date")), Duration = Int32.Parse(parse("duration")), Progress = (parse("progress") != null)? Decimal.Parse(parse("progress")) : 0, ParentId = (parse("parent") != "0") ? Int32.Parse(parse("parent")) : (int?)null, SortOrder = (parse("order") != null) ? Int32.Parse(parse("order")) : 0, Type = parse("type") }; } // parse gantt link else if (request.Action != DhtmlxAction.Deleted && request.Mode == GanttMode.Links) { request.UpdatedLink = new Link() { Id = (request.Action == DhtmlxAction.Updated) ? (int)request.SourceId : 0, SourceTaskId = Int32.Parse(parse("source")), TargetTaskId = Int32.Parse(parse("target")), Type = parse("type") }; } dataActions.Add(request); } // return current culture back Thread.CurrentThread.CurrentCulture = currentCulture; return(dataActions); }
public static List<DhtmlxRequest> Parse(FormCollection form, string mode) { // save current culture and change it to InvariantCulture for data parsing var currentCulture = Thread.CurrentThread.CurrentCulture; Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; var dataActions = new List<DhtmlxRequest>(); var prefixes = form["ids"].Split(','); foreach (var prefix in prefixes) { var request = new DhtmlxRequest(); // lambda expression for form data parsing Func<string, string> parse = x => form[String.Format("{0}_{1}", prefix, x)]; request.Mode = (GanttMode)Enum.Parse(typeof(GanttMode), mode, true); request.Action = (DhtmlxAction)Enum.Parse(typeof(DhtmlxAction), parse("!nativeeditor_status"), true); request.SourceId = Int64.Parse(parse("id")); // parse gantt task if (request.Action != DhtmlxAction.Deleted && request.Mode == GanttMode.Tasks) { request.UpdatedTask = new Task() { Id = (request.Action == DhtmlxAction.Updated) ? (int)request.SourceId : 0, Text = parse("text"), StartDate = DateTime.Parse(parse("start_date")), Duration = Int32.Parse(parse("duration")), Progress = (parse("progress") != null)? Decimal.Parse(parse("progress")) : 0, ParentId = (parse("parent") != "0") ? Int32.Parse(parse("parent")) : (int?)null, SortOrder = (parse("order") != null) ? Int32.Parse(parse("order")) : 0, Type = parse("type") }; } // parse gantt link else if (request.Action != DhtmlxAction.Deleted && request.Mode == GanttMode.Links) { request.UpdatedLink = new Link() { Id = (request.Action == DhtmlxAction.Updated) ? (int)request.SourceId : 0, SourceTaskId = Int32.Parse(parse("source")), TargetTaskId = Int32.Parse(parse("target")), Type = parse("type") }; } dataActions.Add(request); } // return current culture back Thread.CurrentThread.CurrentCulture = currentCulture; return dataActions; }
private ContentResult EventRespose(DhtmlxRequest eventData) { var actions = new List<XElement>(); var action = new XElement("action"); action.SetAttributeValue("type", eventData.Action.ToString().ToLower()); action.SetAttributeValue("sid", eventData.SourceId); action.SetAttributeValue("tid", (eventData.Action != DhtmlxAction.Inserted) ? eventData.SourceId : eventData.UpdatedEvent.Id); actions.Add(action); var data = new XDocument(new XElement("data", actions)); data.Declaration = new XDeclaration("1.0", "utf-8", "true"); return Content(data.ToString(), "text/xml"); }
public static DhtmlxRequest ParseEventRequest(FormCollection form) { var currentCulture = Thread.CurrentThread.CurrentCulture; Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; var request = new DhtmlxRequest(); request.SourceId = Int64.Parse(form["id"]); request.Action = (DhtmlxAction)Enum.Parse(typeof(DhtmlxAction), form["!nativeeditor_status"], true); if (request.Action != DhtmlxAction.Deleted) { request.UpdatedEvent = new Event() { Id = (request.Action == DhtmlxAction.Updated) ? (int)request.SourceId : 0, Text = form["text"], StartDate = DateTime.Parse(form["start_date"]), EndDate = DateTime.Parse(form["end_date"]), Type = (form["type"] != null) ? form["type"] : "", }; } Thread.CurrentThread.CurrentCulture = currentCulture; return request; }
/// <summary> /// Update gantt tasks /// </summary> /// <param name="ganttData">GanttData object</param> private void UpdateTasks(DhtmlxRequest ganttData) { switch (ganttData.Action) { case DhtmlxAction.Inserted: // add new gantt task entity long? parent = ganttData.UpdatedTask.ParentId; int projectID = -1; while (parent != null) { projectID = (int)parent; parent = _ganttService.GetTask((long)parent).ParentId; } ganttData.UpdatedTask.ProjectId = projectID ; _ganttService.InsertTask(ganttData.UpdatedTask); break; case DhtmlxAction.Deleted: // remove gantt task _ganttService.DeleteTaskLinks(ganttData.SourceId); _ganttService.DeleteTask(_ganttService.GetTask(ganttData.SourceId)); break; case DhtmlxAction.Updated: // update gantt task _ganttService.UpdateTask(ganttData.UpdatedTask); //db.Entry(db.Tasks.Find(ganttData.UpdatedTask.Id)).CurrentValues.SetValues(ganttData.UpdatedTask); break; default: ganttData.Action = DhtmlxAction.Error; break; } }
/// <summary> /// Update gantt links /// </summary> /// <param name="ganttData">GanttData object</param> private void UpdateLinks(DhtmlxRequest ganttData) { switch (ganttData.Action) { case DhtmlxAction.Inserted: // add new gantt link entity ganttData.UpdatedLink.ProjectId = _ganttService.GetTask(ganttData.UpdatedLink.SourceTaskId).ProjectId; _ganttService.InsertLink(ganttData.UpdatedLink); break; case DhtmlxAction.Deleted: // remove gantt link _ganttService.DeleteLink(_ganttService.GetLink(ganttData.SourceId)); break; case DhtmlxAction.Updated: // update gantt link _ganttService.UpdateLink(ganttData.UpdatedLink); //db.Entry(db.Tasks.Find(ganttData.UpdatedTask.Id)).CurrentValues.SetValues(ganttData.UpdatedTask); break; default: ganttData.Action = DhtmlxAction.Error; break; } }