Back to Devexpress

MVCxDiagramEdgeUpdateValues<TEdge, TKey> Class

aspnetmvc-devexpress-dot-web-dot-mvc-dot-mvcxdiagramedgeupdatevalues-2.md

latest3.2 KB
Original Source

MVCxDiagramEdgeUpdateValues<TEdge, TKey> Class

Contains information about updated diagram edges.

Namespace : DevExpress.Web.Mvc

Assembly : DevExpress.Web.Mvc5.v25.2.dll

NuGet Package : DevExpress.Web.Mvc5

Declaration

csharp
public class MVCxDiagramEdgeUpdateValues<TEdge, TKey> :
    MVCxDiagramItemUpdateValues<TEdge, TKey>
    where TEdge : new()
vb
Public Class MVCxDiagramEdgeUpdateValues(Of TEdge As New, TKey)
    Inherits MVCxDiagramItemUpdateValues(Of TEdge, TKey)

Type Parameters

NameDescription
TEdge

The type of edge.

| | TKey |

The type of edge key.

|

Remarks

cshtml
@Html.DevExpress().Diagram(settings => {
    settings.Name = "Diagram";

    settings.BatchUpdateRouteValues = new { Controller = "DataBinding", Action = "NodesAndEdgesUpdate" };

    settings.Mappings.Node.Key = "ID";

    settings.Mappings.Edge.Key = "ID";
    settings.Mappings.Edge.FromKey = "FromID";
    settings.Mappings.Edge.ToKey = "ToID";

}).Bind(Model.Objects, Model.Connections).GetHtml()
cs
public ActionResult NodesAndEdgesUpdate(MVCxDiagramNodeUpdateValues<EditableFlowObject, int> 
        nodeUpdateValues, MVCxDiagramEdgeUpdateValues<EditableFlowConnection, int> edgeUpdateValues) {
            foreach(var item in nodeUpdateValues.Update)
                WorkflowDataProvider.UpdateObject(item);
            foreach(var itemKey in nodeUpdateValues.DeleteKeys)
                WorkflowDataProvider.DeleteObject(itemKey);
            foreach(var item in nodeUpdateValues.Insert) {
                var insertedItem = WorkflowDataProvider.InsertObject(item);
                nodeUpdateValues.MapInsertedItemKey(item, insertedItem.ID);
            }

            foreach(var item in edgeUpdateValues.Update)
                WorkflowDataProvider.UpdateConnection(item);
            foreach(var itemKey in edgeUpdateValues.DeleteKeys)
                WorkflowDataProvider.DeleteConnection(itemKey);
            foreach(var item in edgeUpdateValues.Insert) {
                var insertedItem = WorkflowDataProvider.InsertConnection(item);
                edgeUpdateValues.MapInsertedItemKey(item, insertedItem.ID);
            }

            return DiagramExtension.GetBatchUpdateResult(nodeUpdateValues, edgeUpdateValues);
        }

Run Demo: Node and Edge Data Sources

Inheritance

Object MVCxBatchUpdateValues<TEdge, TKey> MVCxDiagramItemUpdateValues<TEdge, TKey> MVCxDiagramEdgeUpdateValues<TEdge, TKey>

See Also

MVCxDiagramEdgeUpdateValues<TNode, TKey> Members

DevExpress.Web.Mvc Namespace