using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using fbblEntiPubblici;
using fbblMessaggi;
using fbblTipi;
using fbblCostanti;

// Librerie per l'utilizzo dei file e per l'impiego della tecnica di serializzazione

using System.IO; // Per lavorare sui file
using System.Xml.Linq;


namespace fdprEntiPubblici
{
    public partial class frmVisualizzaDatiAmbasciata : Form
    {
        private Liste OggettoListe = new Liste();

        public frmVisualizzaDatiAmbasciata()
        {
            InitializeComponent();
        }



//************************ PROCEDURE LOCALI DI PROGETTO *******************************//

        private void frmVisualizzaDatiAmbasciata_ElencoDati()
        {


            if (File.Exists("c:\\temp\\Ambasciata.xml"))
            {

                try
                {

                    var DocumentoXML = XDocument.Load("c:\\temp\\Ambasciata.xml");

                    var query = from Embassy in DocumentoXML.Element("Ambasciate").Elements("Ambasciata")
                                select new 
                                {
                                    NomeEnte = Embassy.Element("NomeEnte").Value,
                                    TipoEnte = Embassy.Element("TipoEnte").Value,
                                    Nazione = Embassy.Element("Nazione").Value,
                                    Presidiato = Convert.ToBoolean(Embassy.Element("Presidiato").Value),
                                    Incorporato = Convert.ToBoolean(Embassy.Element("Incorporato").Value),
                                    Capitale = Embassy.Element("Capitale").Value,
                                    Nome = Embassy.Element("Nome").Value,
                                    Cognome = Embassy.Element("Cognome").Value,
                                    Sesso = Embassy.Element("Sesso").Value,
                                    Eta = Embassy.Element("Eta").Value,
                                    Indirizzo = Embassy.Element("Indirizzo").Value,
                                    Citta = Embassy.Element("Citta").Value,
                                    TipoVisto = Embassy.Element("TipoVisto").Value,
                                    DurataVisto = Embassy.Element("DurataVisto").Value,
                                    NumeroUomini = Embassy.Element("NumeroUomini").Value
                                };

                    grdDatiAmbasciata.DataSource = query.ToList();

                }
                catch (Exception e)
                {
                    //MessageBox.Show(e.Message);
                    StrumentiMessaggi.Messaggio(e.Message, "Errore");
                }              

            }
            else
            {
                //MessageBox.Show("Non esiste il file da deserializzare!");
                StrumentiMessaggi.Messaggio("Non esiste il file da deserializzare!","Errore");
            }
        }


//************************ PROCEDURE DI RISPOSTA AGLI EVENTI **************************//

        private void frmVisualizzaDatiAmbasciata_Shown(object sender, EventArgs e)
        {
            frmVisualizzaDatiAmbasciata_ElencoDati();
        }
    }
}
