Browse Source

Prevent service generation when no url specified.

pull/6/merge
Matt Ward 14 years ago
parent
commit
38724c86cc
  1. 12
      src/Main/Base/Project/Src/Gui/Dialogs/ReferenceDialog/ServiceReference/AddServiceReferenceDialog.xaml.cs
  2. 25
      src/Main/Base/Project/Src/Gui/Dialogs/ReferenceDialog/ServiceReference/AddServiceReferenceViewModel.cs

12
src/Main/Base/Project/Src/Gui/Dialogs/ReferenceDialog/ServiceReference/AddServiceReferenceDialog.xaml.cs

@ -22,8 +22,16 @@ namespace ICSharpCode.SharpDevelop.Gui.Dialogs.ReferenceDialog.ServiceReference
void okButtonClick(object sender, RoutedEventArgs e) void okButtonClick(object sender, RoutedEventArgs e)
{ {
this.DialogResult = true; if (CanAddServiceReference()) {
Close(); this.DialogResult = true;
Close();
}
}
bool CanAddServiceReference()
{
var dc = (AddServiceReferenceViewModel)DataContext;
return dc.CanAddServiceReference();
} }
void cancelButtonClick(object sender, RoutedEventArgs e) void cancelButtonClick(object sender, RoutedEventArgs e)

25
src/Main/Base/Project/Src/Gui/Dialogs/ReferenceDialog/ServiceReference/AddServiceReferenceViewModel.cs

@ -61,13 +61,18 @@ namespace ICSharpCode.SharpDevelop.Gui.Dialogs.ReferenceDialog.ServiceReference
void DiscoverServices() void DiscoverServices()
{ {
Uri uri = TryGetUri(SelectedService); Uri uri = TryGetUri();
if (uri != null) { if (uri != null) {
ServiceDescriptionMessage = waitMessage; ServiceDescriptionMessage = waitMessage;
StartDiscovery(uri); StartDiscovery(uri);
} }
} }
Uri TryGetUri()
{
return TryGetUri(selectedService);
}
Uri TryGetUri(string url) Uri TryGetUri(string url)
{ {
if (String.IsNullOrEmpty(url)) { if (String.IsNullOrEmpty(url)) {
@ -264,19 +269,35 @@ namespace ICSharpCode.SharpDevelop.Gui.Dialogs.ReferenceDialog.ServiceReference
ServiceItems = items; ServiceItems = items;
} }
public bool CanAddServiceReference()
{
return GetServiceUri() != null;
}
public void AddServiceReference() public void AddServiceReference()
{ {
CompilerMessageView.Instance.BringToFront(); CompilerMessageView.Instance.BringToFront();
Uri uri = GetServiceUri();
if (uri == null)
return;
try { try {
serviceGenerator.Options.Namespace = defaultNameSpace; serviceGenerator.Options.Namespace = defaultNameSpace;
serviceGenerator.Options.Url = discoveryUri.ToString(); serviceGenerator.Options.Url = uri.ToString();
serviceGenerator.AddServiceReference(); serviceGenerator.AddServiceReference();
new RefreshProjectBrowser().Run(); new RefreshProjectBrowser().Run();
} catch (Exception ex) { } catch (Exception ex) {
ICSharpCode.Core.LoggingService.Error("Failed to add service reference.", ex); ICSharpCode.Core.LoggingService.Error("Failed to add service reference.", ex);
} }
} }
Uri GetServiceUri()
{
if (discoveryUri != null) {
return discoveryUri;
}
return TryGetUri();
}
} }
public class ImageAndDescription public class ImageAndDescription

Loading…
Cancel
Save