Subversion Repository Public Repository

Nextrek

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Windows.Storage.Streams;

namespace App1.DataModel
{
    class DataLoader
    {
        private static String fileName = "pagesMOD.json";
        private static String Data;
        public static ObservableCollection<Pagina> pagine;
        public static String data
        {
            get
            {
                return Data;
            }
        }

        private static async Task readData()
        {

            String ret = "";

            Stream stream;
            try
            {
                var file = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(fileName);//   .OpenStreamForReadAsync(fileName);
                var str = await file.OpenReadAsync();

                stream = str.AsStreamForRead();
                IInputStream inputStream = str.GetInputStreamAt((ulong)0);
                uint fileSize = (uint)str.Size;

                DataReader dr = new DataReader(inputStream);
                await dr.LoadAsync(fileSize);

                ret = dr.ReadString(fileSize);
                Data = ret;
            }
            catch
            {

                Windows.UI.Popups.MessageDialog dialog =

                new Windows.UI.Popups.MessageDialog("Error on reading local data.If this is the first time the App is launched, make sure you are connected to Internet.");


                dialog.ShowAsync();

            }

        }

            public static ObservableCollection<Pagina> getPagine() {
            if (pagine == null || pagine.Count==0)
            {
                pagine = new ObservableCollection<Pagina>();

                try
                {
                    if (Data != null && Data != "")
                    {
                        JsonTextReader jsReader = new JsonTextReader(new StringReader(Data));
                        JObject jobj = JObject.Load(jsReader);
                        var head = jobj.SelectToken("pages");
                        Pagina pagina;

                        foreach (var child in head.Children())
                        {
                            pagina = new Pagina();

                           // pagina.parseJson(child);
                            pagine.Add(pagina);
                        }
                        //sostituire questa riga con una mappa<String,Pagina> dove string è l'id della pagina e pagina è la pagina stessa
                        pagine = new ObservableCollection<Pagina>(pagine.OrderBy<Pagina, string>(pag => pag.id));




                    }

                }
                catch
                {
                    Windows.UI.Popups.MessageDialog dialog =

                        new Windows.UI.Popups.MessageDialog("Error on parsing json.");


                    dialog.ShowAsync();
                
                }
            }
            
            
           return pagine;
        }





        }

    
}

Commits for Nextrek/Windows8/Minstrek/Walkinback/App1/DataModel/DataLoader.cs

Diff revisions: vs.
Revision Author Commited Message
14 FMMortaroli picture FMMortaroli Mon 24 Jun, 2013 21:19:06 +0000