// auxiliary function to invoke cleanUpSessions with all the args necessary internal void MakeCleanUpSessionIfExists(IAlarmClock alarmClock, IAlarm alarm, string cs, string siteName) { ChecksOnName(siteName); using (var context = new AuctionSiteContext(cs)) { ChecksOnDbConnection(context); var siteEntity = context.Sites.Find(siteName); // if more than one, it throws InvalidOperationException which is okay if (siteEntity == null) { alarm.Dispose(); // prova a vedere se ci sono problemi } else { var site = new Site(siteEntity.Name, siteEntity.Timezone, siteEntity.SessionExpirationInSeconds, siteEntity.MinimumBidIncrement) { Cs = cs, AlarmClock = alarmClock }; site.CleanupSessions(); } } }