public static async Task SendMessage <T>(T data) where T : class
        {
            if (data is null)
            {
                return;
            }

            try
            {
                var jsonData = await Task.Run(() => JsonConvert.SerializeObject(data)).ConfigureAwait(false);

                var eventMessage = new Message(Encoding.UTF8.GetBytes(jsonData));

                await SendEvent(eventMessage).ConfigureAwait(false);
            }
            catch (Exception e)
            {
                AppCenterService.Report(e);
                OnIoTDeviceServiceFailed(e.Message);
            }
        }
Exemple #2
0
        public static Task <Location> GetLocation()
        {
            var tcs = new TaskCompletionSource <Location>();

            Device.BeginInvokeOnMainThread(async() =>
            {
                try
                {
                    var location = await Geolocation.GetLocationAsync(GeolocationRequest).ConfigureAwait(false);
                    tcs.SetResult(location);
                }
                catch (Exception e)
                {
                    OnGeolocationFailed(e);
                    AppCenterService.Report(e);

                    tcs.SetException(e);
                }
            });

            return(tcs.Task);
        }