private void ReloadArchiveOffsets() { ArchiveOffsetCollection tmp = new ArchiveOffsetCollection(); using (SqlConnection reposConn = new SqlConnection(GetReposConnectionString("Manager"))) { reposConn.Open(); using (SqlCommand reposCmd = reposConn.CreateCommand()) { reposCmd.CommandText = "SELECT Id, ScheduleId, OffsetInMinutes, IntervalInSeconds FROM dbo.ArchiveOffsets ORDER BY Id"; reposCmd.CommandType = CommandType.Text; using (SqlDataReader reposReader = reposCmd.ExecuteReader()) { while (reposReader.Read()) { tmp.TryAdd( (int)reposReader["Id"], new ArchiveOffset( (int)reposReader["Id"], (int)reposReader["ScheduleId"], (int)reposReader["OffsetInMinutes"], (int)reposReader["IntervalInSeconds"] ) ); } reposReader.Close(); } } reposConn.Close(); } archiveOffsets = tmp; }