public async void ExecuteFindServicesCommand(object parameter) { Busy = true; BusyContent = "Searching Service Registry"; await Task.Factory.StartNew(() => { var visService = new VisService(); try { List <string> ServiceProviderIdsList = null; if (!string.IsNullOrEmpty(ServiceProviderIds)) { string[] s = ServiceProviderIds.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); ServiceProviderIdsList = s.ToList(); } List <string> KeywordsList = null; if (!string.IsNullOrEmpty(Keywords)) { string[] s = Keywords.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); KeywordsList = s.ToList(); } Services = visService.FindServices("WKT", Area, UnloCode, ServiceProviderIdsList, ServiceDesignId, ServiceInstanceId, Mmsi, Imo, ServiceType, ServiceStatus, KeywordsList, FreeText, 0, 1000); } catch (Exception ex) { MessageBox.Show(ex.Message); } }); Busy = false; }