Esempio n. 1
0
        public override void ProcessRecord(string[] tokens)
        {
            currentCount++;

            string locationdesc = tokens[9];
            string featuredesc = tokens[10];

            //this should throw if it doesn't find anything - should never happen
            int locationId = GetLocationID(locationdesc);

            if (!features.Exists(f => f.LocationID == locationId && f.Name == featuredesc))
            {
                Featuredesc feature = new Featuredesc
                {
                    LocationID = locationId,
                    Name = featuredesc
                };

                features.Add(feature);
                _database.Featuredesc.Add(feature);

                if (currentCount > commitCount)
                {
                    _database.SaveChanges();

                    _database.Dispose();
                    _database = new MarbleDataBase();
                    _database.Configuration.AutoDetectChangesEnabled = false;

                    var featurecheck = from f in _database.Featuredesc
                                         where f.FeaturedescID == feature.FeaturedescID
                                         select f;

                    foreach (Featuredesc fcheck in featurecheck)
                    {
                        Console.WriteLine("{0} {1} {2}", fcheck.FeaturedescID, fcheck.LocationID, fcheck.Name);
                    }

                    currentCount = 0;
                }
            }
        }