Мне нужно отобразить MessageBox, сообщающий пользователю, что встреча начнется в течение 15 минут после начала встречи.Главный экран приложения имеет AppointmentsDataGridView, который заполнен информацией из таблицы встреч MySql.Мне нужно каким-то образом получить ближайшую начальную встречу из столбца «Пуск» таблицы, как только пользователь войдет в систему и отобразит окно сообщения, сообщающее пользователю, если встреча начинается в течение 15 минут.
Я пыталсяперебрать AppointmentsDataGridView
в индексе «start», равном 2, и попытаться потянуть в следующий раз и показать MessageBox, но этого не происходит.Показанный код является переключателем, который заполняет AppointmentsDataGridView
при загрузке MainScreenForm
.
private void AllAppointmentsRadioButton_CheckedChanged(object sender, EventArgs e)
{
MySqlConnection con1 = new MySqlConnection(ConfigurationManager.ConnectionStrings["U04i5a"].ConnectionString);
MySqlCommand cmd1 = new MySqlCommand("SELECT appointmentId, customerId, start, end, type FROM appointment", con1);
con1.Open();
MySqlDataAdapter adapter1 = new MySqlDataAdapter(cmd1);
DataTable dt = new DataTable();
adapter1.Fill(dt);
AppointmentsDataGridView.DataSource = dt;
DateTime dtm = Convert.ToDateTime(dtptest.Text);
for (int i = 0; i < dt.Rows.Count; i++)
{
if (dtm.ToShortTimeString().Equals(dt.Rows[i][1].ToString()))
{
MessageBox.Show(dtm.ToShortDateString());
MessageBox.Show(dtm.ToShortTimeString());
MessageBox.Show(dtm.ToShortDateString());
}
//indexes: 0= appointmentId, 1= customerId, 2= start, 3= end, 4= type
dt.Rows[i][1] = TimeZoneInfo.ConvertTimeFromUtc((DateTime)dt.Rows[i][2], TimeZoneInfo.Local);
dt.Rows[i][1] = TimeZoneInfo.ConvertTimeFromUtc((DateTime)dt.Rows[i][3], TimeZoneInfo.Local);
TimeSpan duration = (DateTime)dt.Rows[i][2] - DateTime.Now;
if (duration.TotalMinutes < 15)
{
MessageBox.Show("There is less than 15 minutes before your next appointment:" + dt.Rows[i][2]);
}
}
//today = DateTime.Now.Date.ToString("yyyy-MM-dd");
//15 minute remider might be here?
AppointmentsDataGridView.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
con1.Close();
AppointmentsDataGridView.ClearSelection();
AppointmentsDataGridView.CurrentCell = null;
AppointmentsDataGridView.Update();
AppointmentsDataGridView.Refresh();
}
Формат столбца «start» из БД MySql в DateTime »2019-05-28 13:00: 46 "
Необходимый ящик сообщений не отображается.