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); }