I need to create a view and add elements to it. Therefore I try to execute following code:
IDmsView rootView = dms.GetView(viewId);
ViewConfiguration edgeDevicesSourceViewConfiguration = new ViewConfiguration("1. Edge Devices - Source [VSG]", rootView);
IDmsView edgeDevicesSourceView = dms.GetView(dms.CreateView(edgeDevicesSourceViewConfiguration));
Unfortunately this results in a ViewNotFoundException.
What is the best way to retrieve my new view?
I guess adding this method in a loop, but what is the max time to wait to prevent an infinite loop?
Hi. Wondering what's the best way to have this working out. I've tried to create 2 views one after the other, as subviews, but it fails to get the newly created view, after the second one.
private void BuildByHand()
{
IDmsView dmsRootView = dms.GetView("dmsRootView");
engine.GenerateInformation($"GetView(\"dmsRootView\") {dmsRootView.Id}");
engine.GenerateInformation($"Create view {dmsRootView.Name}\\Subview1");
var subview1Configuration = new ViewConfiguration("Subview1", dmsRootView);
int subview1ViewId = dms.CreateView(subview1Configuration);
engine.GenerateInformation($"Subview1 View ID: {subview1ViewId}");
Thread.Sleep(5000);
IDmsView subview1View = dms.GetView(subview1ViewId);
engine.GenerateInformation($"GetView(\"Subview1\") {subview1View.Id}");
engine.GenerateInformation($"Create view {subview1View.Name}\\Subview2");
var subview2Configuration = new ViewConfiguration("Subview2", subview1View);
int subview2ViewId = dms.CreateView(subview2Configuration);
engine.GenerateInformation($"subview2 View ID: {subview2ViewId}");
Thread.Sleep(5000);
IDmsView subview2View = dms.GetView(subview2ViewId);
engine.GenerateInformation($"GetView(\"Subview2\") {subview2View.Id}");
}
Thanks
Actually this should be working. The name of the view should be unique on the dms system.