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 @@ -22,8 +22,16 @@ namespace ICSharpCode.SharpDevelop.Gui.Dialogs.ReferenceDialog.ServiceReference
void okButtonClick(object sender, RoutedEventArgs e)
{
this.DialogResult = true;
Close();
if (CanAddServiceReference()) {
this.DialogResult = true;
Close();
}
}
bool CanAddServiceReference()
{
var dc = (AddServiceReferenceViewModel)DataContext;
return dc.CanAddServiceReference();
}
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 @@ -61,13 +61,18 @@ namespace ICSharpCode.SharpDevelop.Gui.Dialogs.ReferenceDialog.ServiceReference
void DiscoverServices()
{
Uri uri = TryGetUri(SelectedService);
Uri uri = TryGetUri();
if (uri != null) {
ServiceDescriptionMessage = waitMessage;
StartDiscovery(uri);
}
}
Uri TryGetUri()
{
return TryGetUri(selectedService);
}
Uri TryGetUri(string url)
{
if (String.IsNullOrEmpty(url)) {
@ -264,19 +269,35 @@ namespace ICSharpCode.SharpDevelop.Gui.Dialogs.ReferenceDialog.ServiceReference @@ -264,19 +269,35 @@ namespace ICSharpCode.SharpDevelop.Gui.Dialogs.ReferenceDialog.ServiceReference
ServiceItems = items;
}
public bool CanAddServiceReference()
{
return GetServiceUri() != null;
}
public void AddServiceReference()
{
CompilerMessageView.Instance.BringToFront();
Uri uri = GetServiceUri();
if (uri == null)
return;
try {
serviceGenerator.Options.Namespace = defaultNameSpace;
serviceGenerator.Options.Url = discoveryUri.ToString();
serviceGenerator.Options.Url = uri.ToString();
serviceGenerator.AddServiceReference();
new RefreshProjectBrowser().Run();
} catch (Exception ex) {
ICSharpCode.Core.LoggingService.Error("Failed to add service reference.", ex);
}
}
Uri GetServiceUri()
{
if (discoveryUri != null) {
return discoveryUri;
}
return TryGetUri();
}
}
public class ImageAndDescription

Loading…
Cancel
Save