public override void Reset() { curStage = TypeImportStage.Places; addressModel = new AddressModel2Entities(); russia = (from c in addressModel.Country where c.Name == "–осси¤" select c).First(); }
public override bool ProcessRow(DataRow row) { //Places NAME SOCR CODE INDEX GNINMB UNO OCATD STATUS string code = row["CODE"].ToString(); if (!ParsePlaceState(code)) { return(false); //ignore non-actual records } curStage = ParseCurState(row); switch (curStage) { case TypeImportStage.Places: switch (ParsePlaceLevel(code)) { case TypePlaceLevel.Area: importArea(row); break; case TypePlaceLevel.District: importDistrict(row); break; case TypePlaceLevel.City: importCity(row); break; } //Commit addressModel.SaveChanges(); break; case TypeImportStage.Streets: if (importStreet(row)) { addressModel.SaveChanges(); } else { return(false); } break; case TypeImportStage.Houses: Building b = new Building(); addressModel.AddToBuilding(b); break; } return(true); }