Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            ArrayList descriçoes = LerLocais(@"../../Descriçao.json");

            for (int i = 0; i < descriçoes.Count; i++)
            {
                // Para cada local que se encontra no ArrayList descriçoes, vai dessarializar um ficheiro de previsao json para a classe PrevisaoIPMA, para
                // que seja armazanada a descriçao de cada local, graças ao ArrayList descriçoes
                PrevisaoIPMA previsaoIPMA = LerFicheiroPrevisao(((Descricao)descriçoes[i]).globalIdLocal);

                previsaoIPMA.local       = ((Descricao)descriçoes[i]).Local;
                previsaoIPMA.idRegiao    = ((Descricao)descriçoes[i]).idRegiao;
                previsaoIPMA.idDistrito  = ((Descricao)descriçoes[i]).idDistrito;
                previsaoIPMA.idConcelho  = ((Descricao)descriçoes[i]).idConcelho;
                previsaoIPMA.idAreaAviso = ((Descricao)descriçoes[i]).idAreaAviso;
                previsaoIPMA.latitude    = ((Descricao)descriçoes[i]).latitude;
                previsaoIPMA.longitude   = ((Descricao)descriçoes[i]).longitude;

                // Caso for encontrado o globalIdLocal, vai ser serializado pela classe PrevisaoIPMA para um ficheiro json e xml
                if (previsaoIPMA.globalIdLocal.Equals(previsaoIPMA.globalIdLocal))
                {
                    string aux = Newtonsoft.Json.JsonConvert.SerializeObject(previsaoIPMA, Newtonsoft.Json.Formatting.Indented);
                    File.WriteAllText(@"../../Previsões Detalhe/" + previsaoIPMA.globalIdLocal + "-detalhe.json", aux);

                    XmlSerializer x = new XmlSerializer(previsaoIPMA.GetType());

                    //para ficheiro
                    TextWriter writer = new StreamWriter(@"../../Previsões Detalhe/" + previsaoIPMA.globalIdLocal + "-detalhe.xml");
                    x.Serialize(writer, previsaoIPMA);
                }
            }
        }
Ejemplo n.º 2
0
        // <summary>
        /// Para cada globalIdLocal do ArrayList diclocais vai ao respetivo ficheiro json com o objetivo desserializar para a classe PrevisaoIPMA
        /// </summary>
        static PrevisaoIPMA LerFicheiroPrevisao(int globalIdLocal)
        {
            String jsonString = null;

            using (StreamReader reader =
                       new StreamReader(@"../../Previsões/" + globalIdLocal + ".json"))
            {
                jsonString = reader.ReadToEnd();
            }
            PrevisaoIPMA obj = System.Text.Json.JsonSerializer.Deserialize <PrevisaoIPMA>(jsonString);

            return(obj);
        }