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);
        }
Exemplo n.º 2
0
        //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);
        }
Exemplo n.º 3
0
        public bool IndsætSolgtBolig(SolgtBolig bolig)
        {
            bool success = BoligTabelDB.CreateSolgtBolig(bolig);

            if (success)
            {
                PostNrTabelDB.OpdaterGennemsnitsPrisPrM2IEtPostNummer(bolig.PostNr);
            }

            return(success);
        }