Esempio n. 1
0
        public Image GetBookImage(string isbn)
        {
            Image image             = null;
            CustomSqlConnection con = new CustomSqlConnection();

            if (con.ConnectError())
            {
                return(image);
            }
            string        command = "SELECT buch_image FROM [dbo].[t_s_buecher] WHERE buch_isbn = @0";
            SqlDataReader dr      = con.ExcecuteCommand(command, isbn);

            while (dr.Read())
            {
                if (dr["buch_image"] != null && dr["buch_image"].ToString() != "")
                {
                    using (var ms = new MemoryStream((byte[])(dr["buch_image"])))
                    {
                        image = Image.FromStream(ms);
                    }
                }
            }
            dr.Close();
            con.Close();
            return(image);
        }
Esempio n. 2
0
        /// <summary>
        /// saves the assignment data of a school class and a grade to database
        /// </summary>
        /// <param name="assignmentTable"></param>
        /// <param name="grade"></param>
        public void SaveAssignment(DataTable assignmentTable, string grade)
        {
            CustomSqlConnection con = new CustomSqlConnection();

            if (con.ConnectError())
            {
                return;
            }
            string RawCommand1 = "DELETE FROM [dbo].[t_s_klasse_stufe] WHERE ks_klassenstufe = @stufe";

            con.ConnectError();
            SqlCommand cmd1 = new SqlCommand(RawCommand1, con.Con);

            cmd1.Parameters.AddWithValue("@stufe", grade);
            cmd1.ExecuteNonQuery();

            string RawCommand2 = "INSERT INTO [dbo].[t_s_klasse_stufe] (ks_klasse, ks_klassenstufe) VALUES (@klasse, @klassenstufe)";

            foreach (DataRow row in assignmentTable.Rows)
            {
                SqlCommand cmd2 = new SqlCommand(RawCommand2, con.Con);
                cmd2.Parameters.AddWithValue("@klasse", row[0].ToString());
                cmd2.Parameters.AddWithValue("@klassenstufe", grade);
                cmd2.ExecuteNonQuery();
            }
            con.Close();
        }
Esempio n. 3
0
        /// <summary>
        /// returns a subject by its short name or adds it and then gets it
        /// </summary>
        /// <param name="subjectNameShort"></param>
        /// <returns></returns>
        public Subject AddOrGetSubject(string subjectNameShort)
        {
            Subject             subject = new Subject();
            CustomSqlConnection con     = new CustomSqlConnection();

            if (con.ConnectError())
            {
                return(subject);
            }

            string     command = $"begin if not exists (select f_kurzform from t_s_faecher where f_kurzform=@0) begin insert into t_s_faecher (f_kurzform, f_langform) values (@1, @2) end end";
            SqlCommand cmd     = new SqlCommand(command, con.Con);

            cmd.Parameters.AddWithValue("@0", subjectNameShort);
            cmd.Parameters.AddWithValue("@1", subjectNameShort);
            cmd.Parameters.AddWithValue("@2", "");
            cmd.ExecuteNonQuery();

            command = "SELECT * FROM [dbo].[t_s_faecher] WHERE f_kurzform = @0";
            SqlDataReader dr = con.ExcecuteCommand(command, subjectNameShort);

            while (dr.Read())
            {
                subject.SubjectId        = int.Parse(dr["f_id"].ToString());
                subject.SubjectNameShort = dr["f_kurzform"].ToString();
                subject.SubjectNameLong  = dr["f_langform"].ToString();
            }
            dr.Close();
            con.Close();
            return(subject);
        }
