BikeInCity.Web.Tasks.BikeTask.UpdateCityStations C# (CSharp) Метод

UpdateCityStations() приватный Метод

private UpdateCityStations ( City city, ISession session ) : void
city BikeInCity.Model.City
session ISession
Результат void
        private void UpdateCityStations(City city, ISession session)
        {
            City cityInDB;
            if (city.Id != 0)
            {
                cityInDB = session.Load<City>(city.Id);
            }
            else
            {
                cityInDB = session.Query<City>().Where(x => x.Name == city.Name).FirstOrDefault();
            }

            if (cityInDB == null)
            {
                _log.Error("City with ID: " + city.Id + " or name " + city.Name + " not found in DB");
                return;
            }

            var query = session.CreateQuery("delete Station where CityId = " + cityInDB.Id);
            var result = query.ExecuteUpdate();
            Console.Write(result);

            session.Refresh(cityInDB);

            foreach (var station in city.Stations)
            {
                station.City = cityInDB;
                session.Save(station);
            }

            cityInDB.Stations = city.Stations;
            session.Update(cityInDB);
            session.Flush();
        }