Ejemplo n.º 1
0
        public List <Værktøjskasse> GetHåndværkers_Værktøjskasse(ref Håndværker hv)
        {
            string selectToolboxToolString = @"SELECT *
                                                  FROM [Værktøjskasse] 
                                                  WHERE ([HåndværkerID] = @HVId)";

            using (var cmd = new SqlCommand(selectToolboxToolString, OpenConnection))
            {
                SqlDataReader rdr = null;
                cmd.Parameters.AddWithValue("@HVId", hv.HID);
                rdr = cmd.ExecuteReader();
                List <Værktøjskasse> boxestohv = new List <Værktøjskasse>();
                Værktøjskasse        vk        = null;
                while (rdr.Read())
                {
                    vk = new Værktøjskasse
                    {
                        VKID        = (int)rdr["VKasseId"],
                        Anskaffet   = (DateTime)rdr["VTKAnskaffet"],
                        Fabrikat    = (string)rdr["VTKFabrikat"],
                        Farve       = (string)rdr["VTKFarve"],
                        Håndværker  = (int)rdr["HåndværkerID"],
                        Model       = (string)rdr["VTKModel"],
                        Serienummer = (string)rdr["VTKSerienummer"],
                        EjesAf      = hv //Scaffolding struktur opsættes
                    };                   // Ny instans i hver gennemløb!
                    boxestohv.Add(vk);   //Scaffolding struktur opsættes
                }
                return(boxestohv);
                //Alternativt i stedet for returnering kan dette statement udføres
                // hv.Ejer_Værktøjskasser = boxestohv;
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Constructor may be use to initialize the connection string and likely setup things
 /// </summary>
 public CratftManDBUtil()
 {
     currentHåndværker = new Håndværker()
     {
         HID = 0, Fornavn = "", Efternavn = "", Ejer_Værktøjskasser = null, Fagområde = "", Ansættelsedato = new DateTime()
     };
 }
Ejemplo n.º 3
0
        public List <Håndværker> GetHåndværkere()
        {
            string sqlcmd = @"SELECT HåndværkerId, Ansættelsedato, Efternavn, Fagområde, Fornavn FROM Håndværker";

            using (var cmd = new SqlCommand(sqlcmd, OpenConnection))
            {
                SqlDataReader rdr = null;
                rdr = cmd.ExecuteReader();
                List <Håndværker> hver = new List <Håndværker>();
                Håndværker        hv   = null;
                while (rdr.Read())
                {
                    hv = new Håndværker
                    {
                        HID            = (int)rdr["HåndværkerId"],
                        Ansættelsedato = (DateTime)rdr["Ansættelsedato"],
                        Efternavn      = (string)rdr["Efternavn"],
                        Fornavn        = (string)rdr["Fornavn"]
                    };
                    if (!rdr.IsDBNull(3))
                    {
                        hv.Fagområde = (string)rdr["Fagområde"];
                    }
                    else
                    {
                        hv.Fagområde = "";
                    }

                    hver.Add(hv); //Scaffolding struktur opsættes
                }
                return(hver);
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Indlæser Håndværkeren som der er fokus på ud fra for- og efternavn. Tager først kommende håndværker (TOP 1)
        /// Sætter currentHåndværker til den entity som findes i databasen
        /// </summary>
        /// <param name="hv">Instans af Hændværker hvor Fornavn og Efternavn er sat</param>
        public void GetHåndværkerByName(ref Håndværker hv)
        {
            string sqlcmd = @"SELECT  TOP 1 * FROM Håndværker WHERE (Fornavn = @fnavn) AND (Efternavn=@enavn)";

            using (var cmd = new SqlCommand(sqlcmd, OpenConnection))
            {
                cmd.Parameters.AddWithValue("@fnavn", hv.Fornavn);
                cmd.Parameters.AddWithValue("@enavn", hv.Efternavn);
                SqlDataReader rdr = null;
                rdr = cmd.ExecuteReader();

                if (rdr.Read())
                {
                    currentHåndværker.HID            = (int)rdr["HåndværkerId"];
                    currentHåndværker.Ansættelsedato = (DateTime)rdr["Ansættelsedato"];
                    currentHåndværker.Efternavn      = (string)rdr["Efternavn"];
                    if (!rdr.IsDBNull(3))//NULL check required
                    {
                        currentHåndværker.Fagområde = (string)rdr["Fagområde"];
                    }
                    else
                    {
                        currentHåndværker.Fagområde = "";
                    }
                    currentHåndværker.Fornavn = (string)rdr["Fornavn"];
                    hv = currentHåndværker;
                }
            }
        }
Ejemplo n.º 5
0
        public void TheApp()
        {
            CratftManDBUtil cmutil = new CratftManDBUtil();

            Håndværker hv = new Håndværker()
            {
                HID = 1
            };
            var hvlist = cmutil.GetHåndværkere();

            cmutil.GetFullTreeHåndværkerDB(ref hv);
            var vtklist = cmutil.GetHåndværkers_Værktøjskasse(ref hv);

            Håndværker nyhv = new Håndværker()
            {
                Ansættelsedato = DateTime.Now, Efternavn = "Hansen", Fagområde = "Snedker", Fornavn = "Peter"
            };

            //cmutil.AddHåndværkerDB(ref nyhv);

            Håndværker hv1 = new Håndværker()
            {
                Fornavn = "Peter", Efternavn = "Hansen"
            };

            cmutil.GetHåndværkerByName(ref hv1);
            //cmutil.GetCurrentHåndværkerById(ref nyhv);
            Værktøjskasse vtk1 = new Værktøjskasse()
            {
                Anskaffet        = DateTime.Now,
                Fabrikat         = "Bosch",
                Model            = "xxf6",
                Serienummer      = "3475693",
                Håndværker       = hv1.HID,
                EjesAf           = hv1, //Scaffolding struktur opsættes
                Farve            = "Grøn",
                Værktøj_i_kassen = new List <Værktøj>()
            };

            hv1.Ejer_Værktøjskasser = new List <Værktøjskasse>();
            hv1.Ejer_Værktøjskasser.Add(vtk1);//Scaffolding struktur opsættes
            cmutil.AddVærktøjskasseDB(ref vtk1);
            Værktøj vt = new Værktøj()
            {
                Fabrikat      = "ToolMate",
                Seriennr      = "46745",
                Anskaffet     = DateTime.Now,
                Model         = "Hammer",
                Værktøjskasse = vtk1.VKID,
                LiggerI       = vtk1, //Scaffolding struktur opsættes
                Type          = "Lægtehammer"
            };

            vtk1.Værktøj_i_kassen = new List <Værktøj>();
            vtk1.Værktøj_i_kassen.Add(vt);//Scaffolding struktur opsættes
            cmutil.AddVærktøjDB(ref vt);

            nyhv.Ejer_Værktøjskasser = cmutil.GetHåndværkers_Værktøjskasse(ref hv1);
        }
Ejemplo n.º 6
0
        public void DeleteHåndværkerDB(ref Håndværker hv)
        {
            string deleteString = @"DELETE FROM Håndværker WHERE (HåndværkerId = @HåndværkerId)";

            using (SqlCommand cmd = new SqlCommand(deleteString, OpenConnection))
            {
                cmd.Parameters.AddWithValue("@HåndværkerId", hv.HID);

                var id = (int)cmd.ExecuteNonQuery();
                hv = null;
            }
        }
Ejemplo n.º 7
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="hv">Håndværker som skal tilføjes påvirker ikke currentHåndværker</param>
        public void AddHåndværkerDB(ref Håndværker hv)
        {
            // prepare command string using paramters in string and returning the given identity

            string insertStringParam = @"INSERT INTO [Håndværker] (Ansættelsedato, Efternavn, Fagområde, Fornavn)
                                                    OUTPUT INSERTED.HåndværkerId  
                                                    VALUES (@Ansættelsedato, @Efternavn,@Fagområde,@Fornavn)";

            using (SqlCommand cmd = new SqlCommand(insertStringParam, OpenConnection))
            {
                // Get your parameters ready
                cmd.Parameters.AddWithValue("@Ansættelsedato", hv.Ansættelsedato.Date);//.ToString("yyyy-MM-dd HH:mm:ss"); ;
                cmd.Parameters.AddWithValue("@Efternavn", hv.Efternavn);
                cmd.Parameters.AddWithValue("@Fagområde", hv.Fagområde);
                cmd.Parameters.AddWithValue("@Fornavn", hv.Fornavn);
                hv.HID = (int)cmd.ExecuteScalar(); //Returns the identity of the new tuple/record
            }
        }
Ejemplo n.º 8
0
        public void UpdateHåndværkerDB(ref Håndværker hv)
        {
            // prepare command string
            string updateString =
                @"UPDATE Håndværker
                        SET Ansættelsedato= @Ansættelsedato, Efternavn = @Efternavn, Fagområde = @Fagområde, Fornavn = @Fornavn
                        WHERE HåndværkerId = @HåndværkerId";

            using (SqlCommand cmd = new SqlCommand(updateString, OpenConnection))
            {
                // Get your parameters ready
                cmd.Parameters.AddWithValue("@Ansættelsedato", hv.Ansættelsedato.Date);
                cmd.Parameters.AddWithValue("@Fagområde", hv.Fagområde);
                cmd.Parameters.AddWithValue("@Fornavn", hv.Fornavn);
                cmd.Parameters.AddWithValue("@HåndværkerId", hv.HID);

                var id = (int)cmd.ExecuteNonQuery();
            }
        }
Ejemplo n.º 9
0
        /// <summary>
        /// Indlæser Håndværkeren som der er fokus på ud fra Primærnøglen!
        /// Sætter currentHåndværker til den entity som findes i databasen

        /// </summary>
        /// <param name="hv"> Instans af Hændværker hvor HID er sat</param>
        public void GetCurrentHåndværkerById(ref Håndværker hv)
        {
            string sqlcmd = @"SELECT [Ansættelsedato],[Efternavn],[Fagområde],[Fornavn] FROM Håndværker WHERE ([HåndværkerId] = @HåndværkerId)";

            using (var cmd = new SqlCommand(sqlcmd, OpenConnection))
            {
                cmd.Parameters.AddWithValue("@HåndværkerId", hv.HID);
                SqlDataReader rdr = null;
                rdr = cmd.ExecuteReader();
                if (rdr.Read())
                {
                    currentHåndværker.HID = hv.HID;
                    //hv.HID = (int)rdr["HåndværkerId"];//superflous reading from DB and not in projection
                    currentHåndværker.Ansættelsedato = (DateTime)rdr["Ansættelsedato"];
                    currentHåndværker.Efternavn      = (string)rdr["Efternavn"];
                    currentHåndværker.Fagområde      = (string)rdr["Fagområde"];
                    currentHåndværker.Fornavn        = (string)rdr["Fornavn"];
                    hv = currentHåndværker;
                }
            }
        }
Ejemplo n.º 10
0
        public void GetFullTreeHåndværkerDB(ref Håndværker fhv)
        {
            //string getfulltreecraftman = @"SELECT  Håndværker.HåndværkerId, Håndværker.Ansættelsedato, Håndværker.Efternavn, Håndværker.Fagområde, Håndværker.Fornavn, Værktøjskasse.VKasseId, Værktøjskasse.Anskaffet, Værktøjskasse.Fabrikat, Værktøjskasse.Håndværker,
            //    Værktøjskasse.Model, Værktøjskasse.Serienummer, Værktøjskasse.Farve, Værktøj.VærktøjsId, Værktøj.Anskaffet AS VTAnskaffet, Værktøj.Fabrikat AS VTFabrikat, Værktøj.Model AS VTModel, Værktøj.Serienr, Værktøj.Type,
            //    Værktøj.Værktøjskasse
            //    FROM      Håndværker INNER JOIN
            //    Værktøjskasse ON Håndværker.HåndværkerId = Værktøjskasse.Håndværker INNER JOIN
            //    Værktøj ON Værktøjskasse.VKasseId = Værktøj.Værktøjskasse
            //    WHERE   (Håndværker.HåndværkerId = @HåndværkerId)";
            string getftrcmDB = @"SELECT Håndværker.HåndværkerId, Håndværker.Ansættelsedato, Håndværker.Efternavn, Håndværker.Fagområde, Håndværker.Fornavn, Værktøjskasse.VKasseId, Værktøjskasse.VTKAnskaffet, Værktøjskasse.VTKFabrikat, Værktøjskasse.VTKModel, 
                Værktøjskasse.VTKSerienummer, Værktøjskasse.VTKFarve, Værktøj.VærktøjsId, Værktøj.VTAnskaffet, Værktøj.VTFabrikat, Værktøj.VTModel, Værktøj.VTSerienr, Værktøj.VTType, Værktøj.VTKId, Værktøjskasse.HåndværkerID
                FROM      Håndværker INNER JOIN
                Værktøjskasse ON Håndværker.HåndværkerId = Værktøjskasse.HåndværkerID INNER JOIN
                Værktøj ON Værktøjskasse.VKasseId = Værktøj.VTKId
                WHERE   (Håndværker.HåndværkerId = @HåndværkerId)";

            using (var cmd = new SqlCommand(getftrcmDB, OpenConnection))
            {
                cmd.Parameters.AddWithValue("@HåndværkerId", fhv.HID);
                SqlDataReader rdr = null;
                rdr = cmd.ExecuteReader();
                var           cmcount   = 0;
                var           tbcount   = 0;
                var           toolcount = 0;
                int           hvid      = 0;
                int           tbid      = 0; //VærktøjskasseID
                Håndværker    hv        = new Håndværker();
                Værktøjskasse vk        = null;
                hv.Ejer_Værktøjskasser = new List <Værktøjskasse> {
                };
                while (rdr.Read())
                {
                    int hid;
                    hid = (int)rdr["HåndværkerId"];
                    if (hvid != hid) //Hent root håndværker
                    {
                        cmcount++;
                        hv.HID            = hid;
                        hvid              = hv.HID;
                        hv.Ansættelsedato = (DateTime)rdr["Ansættelsedato"];
                        hv.Efternavn      = (string)rdr["Efternavn"];
                        if (!rdr.IsDBNull(3))
                        {
                            hv.Fagområde = (string)rdr["Fagområde"];
                        }
                        else
                        {
                            hv.Fagområde = null;
                        }
                        hv.Fornavn = (string)rdr["Fornavn"];
                    }
                    if (!rdr.IsDBNull(5)) //Her er en værktøjskasse index 0...->
                    {
                        tbcount++;
                        int vtid;
                        vtid = (int)rdr["VKasseID"]; //Temp ID
                        if (tbid != vtid)            //Vi har en ny vtkasse!
                        {
                            vk = new Værktøjskasse
                            {
                                Værktøj_i_kassen = new List <Værktøj> {
                                },
                                VKID             = vtid,
                                EjesAf           = hv       //Scaffolding struktur opsættes
                            };
                            hv.Ejer_Værktøjskasser.Add(vk); //Scaffolding struktur opsættes
                        }
                        tbid           = vk.VKID;
                        vk.Anskaffet   = (DateTime)rdr["VTKAnskaffet"];
                        vk.Fabrikat    = (string)rdr["VTKFabrikat"];
                        vk.Håndværker  = (int)rdr["HåndværkerId"];
                        vk.Model       = (string)rdr["VTKModel"];
                        vk.Serienummer = (string)rdr["VTKSerienummer"];
                        vk.Farve       = (string)rdr["VTKFarve"];
                    }
                    if (!rdr.IsDBNull(12)) //Her er et værktøj
                    {
                        toolcount++;
                        Værktøj vt = new Værktøj
                        {
                            VTID          = (long)rdr["VærktøjsId"],
                            Anskaffet     = (DateTime)rdr["VTAnskaffet"],
                            Fabrikat      = (string)rdr["VTFabrikat"],
                            Værktøjskasse = (int)rdr["VTKId"],
                            Model         = (string)rdr["VTKModel"],
                            Type          = (string)rdr["VTType"],
                            Seriennr      = (string)rdr["VTSerienr"]
                        };
                        vk.Værktøj_i_kassen.Add(vt); //Scaffolding struktur opsættes
                        vt.LiggerI = vk;             //Scaffolding struktur opsættes
                    }
                }
                fhv = hv;//Opdatering af medsendte håndværker objekt
            }
        }