Exemplo n.º 1
0
        private async Task GetAsync()
        {
            StorageFile file = await ApplicationData.Current.LocalFolder.CreateFileAsync("Reports.json", CreationCollisionOption.OpenIfExists);

            string jsonString = await FileIO.ReadTextAsync(file, Windows.Storage.Streams.UnicodeEncoding.Utf8);

            if (jsonString == string.Empty)
            {
                HttpClient client = null;

                try
                {
                    client     = new HttpClient();
                    jsonString = await client.GetStringAsync("https://dl.dropboxusercontent.com/u/64185161/Reports.json");

                    if (jsonString != null && jsonString != string.Empty)
                    {
                        await FileIO.WriteTextAsync(file, jsonString);
                    }
                }
                catch (Exception e)
                {
                    await new MessageDialog(e.Message, "Get Reports Error").ShowAsync();
                }
                finally
                {
                    if (client != null)
                    {
                        client.Dispose();
                    }
                }
            }

            if (jsonString.Equals(string.Empty) && jsonString == null)
            {
                return;
            }

            DiagnosticReport report       = new DiagnosticReport();
            Reconnection     reconnection = new Reconnection();

            JsonObject jsonObject   = JsonObject.Parse(jsonString);
            JsonObject ticketObject = jsonObject["ticket"].GetObject();

            JsonArray reportArray = ticketObject["reports"].GetArray();

            GetReports(report, reportArray);

            JsonObject reconnectionObject = ticketObject["reconnection"].GetObject();

            GetReconnection(reconnection, reconnectionObject);

            this.repository.Reconnection     = reconnection;
            this.repository.DiagnosticReport = report;
        }
Exemplo n.º 2
0
        private void GetReconnection(Reconnection reconnection, JsonObject jsonObject)
        {
            JsonArray jsonArray = jsonObject["languages"].GetArray();

            foreach (JsonValue itemValue in jsonArray)
            {
                Language   language   = new Language();
                JsonObject itemObject = itemValue.GetObject();
                language.Id      = (int)itemObject["id"].GetNumber();
                language.Name    = itemObject["language"].GetString();
                language.Content = itemObject["content"].GetString();

                reconnection.Items.Add(language);
            }
        }