public void UpdateEntity(IRoslynBasedModelEntity entity, INamedTypeSymbol roslynSymbol)
 {
     entity.RoslynSymbol = roslynSymbol;
     base.UpdateEntity(entity,
                       roslynSymbol.GetName(),
                       roslynSymbol.GetFullName(),
                       roslynSymbol.GetDescription());
 }
示例#2
0
 private async Task <IReadOnlyList <IDiagramNode> > ExtendDiagramAsync(IRoslynBasedModelEntity modelEntity,
                                                                       CancellationToken cancellationToken, IIncrementalProgress progress)
 {
     return(await Task.Run(() => DiagramServices.ShowEntityWithHierarchy(modelEntity, cancellationToken, progress), cancellationToken));
 }
示例#3
0
        private async Task <IReadOnlyList <IDiagramNode> > ExtendModelAndDiagramAsync(IRoslynBasedModelEntity modelEntity)
        {
            IReadOnlyList <IDiagramNode> diagramNodes = null;

            using (var progressDialog = UiServices.CreateProgressDialog("Extending model with entities:"))
            {
                progressDialog.ShowWithDelayAsync();

                try
                {
                    await ExtendModelWithRelatedEntitiesAsync(modelEntity, progressDialog.CancellationToken, progressDialog.Progress);

                    progressDialog.Reset("Adding diagram nodes:");

                    diagramNodes = await ExtendDiagramAsync(modelEntity, progressDialog.CancellationToken, progressDialog.Progress);
                }
                catch (OperationCanceledException)
                {
                }
            }

            return(diagramNodes);
        }