示例#1
0
        private async Task SeedWroldHeritage()
        {
            XmlSerializer deserializer = new XmlSerializer(typeof(Rows));
            TextReader    textReader   = new StreamReader(@"C:/Users/micha/source/repos/MCB/MCB/MCB.Data/LoadData/WorldHeritage.xml");
            Rows          worldHeritage;

            worldHeritage = (Rows)deserializer.Deserialize(textReader);

            var worldHeritageList    = new List <WorldHeritage>();
            var listOfLinkedEntities = new List <WorldHeritageCountry>();

            foreach (var item in worldHeritage.Row)
            {
                var listOfCountries = item.Iso_code.ToUpper().Split(',').ToList();

                var newWorldHeritage = new WorldHeritage()
                {
                    UnescoId  = item.Id_number,
                    ImageUrl  = item.Image_url,
                    IsoCodes  = item.Iso_code,
                    Latitude  = item.Latitude,
                    Longitude = item.Longitude,
                    Location  = item.Location,
                    Region    = item.Region
                };

                var listOfCountriesFromDb = new List <Country>();

                foreach (var country in listOfCountries)
                {
                    var countryFromDb = _context.Country.Where(c => c.Alpha2Code == country).FirstOrDefault();

                    if (countryFromDb != null)
                    {
                        listOfCountriesFromDb.Add(countryFromDb);

                        if (listOfCountries.Count() == listOfCountriesFromDb.Count())
                        {
                            foreach (var countryToIclude in listOfCountriesFromDb)
                            {
                                listOfLinkedEntities.Add(new WorldHeritageCountry {
                                    Country = countryToIclude, WorldHeritage = newWorldHeritage
                                });
                            }
                        }
                    }
                }

                worldHeritageList.Add(newWorldHeritage);
            }

            _context.AddRange(worldHeritageList);
            _context.AddRange(listOfLinkedEntities);
            await _context.SaveChangesAsync();

            textReader.Close();
        }
示例#2
0
        public async Task Seed(string recreateDbOption)
        {
            if (recreateDbOption != "True")
            {
                return;
            }

            var firstUser = new TUser()
            {
                Id = "fec0a4d6-5830-4eb8-8024-272bd5d6d2bb", UserName = "******"
            };
            var secondUser = new TUser()
            {
                Id = "c3b7f625-c07f-4d7d-9be1-ddff8ff93b4d", UserName = "******"
            };

            var countryAzerbaijan = _context.Country.Where(c => c.Alpha3Code == "AZE").FirstOrDefault();
            var countryMexico     = _context.Country.Where(c => c.Alpha3Code == "MEX").FirstOrDefault();
            var countryThailand   = _context.Country.Where(c => c.Alpha3Code == "THA").FirstOrDefault();
            var countryCambodia   = _context.Country.Where(c => c.Alpha3Code == "KHM").FirstOrDefault();
            var countryVietnam    = _context.Country.Where(c => c.Alpha3Code == "VNM").FirstOrDefault();

            var firstAsiaTrip = new Trip()
            {
                Name        = "My First Asia Trip",
                TripManager = firstUser,
                UserTrips   = new List <UserTrip>()
                {
                    new UserTrip()
                    {
                        TUser = firstUser
                    }
                },
                Stops = new List <Stop>()
                {
                    new Stop()
                    {
                        Name        = "Bangok",
                        Description = "First Day in Bangok",
                        Order       = 1,
                        Arrival     = new DateTime(2016, 10, 31),
                        Departure   = new DateTime(2016, 11, 1),
                        Country     = countryThailand,
                        Latitude    = 00.000000,
                        Longitude   = 00.000000,
                    },
                    new Stop()
                    {
                        Name        = "Cambodia",
                        Description = "First Day in Cambodia",
                        Order       = 1,
                        Arrival     = new DateTime(2016, 11, 2),
                        Departure   = new DateTime(2016, 11, 4),
                        Country     = countryCambodia,
                        Latitude    = 00.000000,
                        Longitude   = 00.000000,
                    },
                    new Stop()
                    {
                        Name        = "Vietnam",
                        Description = "First Day in Vietnam",
                        Order       = 1,
                        Arrival     = new DateTime(2016, 11, 7),
                        Departure   = new DateTime(2016, 11, 14),
                        Country     = countryVietnam,
                        Latitude    = 00.000000,
                        Longitude   = 00.000000,
                    }
                }
            };

            var azerbaijanTrip = new Trip()
            {
                Name        = "My First Azerbaijan Trip",
                TripManager = firstUser,
                UserTrips   = new List <UserTrip>()
                {
                    new UserTrip()
                    {
                        TUser = firstUser
                    }
                },
                Stops = new List <Stop>()
                {
                    new Stop()
                    {
                        Name          = "Baku",
                        Description   = "First Day in Baku",
                        Order         = 1,
                        Arrival       = new DateTime(2019, 5, 1),
                        Departure     = new DateTime(2019, 5, 2),
                        Country       = countryAzerbaijan,
                        Latitude      = 40.383333,
                        Longitude     = 49.866667,
                        WorldHeritage = _context.WorldHeritage.Where(w => w.UnescoId == "1076").FirstOrDefault()
                    },
                    new Stop()
                    {
                        Name          = "Apsheron",
                        Description   = "Second Day in Baku",
                        Order         = 2,
                        Arrival       = new DateTime(2019, 5, 2),
                        Departure     = new DateTime(2019, 5, 3),
                        Country       = countryAzerbaijan,
                        Latitude      = 40.383333,
                        Longitude     = 49.866667,
                        WorldHeritage = _context.WorldHeritage.Where(w => w.UnescoId == "958").FirstOrDefault()
                    }
                }
            };

            _context.AddRange(azerbaijanTrip, firstAsiaTrip);
            await _context.SaveChangesAsync();
        }