Esempio n. 4
0
        /// <summary>
        /// fills a datatable with short book data
        /// </summary>
        /// <returns>a datatable</returns>
        /// <param name="shortLoad">true: only title will be loaded; false: everything will be loaded</param>
        private DataTable FillObject(bool shortLoad)
        {
            DataTable           table = new DataTable();
            CustomSqlConnection con   = new CustomSqlConnection();

            if (con.ConnectError())
            {
                return(table);
            }
            string command = shortLoad ? "SELECT buch_isbn as 'ISBN', buch_titel as 'Titel' " +
                             "from t_s_buecher WHERE buch_activated = 1" :
                             "SELECT buch_isbn as 'ISBN',"
                             + "buch_titel as 'Titel',"
                             + "ger_name as 'Genre',"
                             + "ver_name as 'Verlag',"
                             + "ISNULL(stuff((SELECT distinct ', '+ cast(au_autor as varchar(512)) FROM t_s_buch_autor left join t_s_autor on au_id = ba_autorid where ba_isbn = buch_isbn FOR XML PATH('')),1,2,''),'') as 'Autor',"
                             + "buch_erscheinungsdatum as 'Erscheinungsdatum',"
                             + "sprach_name as 'Sprache',"
                             + "buch_auflage as 'Auflage',"
                             + "buch_neupreis as 'Neupreis' from t_s_buecher "
                             + "left join t_s_genre on buch_genre_id = ger_id "
                             + "left join t_s_verlag on buch_verlag_id = ver_id "
                             + "left join t_s_sprache on buch_sprache_id = sprach_id WHERE buch_activated = 1";
            SqlDataAdapter adapter = new SqlDataAdapter(command, con.Con);

            adapter.Fill(table);
            con.Close();
            return(table);
        }
Esempio n. 5
0
        /// <summary>
        /// returns a datatable with all the user data
        /// </summary>
        /// <returns></returns>
        private DataTable FillObject()
        {
            DataTable           table = new DataTable();
            CustomSqlConnection con   = new CustomSqlConnection();

            if (con.ConnectError())
            {
                return(table);
            }
            string         RawCommand = "SELECT b_name as 'Name', b_rechte as 'RechteID' FROM [dbo].[t_s_benutzer]";
            SqlDataAdapter adapter    = new SqlDataAdapter(RawCommand, con.Con);

            adapter.Fill(table);
            con.Close();
            if (!table.Columns.Contains("Rechte"))
            {
                table.Columns.Add("Rechte");
            }
            foreach (DataRow dr in table.Rows)
            {
                int rechteID = int.Parse(dr["RechteID"].ToString());
                dr["Rechte"] = (User.Permission)rechteID;
            }
            return(table);
        }
Esempio n. 6
0
        /// <summary>
        /// removes the subjects of all deactivated costumers
        /// </summary>
        private void DeleteSubjectsOfDeactivatedCostumers()
        {
            CustomSqlConnection con = new CustomSqlConnection();

            if (con.ConnectError())
            {
                return;
            }
            string     command = "DELETE FROM t_s_fach_kunde WHERE fs_kundenid in (SELECT kunde_id FROM t_s_kunden WHERE kunde_activated = 0)";
            SqlCommand cmd     = new SqlCommand(command, con.Con);

            cmd.ExecuteNonQuery();
            con.Close();
        }
Esempio n. 7
0
        /// <summary>
        /// deactivates all existing students
        /// </summary>
        public void DeactivateAllStudents()
        {
            CustomSqlConnection con = new CustomSqlConnection();

            if (con.ConnectError())
            {
                return;
            }
            string command = "UPDATE t_s_kunden set kunde_activated = 0, kunde_klasse = null from t_s_kunden " +
                             "left join t_bd_ausgeliehen on kunde_ID=aus_kundenid WHERE kunde_klasse !='' AND kunde_klasse IS NOT NULL and aus_leihnummer is NULL";
            SqlCommand cmd = new SqlCommand(command, con.Con);

            DeleteSubjectsOfDeactivatedCostumers();
            cmd.ExecuteNonQuery();
            con.Close();
        }
Esempio n. 8
0
        /// <summary>
        /// fills a datatable with information
        /// </summary>
        private DataTable FillObject()
        {
            table = new DataTable();
            CustomSqlConnection con = new CustomSqlConnection();

            if (con.ConnectError())
            {
                return(table);
            }
            string         command = "SELECT f_id as 'ID', f_kurzform as 'Kürzel', f_langform as 'Langbezeichnung' FROM t_s_faecher";
            SqlDataAdapter adapter = new SqlDataAdapter(command, con.Con);

            adapter.Fill(table);
            con.Close();
            return(table);
        }
