예제 #1
0
        public static bool bambinoExist(Bambino bambino)
        {
            DataTable dataTable = new DataTable();

            try
            {
                string sql = "SELECT * FROM Bambini WHERE Nome LIKE @nome and Cognome LIKE @cognome and Classe = @classe and Data_Nascita = @datanascita";  //Case sensitive

                using (SqlCommand cmd = new SqlCommand(sql, Sql.getInstance()))
                {
                    cmd.Parameters.AddWithValue("@nome", bambino.Nome);
                    cmd.Parameters.AddWithValue("@cognome", bambino.Cognome);
                    cmd.Parameters.AddWithValue("@classe", bambino.Classe);
                    cmd.Parameters.AddWithValue("@datanascita", bambino.DataNascita);

                    SqlDataAdapter da = new SqlDataAdapter(cmd);
                    da.Fill(dataTable);
                    if (dataTable.Rows.Count > 0)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }
            catch { throw; }
        }
예제 #2
0
        public static List <Bambino> getBambino(string NomeBambino, string CognomeBambino)
        {
            bool           Nome = true, Cognome = true;
            Bambino        b            = null;
            List <Bambino> listaBambini = new List <Bambino>();
            DataTable      dataTable    = new DataTable();
            string         sql          = "SELECT * FROM Bambini WHERE Nome LIKE @nome and Cognome LIKE @cognome"; //Case sensitive (Di base ci sono tutti e due)

            if (CognomeBambino == "" && NomeBambino != "")
            {
                sql     = "SELECT * FROM Bambini WHERE Nome LIKE @nome";
                Cognome = false;
            }
            else if (CognomeBambino != "" && NomeBambino == "")
            {
                sql  = "SELECT * FROM Bambini WHERE Cognome LIKE @cognome";
                Nome = false;
            }
            try
            {
                using (SqlCommand cmd = new SqlCommand(sql, Sql.getInstance()))
                {
                    if (Nome)
                    {
                        cmd.Parameters.AddWithValue("@nome", NomeBambino);
                    }
                    if (Cognome)
                    {
                        cmd.Parameters.AddWithValue("@cognome", CognomeBambino);
                    }

                    SqlDataAdapter da = new SqlDataAdapter(cmd);
                    da.Fill(dataTable);

                    //Converto la tabella della query in Classi.Bambino
                    for (int i = 0; i < dataTable.Rows.Count; i++)
                    {
                        Bambino bambinoTmp = new Bambino();

                        bambinoTmp.ID          = Int32.Parse(dataTable.Rows[i]["ID"].ToString());
                        bambinoTmp.Nome        = dataTable.Rows[i]["Nome"].ToString();
                        bambinoTmp.Cognome     = dataTable.Rows[i]["Cognome"].ToString();
                        bambinoTmp.Classe      = dataTable.Rows[i]["Classe"].ToString();
                        bambinoTmp.DataNascita = (DateTime)dataTable.Rows[i]["Data_Nascita"];
                        bambinoTmp.Path        = dataTable.Rows[i]["Path_Foto"].ToString();

                        listaBambini.Add(bambinoTmp);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(listaBambini);
        }
예제 #3
0
        public static Bambino getBambino(Bambino bambinoRicercato, int anni)
        {
            Bambino        b            = null;
            List <Bambino> listaBambini = new List <Bambino>();
            DataTable      dataTable    = new DataTable();

            try
            {
                string sql = "SELECT * FROM Bambini WHERE Nome LIKE @nome and Cognome LIKE @cognome and Classe = @classi";  //Case sensitive

                using (SqlCommand cmd = new SqlCommand(sql, Sql.getInstance()))
                {
                    cmd.Parameters.AddWithValue("@nome", bambinoRicercato.Nome);
                    cmd.Parameters.AddWithValue("@cognome", bambinoRicercato.Cognome);
                    cmd.Parameters.AddWithValue("@classi", bambinoRicercato.Classe);

                    SqlDataAdapter da = new SqlDataAdapter(cmd);
                    da.Fill(dataTable);

                    //Converto la tabella della query in Classi.Bambino
                    for (int i = 0; i < dataTable.Rows.Count; i++)
                    {
                        Bambino bambinoTmp = new Bambino();

                        bambinoTmp.ID          = Int32.Parse(dataTable.Rows[i]["ID"].ToString());
                        bambinoTmp.Nome        = dataTable.Rows[i]["Nome"].ToString();
                        bambinoTmp.Cognome     = dataTable.Rows[i]["Cognome"].ToString();
                        bambinoTmp.Classe      = dataTable.Rows[i]["Classe"].ToString();
                        bambinoTmp.DataNascita = (DateTime)dataTable.Rows[i]["Data_Nascita"];
                        bambinoTmp.Path        = dataTable.Rows[i]["Path_Foto"].ToString();

                        listaBambini.Add(bambinoTmp);
                    }
                }
                foreach (Bambino bam in listaBambini)
                {
                    if (Math.Truncate(DateTime.Now.Subtract(bam.DataNascita).TotalDays / 365) == anni) //Il risultato della prima non può mai essere esattamente il numero di anni quindi, troncando, considero solo la prima cifra senza quelle dopo la virgola e quindi rendo possibile il confonto
                    {
                        b = bam;
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(b);
        }
예제 #4
0
        public static bool PrendiLibro(Libro libro, Bambino bambino)
        {
            bool result = true;

            try
            {
                string sql = "INSERT INTO Transazioni (ID_Bambino, ID_Libro, Data_Prestito)  VALUES (@id_b, @id_l, @data) ";

                using (SqlCommand cmd = new SqlCommand(sql, Sql.getInstance()))
                {
                    cmd.Parameters.AddWithValue("@id_l", libro.ID);
                    cmd.Parameters.AddWithValue("@id_b", bambino.ID);
                    cmd.Parameters.AddWithValue("@data", DateTime.Now);
                    cmd.ExecuteNonQuery();
                }
            }
            catch (Exception ex)
            {
                return(false);

                throw ex;
            }

            try
            {
                string sql = "UPDATE Libri SET In_Prestito=1 WHERE ID = @id";

                using (SqlCommand cmd = new SqlCommand(sql, Sql.getInstance()))
                {
                    cmd.Parameters.AddWithValue("@id", libro.ID);


                    cmd.ExecuteNonQuery();
                }
            }
            catch (Exception ex)
            {
                return(false);

                throw ex;
            }



            return(true);
        }
예제 #5
0
        public static bool getBambini(ref List <Bambino> listaBambini)
        {
            DataTable dataTable = new DataTable();
            bool      result    = true;

            try
            {
                string sql = "SELECT * FROM Bambini";

                if (listaBambini.Count > 0)
                {
                    listaBambini.Clear();
                }

                using (SqlCommand cmd = new SqlCommand(sql, Sql.getInstance()))
                {
                    SqlDataAdapter da = new SqlDataAdapter(cmd);
                    da.Fill(dataTable);

                    //Converto la tabella della query in Classi.Bambino
                    for (int i = 0; i < dataTable.Rows.Count; i++)
                    {
                        Bambino bambinoTmp = new Bambino();

                        bambinoTmp.ID          = Int32.Parse(dataTable.Rows[i]["ID"].ToString());
                        bambinoTmp.Nome        = dataTable.Rows[i]["Nome"].ToString();
                        bambinoTmp.Cognome     = dataTable.Rows[i]["Cognome"].ToString();
                        bambinoTmp.Classe      = dataTable.Rows[i]["Classe"].ToString();
                        bambinoTmp.DataNascita = (DateTime)dataTable.Rows[i]["Data_Nascita"];
                        bambinoTmp.Path        = dataTable.Rows[i]["Path_Foto"].ToString();

                        listaBambini.Add(bambinoTmp);
                    }
                }
            }
            catch (Exception ex)
            {
                result = false;
                throw ex;
            }

            return(result);
        }
예제 #6
0
        public static bool editBambino(Bambino nuovoBambino)
        {
            bool   result = true;
            string sql    = "";

            try
            {
                if (nuovoBambino.Path != "")
                {
                    sql = "UPDATE Bambini SET Nome = @nome, Cognome = @cognome, Data_Nascita = @Data_Nascita, Classe = @Classe, Path_Foto = @Path WHERE ID = @id";
                }
                else
                {
                    sql = "UPDATE Bambini SET Nome = @nome, Cognome = @cognome, Data_Nascita = @Data_Nascita, Classe = @Classe WHERE ID = @id";
                }



                using (SqlCommand cmd = new SqlCommand(sql, Sql.getInstance()))
                {
                    cmd.Parameters.AddWithValue("@id", nuovoBambino.ID);
                    cmd.Parameters.AddWithValue("@nome", nuovoBambino.Nome);
                    cmd.Parameters.AddWithValue("@cognome", nuovoBambino.Cognome);
                    cmd.Parameters.AddWithValue("@Data_Nascita", nuovoBambino.DataNascita);
                    cmd.Parameters.AddWithValue("@Classe", nuovoBambino.Classe);
                    if (nuovoBambino.Path != "")
                    {
                        cmd.Parameters.AddWithValue("@Path", nuovoBambino.Path);
                    }

                    cmd.ExecuteNonQuery();
                }
            }
            catch (Exception ex)
            {
                result = false;
                throw ex;
            }

            return(result);
        }
예제 #7
0
        public static void addBambino(Bambino bambino)
        {
            try
            {
                string sql = "INSERT INTO Bambini (Nome, Cognome, Data_Nascita, Classe, Path_Foto)  VALUES (@nome, @cognome, @Data_Nascita, @Classe, @Path_Foto)";

                SqlCommand cmd = new SqlCommand(sql, Sql.getInstance());

                cmd.Parameters.AddWithValue("@nome", bambino.Nome);
                cmd.Parameters.AddWithValue("@cognome", bambino.Cognome);
                cmd.Parameters.AddWithValue("@Data_Nascita", bambino.DataNascita);
                cmd.Parameters.AddWithValue("@Classe", bambino.Classe);
                cmd.Parameters.AddWithValue("@Path_Foto", bambino.Path);

                cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #8
0
        /// <summary>
        /// Prende tutti i bambini presi singolarmente che hanno letto quel libro
        /// </summary>
        /// <param name="id">ID del libro da controllare</param>
        /// <returns></returns>
        public static List <Bambino> getBambinichehannolettoillibro(int id)
        {
            List <Bambino> listaLibri = new List <Bambino>();
            DataTable      dataTable  = new DataTable();
            string         sql        = "SELECT DISTINCT Bambini.[ID], Bambini.[Nome], Bambini.[Cognome], Bambini.[Classe], Bambini.[Data_Nascita], Bambini.[Path_Foto] " +
                                        "FROM [Asilo].[dbo].[Transazioni], [Asilo].[dbo].[Bambini]" +
                                        "WHERE Bambini.ID = Transazioni.ID_Bambino and ID_Libro = @id";

            try
            {
                using (SqlCommand cmd = new SqlCommand(sql, Sql.getInstance()))
                {
                    cmd.Parameters.AddWithValue("id", id);

                    SqlDataAdapter da = new SqlDataAdapter(cmd);
                    da.Fill(dataTable);

                    //Converto la tabella della query in Classi.Bambino
                    for (int i = 0; i < dataTable.Rows.Count; i++)
                    {
                        Bambino bambino = new Bambino();

                        bambino.ID          = Int32.Parse(dataTable.Rows[i]["ID"].ToString());
                        bambino.Nome        = dataTable.Rows[i]["Nome"].ToString();
                        bambino.Cognome     = dataTable.Rows[i]["Cognome"].ToString();
                        bambino.Classe      = dataTable.Rows[i]["Classe"].ToString();
                        bambino.DataNascita = (DateTime)dataTable.Rows[i]["Data_Nascita"];
                        bambino.Path        = dataTable.Rows[i]["Path_Foto"].ToString();

                        listaLibri.Add(bambino);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(listaLibri);
        }