public void Execute(IJobExecutionContext context)
{
string instName = context.JobDetail.Key.Name;
string instGroup = context.JobDetail.Key.Group;
if (!Global.CityStatuses.ContainsKey(instName))
{
Global.CityStatuses.Add(instName, "Not yet executed");
}
try
{
var dataMap = context.JobDetail.JobDataMap;
var session = SessionFactory.OpenSession();
//use one session per the list of cities
IBikeCity bikeCity = Global.GetBikeCity(instName);
List<City> cities = bikeCity.ProcessCity();
foreach (var city in cities)
{
UpdateCityStations(city, session);
session.Close();
}
Global.CityStatuses[instName] = "OK";
}
catch (Exception ex)
{
_log.Error("Error while downloading the cities in the task: " + instName,ex);
Global.CityStatuses[instName] = ex.Message;
}
}