private void FindSolgteBoliger(List <Bolig> Liste) { //placeholder liste var phlist = new List <Bolig>(); //foreach (x)=element, tilføj til phliste, det element Liste.ForEach(x => phlist.Add(x)); //så har vi en liste vi kan smadre uden at tænke videre over det //og her tjekker vi for hvert element i listen, om det er en solgt bolig Liste.ForEach(o => { bool tjek = BoligTabelDB.TjekBoligSolgt(o); if (!tjek) { //Hvis den ikke er solgt, så fjern det skidt fra listen phlist.Remove(o); } }); //nu skal vi have transformeret vores objekter fra bolig til solgt bolig var phsbolig = new SolgtBolig(); //foreach element i placeholder listen, cast til solgtbolig objekt med placeholder værdier som bliver replaced i database kaldet om lidt phlist.ForEach(o => { phsbolig = phsbolig.SælgBolig(o, 1, 1, DateTime.Now); BoligListe.Add(phsbolig); }); // BoligListe = phlist.Cast<SolgtBolig>().ToList(); //En metode til at finde de manglende værdier i databasen, tager en liste som input og returnere en liste hvor der er fyldt de sidste detajler på objektet BoligListe = BoligTabelDB.GetSolgtDetaljerFraListe(BoligListe); }
//private static string filePath = @"C:\Users\marti\BoligListe.txt"; public static bool BoligerTilSalgToFile(string filePath) { bool wasSuccessful; var list = new List <Bolig>(); list = BoligTabelDB.GetAllNotSold(); //har lige udkommenteret denne linje //List<Bolig> list = BoligTabelDB.GetAllNotSold(); //Hent boliger fra database Per opgave 3.2 beskrivelse //var list = new List<Bolig>(); list.Sort(); //Sorter liste. Bolig implementerer ICompareable, som sammenligner på pris og sorterer billigs først FileStream fs; //En lille "metode til at sikre sig at det bliver en txt fil var index = filePath.LastIndexOf('.'); if (index > 0) { filePath = filePath.Substring(0, index); } filePath += ".txt"; try { if (filePath == "") { throw new IOException("Tom sti"); } else { fs = File.OpenWrite(filePath); } } catch (FileNotFoundException) //Hvis filen ikke eksisterer, opret istedet { fs = File.Create(filePath); } //evt implementer en filedialog eller en popup form der beder om sti hvis bruger ikke har permission //Evt også ikke tillade den at lave filen selv, men bede om en sti. try { using (StreamWriter writer = new StreamWriter(fs)) { writer.WriteLine("Adresse".PadRight(25) + "PostNr".PadRight(8) + "Pris".PadRight(20) + "Areal (m^2)".PadRight(10) + "OprettelsesDato".PadRight(10)); //Formatering foreach (Bolig b in list) { writer.WriteLine(b.Adresse.PadRight(25) + b.PostNr.ToString().PadRight(8) + b.Pris.ToString().PadRight(20) + b.Kvm.ToString().PadRight(10) + b.OprettelsesDato.ToString("dd-MM-yyyy")); //Skriver bolig i fil } } wasSuccessful = true; } catch (Exception) //Formentlig unødvendig try catch, men bare for at kunne returnere successkriteriet. { wasSuccessful = false; } return(wasSuccessful); }
public bool IndsætSolgtBolig(SolgtBolig bolig) { bool success = BoligTabelDB.CreateSolgtBolig(bolig); if (success) { PostNrTabelDB.OpdaterGennemsnitsPrisPrM2IEtPostNummer(bolig.PostNr); } return(success); }