Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }