internal List<Camera> getAllCamera()
 {
     var cta = new CameraTableAdapter();
     var cdt = cta.GetData();
     
     var cameras = new List<Camera>();
     
     foreach (SoggiorniDbDataSet.CameraRow cr in cdt.Rows)
     {
         cameras.Add(new Camera
         {
             
             Id = cr.ID,
             Numero = cr.Numero,
             Nome = cr.IsNomeNull() ? "" : cr.Nome,
             Agriturismo = cr.IsAgriturismoNull() ? "" : cr.Agriturismo,
             FotoPath =  cr.IsFotoNull() ? "" : cr.Foto,
             Tipo = cr.IsTipoNull() ? "" : cr.Tipo,
             Bagno = cr.IsBagnoNull() ? "" : cr.Bagno
         });
     }
     return cameras;
 }
        internal List<Camera> cercaCamereLibere(DateTime arrivo, DateTime partenza)
        {
            //raccolgo tutte le camere presenti nell'agriturismo
            var cta = new CameraTableAdapter();
            var cdt = cta.GetData();
            var camereDict = new Dictionary<int, Camera>();
            foreach (SoggiorniDbDataSet.CameraRow cam in cdt.Rows)
            {
                camereDict.Add(cam.Numero, new Camera
                {
                    Numero = cam.Numero,
                    Nome = cam.Nome,
                    Agriturismo = cam.Agriturismo,
                    Tipo = cam.Tipo,
                    Bagno = cam.Bagno
                });
            }
            

            //raccolgo i numeri delle camere non disponibili nel periodo selezionato
            OleDbConnection conn = new OleDbConnection(Properties.Settings.Default.SoggiorniDbConnectionString);
            string queryString = "SELECT * FROM QueryCamereOccupateBetween";
            OleDbCommand cmd = new OleDbCommand(queryString, conn);
            cmd.Parameters.Add("Arrivo", OleDbType.Date).Value = arrivo;
            cmd.Parameters.Add("Partenza", OleDbType.Date).Value = partenza;
            conn.Open();
            OleDbDataReader reader = cmd.ExecuteReader();
            int numero;
            while (reader.Read())
            {
                //Camera.Numero, Camera.Nome, Camera.Agriturismo
                numero = int.Parse(reader[0].ToString());
                if(camereDict.ContainsKey(numero))
                    camereDict.Remove(numero);
            }
            reader.Close();
            conn.Close();
            return new List<Camera>(camereDict.Values);
        }