예제 #1
0
        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;
        }
예제 #2
0
 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;
 }
예제 #3
0
        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);
        }