private async Task DiscoverService(KnownService knownService)
        {
            try
            {
                _userDialogs.ShowLoading($"Discovering service {knownService.Id}...");

                var service = await _device.GetServiceAsync(knownService.Id);

                Services = service != null ? new List <Service> {
                    service
                } : new List <Service>();
                await RaisePropertyChanged(nameof(Services));

                if (service == null)
                {
                    _userDialogs.Toast($"Service not found: '{knownService}'", TimeSpan.FromSeconds(3));
                }
            }
            catch (Exception ex)
            {
                await _userDialogs.AlertAsync(ex.Message, "Error while discovering services");

                Trace.Message(ex.Message);
            }
            finally
            {
                _userDialogs.HideLoading();
            }
        }
Example #2
0
        /// <summary>
        /// Load Items From Json
        /// </summary>
        public static void LoadItemsFromJson()
        {
            _items = new Dictionary <Guid, KnownService>();
            //TODO: switch over to ServiceStack.Text when it gets bound.
            KnownService service   = new KnownService();
            var          itemsJson = ResourceLoader.GetEmbeddedResourceString(typeof(KnownServices).GetTypeInfo().Assembly,
                                                                              "KnownServices.json");
            var json = JToken.Parse(itemsJson);

            foreach (var item in json.Children())
            {
                var prop = item as JProperty;
                if (prop != null)
                {
                    service = new KnownService {
                        Name = prop.Value.ToString(), ID = Guid.ParseExact(prop.Name, "d")
                    }
                }
                ;
                _items.Add(service.ID, service);
            }
        }

        #endregion
    }