public GetDesktopFiltersResponse GetDesktopFilters(GetDesktopFiltersRequest request) { try { if (request == null) { throw new ArgumentNullException("request"); } GetDesktopFiltersResponse response = new GetDesktopFiltersResponse(); response.Filters = new DesktopFilterDataCollection(); IEnumerable <DesktopFilter> filters = Locator.Get <IFilterManager>().GetDesktopFilters(); response.Filters.AddRange((from f in filters select DesktopFilterTranslator.Translate(f)).ToList()); return(response); } catch (Exception ex) { throw new FaultException <DeviceConnectorServiceFault>(new DeviceConnectorServiceFault(ex.Message, ex), ex.Message); } }
public void GetDesktopFilters(EventHandler <AsyncWorkerCallbackEventArgs <IList <DesktopFilter> > > callback) { try { AsyncWorkerHandle <IList <DesktopFilter> > handle = AsyncWorkerHelper.DoWork <IList <DesktopFilter> >( delegate(object sender, DoWorkEventArgs e) { List <DesktopFilter> filters = new List <DesktopFilter>(); GetDesktopFiltersRequest request = new GetDesktopFiltersRequest(); GetDesktopFiltersResponse response = ServiceProvider.GetService <IDeviceConnectorService, IDeviceConnectorCallbackService>( ViewModelLocator.ServiceClient, ViewModelLocator.SelectedService.HostName, ViewModelLocator.SelectedService.Uri.ToString() ).GetDesktopFilters(request); if (response.Filters != null) { foreach (var item in response.Filters) { DesktopFilter filter = new DesktopFilter(item.Name, item.Index) { Primary = item.IsPrimary, Bounds = item.Bounds }; filters.Add(filter); } } e.Result = filters; }, null, callback); } catch (Exception ex) { ExceptionHandler.Handle(ex); } }