예제 #1
0
        public override void Import(string path)
        {
            Parser = _parserFactory.Create <Country>(Provider.GetFirstLine(path));

            LoadData(path);

            var expediaCountries = EanCountries.ToArray();

            EanCountries = null;

            var regionsRepository      = RepositoryFactory.Regions();
            var regionsExpediaIdsToIds = regionsRepository.ExpediaIdsToIds;

            var subtypeCountryId = RepositoryFactory.Names <Subtype>().GetId("Country");

            regionsExpediaIdsToIds = ImportRegions(expediaCountries, regionsRepository, regionsExpediaIdsToIds, subtypeCountryId);

            ImportLocalizedRegions(expediaCountries, RepositoryFactory.Localized <LocalizedRegion>(), regionsExpediaIdsToIds);

            //ImportRegionsToTypes(eanCountries, RepositoryFactory.ManyToMany<RegionToSubclass>(), regionsExpediaIdsToIds, subtypeCountryId);

            ImportRegionsToRegions(expediaCountries, RepositoryFactory.ManyToMany <RegionToRegion>(), regionsExpediaIdsToIds);

            var countriesRepository = RepositoryFactory.AdditionalRegionsInfo <Data.Geography.Country>();

            ImportCountries(expediaCountries, countriesRepository, regionsExpediaIdsToIds);

            ImportProbablyMissingCountries(ProbablyMissingCountries, countriesRepository, subtypeCountryId, regionsRepository);
        }
예제 #2
0
        public override void Import(string path)
        {
            LoadData(path);

            var airportsCoordinates = ExpediaDataTransferObjects.ToArray();

            ExpediaDataTransferObjects = null;

            var regionsExpediaIdsToIds =
                ImportRegions(airportsCoordinates, RepositoryFactory.Regions(), CreatorId);

            ImportLocalizedRegions(airportsCoordinates, RepositoryFactory.Localized <LocalizedRegion>(), regionsExpediaIdsToIds, DefaultLanguageId, CreatorId);

            ImportAirports(airportsCoordinates, RepositoryFactory.AdditionalRegionsInfo <Airport>(), regionsExpediaIdsToIds, CreatorId);

            ImportRegionsToSubtypes(airportsCoordinates, RepositoryFactory.ManyToMany <RegionToSubclass>(),
                                    regionsExpediaIdsToIds, RepositoryFactory.Names <Subclass>().GetId("airport"));

            ImportRegionsToRegions(airportsCoordinates, RepositoryFactory.ManyToMany <RegionToRegion>(),
                                   regionsExpediaIdsToIds, RepositoryFactory.AdditionalRegionsInfo <Country>().CodesToIds,
                                   CreatorId);
        }