public void UpdateBil() { ShowBilAll(); Console.Clear(); //Opdater bil efter bruger input Console.Write("\nIndtast reg nr: "); string regnr = Console.ReadLine(); if (!string.IsNullOrEmpty(regnr)) { //Find ud af hvad brugeren vil ændre ShowBil(regnr); MenuItem[] Update = new MenuItem[] { new MenuItem("Reg nr"), new MenuItem("Kunde Id"), new MenuItem("Mærke"), new MenuItem("Model"), new MenuItem("Årgang"), new MenuItem("Km"), new MenuItem("Brændstof"), new MenuItem("Kml"), new MenuItem("Accepter"), new MenuItem("Tilbage") }; bool accept = false; List<string> choosen = new List<string>(); string valgt = string.Empty; while (!accept) { switch (menu.MenuSelector(Update, valgt + "\nHvad vil du ændre?\n")) { case 0: if (!choosen.Contains("Reg_nr")) choosen.Add("Reg_nr"); else choosen.Remove("Reg_nr"); break; case 1: if (!choosen.Contains("Kunde_Id")) choosen.Add("Kunde_Id"); else choosen.Remove("Kunde_Id"); break; case 2: if (!choosen.Contains("Maerke")) choosen.Add("Maerke"); else choosen.Remove("Maerke"); break; case 3: if (!choosen.Contains("Model")) choosen.Add("Model"); else choosen.Remove("Model"); break; case 4: if (!choosen.Contains("Aargang")) choosen.Add("Aargang"); else choosen.Remove("Aargang"); break; case 5: if (!choosen.Contains("Km")) choosen.Add("Km"); else choosen.Remove("Km"); break; case 6: if (!choosen.Contains("Braendstof")) choosen.Add("Braendstof"); else choosen.Remove("Braendstof"); break; case 7: if (!choosen.Contains("Kml")) choosen.Add("Kml"); else choosen.Remove("Kml"); break; case 8: accept = true; break; case 9: return; default: break; } valgt = ("Valgt: "); foreach (string s in choosen) { valgt += (s + ", "); } valgt += "\n"; } Bil bil = new Bil(); foreach (string c in choosen) { switch (c.ToLower()) { case "reg_nr": Console.WriteLine("Indtast nyt Regnr"); bil.RegNR = Console.ReadLine().Trim(); break; case "kunde_id": Console.WriteLine("Indtast nyt Kunde ID"); bil.KundeID = Convert.ToInt16(Console.ReadLine().Trim()); break; case "maerke": Console.WriteLine("Indtast nyt mærke"); bil.Maerke = Console.ReadLine().Trim(); break; case "model": Console.WriteLine("Indtast ny Model"); bil.Model = Console.ReadLine().Trim(); break; case "aargang": Console.WriteLine("Indtast ny årgang"); bil.Aargang = Convert.ToInt16(Console.ReadLine().Trim()); break; case "km": Console.WriteLine("Indtast ny km"); bil.Km = Convert.ToInt16(Console.ReadLine().Trim()); break; case "braendstof": Console.WriteLine("Indtast nyt Brændstof"); bil.Braendstof = Console.ReadLine(); break; case "kml": Console.WriteLine("Indtast ny kml"); float.TryParse(Console.ReadLine(), out float kml); bil.Kml = kml; break; default: UpdateBil(); break; } } List<string> ToUpdate = new List<string>(); //Dette finder ud af hvad der skal ændres if (!string.IsNullOrEmpty(bil.RegNR)) ToUpdate.Add(string.Format("reg_nr = '{0}'", bil.RegNR)); if (bil.KundeID > 0) ToUpdate.Add(string.Format("Kunde_id = '{0}", bil.KundeID)); if (!string.IsNullOrEmpty(bil.Maerke)) ToUpdate.Add(string.Format("maerke = '{0}'", bil.Maerke)); if (!string.IsNullOrEmpty(bil.Model)) ToUpdate.Add(string.Format("model = '{0}'", bil.Model)); if (bil.Aargang > 1900) ToUpdate.Add(string.Format("aargang = '{0}'", bil.Aargang)); if (bil.Km >= 0) ToUpdate.Add(string.Format("km = '{0}'", bil.Km)); if (!string.IsNullOrEmpty(bil.Braendstof)) ToUpdate.Add(string.Format("braendstof = '{0}'", bil.Braendstof)); if (bil.Kml > 0) ToUpdate.Add(string.Format("kml = '{0}'", bil.Kml)); string sqlcmd = "Update Biler Set "; //Skriv kommandoen for (int i = 0; i < ToUpdate.Count; i++) { sqlcmd += ToUpdate[i]; if (i < (ToUpdate.Count - 1)) sqlcmd += ", "; } sqlcmd += string.Format(" where reg_nr = '{0}'", regnr); SQL.Update(sqlcmd); } }
public void UpdateKunde() { Console.Clear(); Console.WriteLine("\nIndtast kunde id: "); string kid = Console.ReadLine(); int.TryParse(kid, out int id); //Hvis id < 0, Spørg hvad man vil ændre if (id > 0) { MenuItem[] Update = new MenuItem[] { new MenuItem("Fornavn"), new MenuItem("Efternavn"), new MenuItem("Adresse"), new MenuItem("Telefon"), new MenuItem("Accepter"), new MenuItem("Tilbage") }; bool accept = false; List<string> choosen = new List<string>(); string valgt = string.Empty; while (!accept) { switch (menu.MenuSelector(Update, valgt + "\nHvad vil du ændre? ")) { case 0: if (!choosen.Contains("Fornavn")) choosen.Add("Fornavn"); else choosen.Remove("Fornavn"); break; case 1: if (!choosen.Contains("Efternavn")) choosen.Add("Efternavn"); else choosen.Remove("Efternavn"); break; case 2: if (!choosen.Contains("Adresse")) choosen.Add("Adresse"); else choosen.Remove("Adresse"); break; case 3: if (!choosen.Contains("Telefon")) choosen.Add("Telefon"); else choosen.Remove("Telefon"); break; case 4: accept = true; break; case 5: return; default: break; } valgt = ("Valgt: "); foreach (string s in choosen) { valgt += (s + ", "); } valgt += "\n"; } Kunde kunde = new Kunde(); //Gå igennem alt i valgt og skriv data til en Kunde foreach (string c in choosen) { switch (c.ToLower()) { case "fornavn": Console.WriteLine("Indtast nyt fornavn"); kunde.Fornavn = Console.ReadLine().Trim(); break; case "efternavn": Console.WriteLine("Indtast nyt efternavn"); kunde.Efternavn = Console.ReadLine().Trim(); break; case "adresse": Console.WriteLine("Indtast ny adresse"); kunde.Adresse = Console.ReadLine().Trim(); break; case "telefon": Console.WriteLine("Indtast nyt Telefon nr"); kunde.Tlf = Console.ReadLine().Trim(); break; default: Console.WriteLine("Ukendt Indput"); UpdateKunde(); break; } } //Lav en liste over hvad der skal opdateres List<string> ToUpdate = new List<string>(); //Hvis noget er ændret så sæt dem til ToUpdate listen if (!string.IsNullOrEmpty(kunde.Fornavn)) ToUpdate.Add(string.Format("fornavn = '{0}'", kunde.Fornavn)); if (!string.IsNullOrEmpty(kunde.Efternavn)) ToUpdate.Add(string.Format("efternavn = '{0}'", kunde.Efternavn)); if (!string.IsNullOrEmpty(kunde.Adresse)) ToUpdate.Add(string.Format("adresse = '{0}'", kunde.Adresse)); if (!string.IsNullOrEmpty(kunde.Tlf)) ToUpdate.Add(string.Format("tlf = '{0}'", kunde.Tlf)); string sqlcmd = "Update Kunder Set "; //for hver ting der skal opdateres, tilføj parametre, og hvis det ikke er den sidste parametre tilføj ", " for (int i = 0; i < ToUpdate.Count; i++) { sqlcmd += ToUpdate[i]; if (i < (ToUpdate.Count - 1)) sqlcmd += ", "; } //Gør kommandoen færdig og kør den sqlcmd += " where id = " + id.ToString(); SQL.Update(sqlcmd); } }