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; } }
/// <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() }; }
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); } }
/// <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; } } }
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); }
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; } }
/// <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 } }
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(); } }
/// <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; } } }
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 } }