Esempio n. 9
0
        /// <summary>
        /// returns a datatable with grades and school classes
        /// </summary>
        /// <returns></returns>
        private DataTable FillObject()
        {
            CustomSqlConnection con   = new CustomSqlConnection();
            DataTable           table = new DataTable();

            if (con.ConnectError())
            {
                return(table);
            }
            string RawCommand = "SELECT ks_klassenstufe as 'Klassenstufe', ks_klasse, k_bezeichnung as 'Klasse' FROM [dbo].[t_s_klasse_stufe] " +
                                "left join [dbo].[t_s_klassen] on k_id = ks_klasse order by ks_klasse";
            SqlDataAdapter adapter = new SqlDataAdapter(RawCommand, con.Con);

            adapter.Fill(table);
            con.Close();
            return(table);
        }
Esempio n. 10
0
        /// <summary>
        /// returns the id of a subject by its short name
        /// </summary>
        /// <param name="subjectNameShort"></param>
        /// <returns>returns -1 if no subject was found; returns >=0 if a subject was found</returns>
        public int GetIdBySubjectShortName(string subjectNameShort)
        {
            int subjectId           = -1;
            CustomSqlConnection con = new CustomSqlConnection();

            if (con.ConnectError())
            {
                return(subjectId);
            }
            string        command = "SELECT f_id FROM [dbo].[t_s_faecher] WHERE f_kurzform = @0";
            SqlDataReader dr      = con.ExcecuteCommand(command, subjectNameShort);

            while (dr.Read())
            {
                subjectId = int.Parse(dr["f_id"].ToString());
            }
            dr.Close();
            con.Close();
            return(subjectId);
        }
Esempio n. 11
0
        /// <summary>
        /// checks whether a subject with the given short name already exists or not
        /// </summary>
        /// <returns></returns>
        /// <param name="subjectNameShort">the short name of a subject</param>
        public bool SubjectExists(string subjectNameShort)
        {
            CustomSqlConnection con = new CustomSqlConnection();
            int subjectId           = -1;

            if (con.ConnectError())
            {
                return(true);
            }
            string        RawCommand = "SELECT f_id FROM t_s_faecher WHERE f_kurzform = @0";
            SqlDataReader dr         = con.ExcecuteCommand(RawCommand, subjectNameShort);

            while (dr.Read())
            {
                subjectId = int.Parse(dr["f_id"].ToString());
            }
            dr.Close();
            con.Close();
            return(subjectId > -1 ? true : false);
        }
Esempio n. 12
0
        /// <summary>
        /// returns the grade of a school class
        /// </summary>
        /// <param name="schoolClassId"></param>
        /// <returns>returns >=0 if grade exists, returns -1 if no grade exists</returns>
        public int GetGradeOfSchoolClass(int schoolClassId)
        {
            int grade = -1;
            CustomSqlConnection con = new CustomSqlConnection();

            if (con.ConnectError())
            {
                return(grade);
            }
            string        RawCommand = "SELECT ks_klassenstufe FROM [dbo].[t_s_klasse_stufe] WHERE ks_klasse = @0";
            SqlDataReader dr         = con.ExcecuteCommand(RawCommand, schoolClassId);

            while (dr.Read())
            {
                grade = Convert.ToInt32(dr["ks_klassenstufe"].ToString());
            }
            dr.Close();
            con.Close();
            return(grade);
        }
