public void Configure() { var item = (WebReferenceItem)CurrentNode.DataItem; if (!WCFConfigWidget.IsSupported(item)) { return; } WCF.ReferenceGroup refgroup; WCF.ClientOptions options; try { refgroup = WCF.ReferenceGroup.Read(item.MapFile.FilePath); if (refgroup == null || refgroup.ClientOptions == null) { return; } options = refgroup.ClientOptions; } catch { return; } var dialog = new WebReferenceDialog(item, options); try { if (MessageService.RunCustomDialog(dialog) != (int)Gtk.ResponseType.Ok) { return; } if (!dialog.Modified) { return; } refgroup.Save(item.MapFile.FilePath); UpdateReferences(new [] { item }); } catch (Exception exception) { LoggingService.LogInternalError(exception); } finally { dialog.Destroy(); dialog.Dispose(); } }
void CanConfigureWebReferences(CommandInfo ci) { var item = CurrentNode.DataItem as WebReferenceItem; ci.Enabled = item != null && WCFConfigWidget.IsSupported(item); }