Ejemplo n.º 1
0
        public void UpdateActivityTemplate(string templateID, string activityKey)
        {
            if (this._mainPageVW.SelectedItem == null)
            {
                return;
            }

            var form = _mainPageVW.SelectedItem.Content as UserControl;

            if (form == null)
            {
                return;
            }

            var diagram = form.FindName("mainDiagram") as Northwoods.GoXam.Diagram;

            if (diagram == null)
            {
                return;
            }

            ActivityNode newNode = null;

            if (diagram.SelectedPart != null)
            {
                if (diagram.SelectedPart.Data != null)
                {
                    newNode = diagram.SelectedPart.Data as ActivityNode;
                }
            }
            if (newNode == null)
            {
                DiagramPageViewModel datacontex = diagram.DataContext  as DiagramPageViewModel;

                foreach (ActivityNode item in  datacontex.DiagramModel.NodesSource)
                {
                    if (string.Compare(item.Key, activityKey) == 0)
                    {
                        newNode = item;
                        break;
                    }
                }
            }

            newNode = newNode.WfClone(templateID);

            this.mainPalette.StartTransaction("AddNewNode");
            this.mainPalette.Model.AddNode(newNode);
            this.mainPalette.CommitTransaction("AddNewNode");

            this._mainPageVW.TemplateKeys.Add(templateID);
        }
Ejemplo n.º 2
0
        public void ContextMenuTemplate_Click(object sender, RoutedEventArgs e)
        {
            string templateID = Guid.NewGuid().ToString();

            HtmlPage.Window.Invoke("SaveActivityTemplate", templateID);

            ActivityNode nodeData = ((Northwoods.GoXam.PartManager.PartBinding)((sender as FrameworkElement).DataContext)).Data as ActivityNode;

            //保存到数据库
            DiagramUtils.WebInterAct.SaveActivityTemplate(templateID);
            //保存到palette中
            DiagramUtils.AddActivityTemplate(this.mainDiagram, nodeData.WfClone(templateID));
            DiagramUtils.GetTemplateKeys(this.mainDiagram).Add(templateID);
        }