internal List<Soggiorno> cercaSoggiorniByPagamento(int idpag) { var sogta = new SoggiornoTableAdapter(); var sogdt = sogta.GetDataByPagamento(idpag); var clita = new ClienteTableAdapter(); var camta = new CameraTableAdapter(); var slist = new List<Soggiorno>(); Soggiorno sog; foreach (var s in sogdt) { sog = new Soggiorno { Id = s.ID, Arrivo = s.Arrivo, Partenza = s.Partenza, TotaleSoggiorno = s.IsTotaleSoggiornoNull() ? 0 : s.TotaleSoggiorno, TotalePernotto = s.IsTotaleCameraNull() ? 0 : s.TotaleCamera }; var clidt = clita.GetDataById(s.ClienteId); sog.Cliente = new Cliente { Id = clidt[0].ID, Cognome = clidt[0].Cognome }; var camdt = camta.GetDataById(s.CameraId); sog.Camera = new Camera { Id = camdt[0].ID, Numero = camdt[0].Numero }; slist.Add(sog); } return slist; }
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); }