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();
}