private void InsertData(DataTable dt) { int UpdateCount = 0, InsertCount = 0; try { for (int i = 0; i < dt.Rows.Count; i++) { #region Value Initialization CountryName = dt.Rows[i][CountryNameColumn].ToString().Trim(); StateName = dt.Rows[i][StateNameColumn].ToString().Trim(); CityName = dt.Rows[i][CityNameColumn].ToString().Trim(); #endregion int CountryId = new Country() { eStatus = (int)eStatus.Active, CountryName = CountryName.ToLower() }.SelectList <Country>()[0].CountryId.Value; int StateId = 0; if (!StateName.zIsNullOrEmpty()) { StateId = new State() { CountryId = CountryId, StateName = StateName, eStatus = (int)eStatus.Active } } .SelectList <State>()[0].StateId.Value; DataTable dtCity = new Query() { CountryId = CountryId, StateId = StateId, CityName = CityName.zFirstCharToUpper(), eStatusNot = (int)eStatus.Delete }.Select(eSP.qry_City); var objCity = new City() { CityId = dtCity.Rows.Count > 0 ? dtCity.Rows[0][CS.CityId].zToInt() : (int?)null, StateId = StateId, CityName = CityName, }; if (objCity.CityId.HasValue) { objCity.Update(); UpdateCount++; } else { objCity.eStatus = (int)eStatus.Active; objCity.Insert(); InsertCount++; } }