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