Exemple #1
0
        private static Person AddPerson(StarWarsFamilyTree db, string name, string father, string mother)
        {
            var motherObj = FindOrAddParent(db, mother);
            var fatherObj = FindOrAddParent(db, father);
            var child     = db.Person.FirstOrDefault(p => p.Name == name);

            // Om personen inte finns, skapa den
            if (child == null)
            {
                child = new Person {
                    Name = name, MotherId = motherObj?.Id, FatherId = fatherObj?.Id
                };
                db.Person.Add(child);
                db.SaveChanges();
                Console.WriteLine($"Created {name}");
            }
            else
            {
                //Om personen finns, ta bort personen och skapa en my med givna föräldrar
                if (motherObj != null)
                {
                    child.MotherId = motherObj.Id;
                }
                if (fatherObj != null)
                {
                    child.FatherId = fatherObj.Id;
                }
                db.Person.Update(child);
                Console.WriteLine($"Updated {name}");
            }
            // Returnera det nyskapade personobjektet
            return(child);
        }
Exemple #2
0
        private static Person FindOrAddParent(StarWarsFamilyTree db, string name)
        {
            // Sök personen med givet namn
            var obj = db.Person.FirstOrDefault(p => p.Name == name);

            if (obj == null && name != string.Empty)
            {
                obj = AddPerson(db, name, string.Empty, string.Empty);
            }

            return(obj);
        }
Exemple #3
0
        public static void PopulateDatabase()
        {
            using (var db = new StarWarsFamilyTree())
            {
                //Skywalker family
                AddPerson(db, "Shmi Skywalker", string.Empty, string.Empty);
                AddPerson(db, "Anakin Skywalker", string.Empty, "Shmi Skywalker");
                AddPerson(db, "Padmé Amidala", "Ruwee Naberrie", "Jobal Naberrie");
                AddPerson(db, "Leia Organa", "Anakin Skywalker", "Padmé Amidala");
                AddPerson(db, "Luke Skywalker", "Anakin Skywalker", "Padmé Amidala");

                // Solo family
                AddPerson(db, "Den Solo", "Korol Solo", string.Empty);
                AddPerson(db, "Jonash Solo", "Den Solo", "Tira Gama Solo");
                AddPerson(db, "Tiion Solo", "Den Solo", "Tira Gama Solo");
                AddPerson(db, "Thrackan Sal-Solo", "Randil Sal", "Tiion Solo");
                AddPerson(db, "Han Solo", "Jonash Solo", "Jaina Solo (Elder)");

                // Naberrie family
                AddPerson(db, "Jobal Naberrie", string.Empty, "Ryoo Thule");

                // Djo Family
                AddPerson(db, "Ta'a Chume", string.Empty, "Ni'Korish");
                AddPerson(db, "Isolder", "Ta'a Chume", "Consort");
                AddPerson(db, "Kalen", "Ta'a Chume", "Consort");
                AddPerson(db, "Tenel Ka Djo", "Isolder", "Teneniel Djo");

                // Skywalker Jade family
                AddPerson(db, "Ben Skywalker", "Luke Skywalker", "Mara Jade");

                // Skywalker Solo Family
                AddPerson(db, "Anakin Solo", "Han Solo", "Leia Organa");
                AddPerson(db, "Jacen Solo", "Han Solo", "Leia Organa");
                AddPerson(db, "Jaina Solo", "Han Solo", "Leia Organa");
                // Ben Solo och Rey är inte med för att de är en Disney-påhittade karaktärer!
                // JJ Abrams och Disney suger!

                //Solo Djo Family
                AddPerson(db, "Allana Solo", "Jacen Solo", "Tenel Ka Djo");

                // Solo Fel family
                AddPerson(db, "Fel II", "Jagged Fel", "Jaina Solo");
                AddPerson(db, "Roan Fel", "Fel II", string.Empty);
                AddPerson(db, "Marasiah Fel", "Roan Fel", "Elliah Fel");

                //Lars Family
                AddPerson(db, "Owen Lars", "Cliegg Lars", "Aika Lars");
                AddPerson(db, "Cliegg Lars", "Lef Lars", "Gredda Lars");
                AddPerson(db, "Edern Lars", "Lef Lars", "Gredda Lars");
                AddPerson(db, "Beru Whitesun", string.Empty, string.Empty);
                db.SaveChanges();
            }
        }