private void Excluir(object sender, EventArgs e) { try { if (Convert.ToDateTime(dgvReservas.SelectedRows[0].Cells["Data"].Value.ToString()).Date > DateTime.Now.Date || Convert.ToDateTime(dgvReservas.SelectedRows[0].Cells["Data"].Value.ToString()).Date == DateTime.Now.Date && Convert.ToDateTime(dgvReservas.SelectedRows[0].Cells["Entrada"].Value.ToString()).TimeOfDay > DateTime.Now.TimeOfDay) { if (MessageBox.Show("Tem certeza que deseja excluir essa reserva?", "Confirmação", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { objBll.DeleteReserva(int.Parse(dgvReservas.SelectedRows[0].Cells["IdReserva"].Value.ToString())); Principal_Load(sender, e); } } else { MessageBox.Show("Não permetido a exclusão de reservas iniciadas ou concretizadas.", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } catch (Exception ex) { if (ex.Message.Contains("O índice estava fora do intervalo. Ele deve ser não-negativo e menor que o tamanho da coleção.")) { MessageBox.Show("Não há reservas para serem excluídas.\n(Verifique os filtros)", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }