Exemplo n.º 1
0
        private async void RebuildDcr(string rawDcr, string editWindowString, bool buildInMemoryDcr = true)
        {
            var dcrGraph = _dcrGraph;

            try
            {
                var svg = await DcrToSvg.GetSvgFromDcr(rawDcr);

                var settings = new WpfDrawingSettings
                {
                    IncludeRuntime = true,
                    TextAsGeometry = true,
                    OptimizePath   = true
                };

                var converter = new FileSvgReader(settings);

                var drawingGroup = converter.Read(new MemoryStream(Encoding.UTF8.GetBytes(svg)));

                Model.DcrImage = new DrawingImage(drawingGroup);

                if (buildInMemoryDcr)
                {
                    dcrGraph = new DcrGraph(rawDcr, dcrGraph?.StrictActivities, editWindowString, Model.CurrentGraphName);
                }
            }
            catch (Exception e)
            {
                return;
            }
            _dcrGraph = dcrGraph;


            Model.Events.Clear();
            foreach (var activity in _dcrGraph.GetExecutableActivityNames())
            {
                Model.Events.Add(activity);
            }
        }