Esempio n. 13
0
        /// <summary>
        /// fills a datatable with necessary data for book search formular
        /// </summary>
        /// <param name="grade"></param>
        /// <returns></returns>
        private DataTable FillObjectSearch(int grade)
        {
            DataTable           table = new DataTable();
            CustomSqlConnection con   = new CustomSqlConnection();

            if (con.ConnectError())
            {
                return(table);
            }
            string command = "SELECT buch_isbn as 'ISBN', buch_titel as 'Titel' FROM t_s_buchid " +
                             "left join t_s_buecher on buch_isbn = bu_isbn left join t_s_buch_stufe on bs_isbn = bu_isbn " +
                             "WHERE bs_klassenstufe = @grade AND bu_activated = 1 AND bu_id NOT IN (SELECT aus_buchid FROM t_bd_ausgeliehen) " +
                             "group by buch_isbn, buch_titel";
            SqlDataAdapter adapter = new SqlDataAdapter(command, con.Con);

            adapter.SelectCommand.Parameters.AddWithValue("@grade", grade);
            adapter.Fill(table);
            con.Close();
            return(table);
        }
Esempio n. 14
0
        /// <summary>
        /// returns a datatable with costumer data
        /// </summary>
        /// <returns></returns>
        private DataTable FillObject()
        {
            DataTable           table = new DataTable();
            CustomSqlConnection con   = new CustomSqlConnection();

            if (con.ConnectError())
            {
                return(table);
            }
            string command = "use greenLib SELECT kunde_ID as 'Kunden-ID', kunde_vorname as 'Vorname',  kunde_nachname as 'Nachname', kunde_geburtsdatum as 'Geburtsdatum', " +
                             "k_bezeichnung as 'Klasse',CONCAT(stuff(( SELECT distinct ', '+ cast(f_kurzform as varchar(10)) FROM t_s_fach_kunde fk LEFT JOIN t_s_faecher f on fk.fs_fachid=f.f_id " +
                             "WHERE fk.fs_kundenid=k.kunde_ID AND fk.fs_lk=1 FOR XML PATH('')),1,1,'')+',',stuff(( SELECT distinct ', '+ cast(f_kurzform as varchar(10)) FROM t_s_fach_kunde fk " +
                             "LEFT JOIN t_s_faecher f on fk.fs_fachid=f.f_id WHERE fk.fs_kundenid=k.kunde_ID AND fk.fs_lk=0 FOR XML PATH('')),1,1,'')) as 'Fächer', kunde_strasse as 'Straße', " +
                             "kunde_hausnummer as 'Hausnummer', kunde_postleitzahl as 'Postleitzahl', kunde_ort as 'Wohnort', kunde_mail as 'Mail', kunde_telefonnummer as 'Telefonnummer' " +
                             "FROM t_s_kunden k LEFT JOIN t_s_klassen kl on k.kunde_klasse=kl.k_id WHERE kunde_activated = 1";
            SqlDataAdapter adapter = new SqlDataAdapter(command, con.Con);

            adapter.Fill(table);
            con.Close();
            return(table);
        }
Esempio n. 15
0
        /// <summary>
        /// saves the changes of a grid to database
        /// </summary>
        /// <param name="grid"></param>
        public void SaveGridChangesToDatabase(ref MetroFramework.Controls.MetroGrid grid)
        {
            CustomSqlConnection con = new CustomSqlConnection();

            if (con.ConnectError())
            {
                return;
            }
            DataTable changes = table.GetChanges();

            SqlDataAdapter adapter = new SqlDataAdapter();

            adapter.SelectCommand = new SqlCommand($"SELECT * FROM t_s_faecher", con.Con);

            SqlCommand insertCmd = new SqlCommand($"INSERT INTO t_s_faecher (f_kurzform, f_langform) VALUES (@subjectNameShort, @subjectNameLong)", con.Con);

            insertCmd.Parameters.Add("@subjectNameShort", SqlDbType.NVarChar, 64, "Kürzel");
            insertCmd.Parameters.Add("@subjectNameLong", SqlDbType.NVarChar, 256, "Langbezeichnung");

            adapter.InsertCommand = insertCmd;

            SqlCommand deleteCmd = new SqlCommand($"DELETE FROM t_s_faecher WHERE f_kurzform = @subjectNameShort", con.Con);

            deleteCmd.Parameters.Add("@subjectNameShort", SqlDbType.NVarChar, 64, "Kürzel");
            adapter.DeleteCommand = deleteCmd;

            SqlCommand updateCmd = new SqlCommand($"UPDATE t_s_faecher SET f_kurzform = @subjectNameShort, f_langform = @subjectNameLong WHERE f_id = @subjectId", con.Con);

            updateCmd.Parameters.Add("@subjectNameShort", SqlDbType.NVarChar, 64, "Kürzel");
            updateCmd.Parameters.Add("@subjectNameLong", SqlDbType.NVarChar, 256, "Langbezeichnung");
            updateCmd.Parameters.Add("@subjectId", SqlDbType.Int, 32, "ID");
            adapter.UpdateCommand = updateCmd;

            if (changes != null)
            {
                changes = noDuplicates(changes);
                adapter.Update(changes);
            }
        }
