Пропускает в цикле while условие в if и сразу переходит к else

Я начинающий разработчик-самоучка. Я разрабатываю телеграмм-бота, который будет присылать уведомление пользователям при изменении даты у файла с FTP сервера.Вместе с уведомлением у меня происходит обновление базы данных. Моя проблема заключается в том, что когда я обновляю данные о файле на FTP сервере, то до перезапуска консоли моё значение не передаётся в базу данных. Таймер должен перезапускать ту часть кода, что отвечает за сравнение файла из бд с файла с FTP.

Вот код:

  private static async Task DataBaseInsertFtp(ITelegramBotClient botClient, Update update)
    {
        string path = "";
        using (StreamReader reader = new StreamReader(path))
        {
            string connection = reader.ReadLine();
            string login = reader.ReadLine();
            string password = reader.ReadLine();
            FtpWebRequest request = (FtpWebRequest)WebRequest.Create(connection);
            request.Credentials = new NetworkCredential(login, password);
            request.Method = WebRequestMethods.Ftp.GetDateTimestamp;
            FtpWebResponse response = (FtpWebResponse)request.GetResponse();
            Console.WriteLine("Последнее время обновления: {0}", response.LastModified);
            const double interval = 0.1 * 60 * 1000;
            System.Timers.Timer timer = new System.Timers.Timer(interval);
            timer.Interval = interval;
            timer.AutoReset = true;
            timer.Enabled = true;
            timer.Elapsed += async (sender, e) =>
            {
                    string connectionString = @"";
                    string sqlExpressionSelect = $"SELECT * FROM DateFileFTP";
                using (SqlConnection connectionFTP = new SqlConnection(connectionString))
                {
                    await connectionFTP.OpenAsync();
                    SqlCommand command = new SqlCommand(sqlExpressionSelect, connectionFTP);
                    SqlDataReader readerFTP = await command.ExecuteReaderAsync();
                    {
                        while (await readerFTP.ReadAsync())
                        {
                            DateTime DateFile = Convert.ToDateTime(readerFTP["DateFile"]);
                            string sqlExpressionUpdate = $"UPDATE DateFileFTP SET DateFile = ('{response.LastModified}')";
                            if (DateFile != response.LastModified)
                            {
                                SqlCommand commandUpdate = new SqlCommand(sqlExpressionUpdate, connectionFTP);
                                commandUpdate.CommandText = sqlExpressionUpdate;
                                int number = await commandUpdate.ExecuteNonQueryAsync();
                                await Database.DataBaseOutput(botClient, update);
                                Console.WriteLine($"Обновлено объектов: {number}");
                            }
                            else
                            {
                            Console.WriteLine("Обновление не произошло");
                            }
    
                        }
                    }
    
                }       
            };               
        }           
    }

Ответы (0 шт):