Esempio n. 16
0
        /// <summary>
        /// returns a subject by its short name
        /// </summary>
        /// <param name="subjectNameShort"></param>
        /// <returns></returns>
        public Subject GetSubjectByShortName(string subjectNameShort)
        {
            Subject             subject = new Subject();
            CustomSqlConnection con     = new CustomSqlConnection();

            if (con.ConnectError())
            {
                return(subject);
            }
            string        command = "SELECT * FROM [dbo].[t_s_faecher] WHERE f_kurzform = @0";
            SqlDataReader dr      = con.ExcecuteCommand(command, subjectNameShort);

            while (dr.Read())
            {
                subject.SubjectId        = int.Parse(dr["f_id"].ToString());
                subject.SubjectNameShort = dr["f_kurzform"].ToString();
                subject.SubjectNameLong  = dr["f_langform"].ToString();
            }
            dr.Close();
            con.Close();
            return(subject);
        }
Esempio n. 17
0
        /// <summary>
        /// fills a datatable with costumer data
        /// </summary>
        /// <param name="showCostumerClass"></param>
        /// <param name="classId"></param>
        private DataTable FillCostumerDataTable(bool showCostumerClass, int classId)
        {
            DataTable           table = new DataTable();
            CustomSqlConnection con   = new CustomSqlConnection();

            if (con.ConnectError())
            {
                return(table);
            }
            string command = showCostumerClass ? "SELECT kunde_ID, kunde_vorname as 'Vorname', kunde_nachname as 'Nachname', " +
                             "kunde_klasse, k_bezeichnung as 'Klasse', ks_klassenstufe as 'Klassenstufe' FROM [dbo].[t_s_kunden] " +
                             "left join [dbo].[t_s_klassen] on k_id = kunde_klasse left join [dbo].[t_s_klasse_stufe] on ks_klasse = kunde_klasse " +
                             "WHERE kunde_activated = 1 AND ks_klassenstufe = @classId" :
                             "SELECT kunde_ID, kunde_vorname as 'Vorname', kunde_nachname as 'Nachname', kunde_klasse, k_bezeichnung as 'Klasse', " +
                             "ks_klassenstufe as 'Klassenstufe' FROM [dbo].[t_s_kunden] left join [dbo].[t_s_klassen] on k_id = kunde_klasse " +
                             "left join [dbo].[t_s_klasse_stufe] on ks_klasse = kunde_klasse WHERE kunde_activated = 1 AND kunde_klasse = @classId " +
                             "order by Klasse";
            SqlDataAdapter adapter = new SqlDataAdapter(command, con.Con);

            adapter.SelectCommand.Parameters.AddWithValue("@classId", classId);
            adapter.Fill(table);
            con.Close();
            return(table);
        }
 public HolidayRepository(CustomSqlConnection connection, HolidayTableQuery query)
 {
     _connection = connection;
     _query      = query;
 }
Esempio n. 19
0
 //inject IOption here
 public YourNewClass(IOptions <MyConfig> _config)
 {
     _connection = new CustomSqlConnection(_config);    //use this instance for all the repository methods
 }