private void timerCerrar_Tick(object sender, EventArgs e) { try { posicion -= 5; this.Location = new Point(Screen.PrimaryScreen.Bounds.Right - posicion, posVertical); if (posicion <= 0) { this.Opacity = 0.3; listaSlots.Remove(posVertical); this.Close(); if (grouper1.BackgroundGradientColor == Color.Red) { frmRecordatorios ofrmRecordatorios = new frmRecordatorios(Mensaje, id_Cita, Color.Red, IdCliente, true); ofrmRecordatorios.Show(); Program.contRecordatorios++; } else if (grouper1.BackgroundGradientColor == Color.Yellow) { frmRecordatorios ofrmRecordatorios = new frmRecordatorios(Mensaje, id_Cita, Color.Yellow, IdCliente, false); ofrmRecordatorios.Show(); Program.contRecordatorios++; } } } catch { //Atrapa el error en caso de que el objeto form haya sido eliminado } }
public void MuestraRecordatoriosAltaPrioridad() { try { string Sentencia = ""; Sentencia = "Select * from Citas where cast(convert(varchar, fecha_inicial_record ,112) as datetime) <= '" + System.DateTime.Today.ToShortDateString() + "' and estado_recordatorio != 2 and prioridad_recordatorio = 'Alta'"; DataSet ds = Program.oPersistencia.ejecutarSQLListas(Sentencia, "Citas"); foreach (DataRow dr in ds.Tables[0].Rows) { //Verificamos que la fecha de la cita todavía no haya transcurrido, de lo contrario modificamos el estado de la cita //para señarlarla como finalizada if (Convert.ToDateTime(dr[3]) >= DateTime.Today) { //Verificamos que el día del recordatorio sea igual al día actual if (Convert.ToDateTime(dr[7]).ToShortDateString() == DateTime.Today.ToShortDateString()) { //Verificamos si la hora y minuto del recordatorio son menores a la hora actual del sistema //así de esta forma si habíamos cerrado la aplicación durante el transcurso de un recordatorio pendiente //este se muestre de igual forma para notificar el recordatorio if (Convert.ToDateTime(dr[7]).Hour <= DateTime.Now.Hour) { //if (Convert.ToDateTime(dr[7]).Minute <= DateTime.Now.Minute) //{ if (Convert.ToBoolean(dr[11]) == false)//Paciente Existente { #region Selecciona el nombre del paciente DataSet ds2 = Program.oPersistencia.ejecutarSQLListas("Select num_expediente, nombre + ' ' + apellidos from Paciente where num_expediente = " + dr[1].ToString().Trim(), "Paciente"); if (ds2 != null) { if (ds2.Tables[0].Rows.Count > 0) { foreach (DataRow dr2 in ds2.Tables[0].Rows) { oIdPaciente.Add(dr2[0].ToString().Trim()); NombrePaciente = dr2[1].ToString().Trim(); break; } } } ds2.Dispose(); #endregion } else { oIdPaciente.Add(0); NombrePaciente = dr[12].ToString().Trim(); } #region Selecciona el nombre del doctor DataSet ds3 = Program.oPersistencia.ejecutarSQLListas("Select nombre from Empleados where id_emp = " + dr[2].ToString().Trim(), "Empleados"); if (ds3 != null) { if (ds3.Tables[0].Rows.Count > 0) { foreach (DataRow dr3 in ds3.Tables[0].Rows) { NombreDoctor = dr3[0].ToString().Trim(); break; } } } ds3.Dispose(); #endregion DateTime Fecha = new DateTime(); Fecha = Convert.ToDateTime(dr[3]); string Mensaje = "El paciente: " + NombrePaciente + " posee una cita el día " + Fecha.ToLongDateString() + " a las " + Fecha.ToLongTimeString() + " con el doctor " + NombreDoctor + " por motivo de " + dr[5].ToString().Trim(); frmRecordatorios ofrmRecordatorios = new frmRecordatorios(Mensaje, dr[0].ToString(), Color.Red, dr[1].ToString().Trim(), true); ofrmRecordatorios.Show(); Program.contRecordatorios++; //} } } else { //Si el día del recordatorio ya transcurrió y el recordatorio no ha sido finalizado se vuelve a mostrar, ya que se supone //que cuando el sistema muestre los recordatorios el usuario debería de tomar las acciones necesarias y eliminar el recordatorio #region Selecciona el nombre del paciente DataSet ds2 = Program.oPersistencia.ejecutarSQLListas("Select num_expediente, nombre + ' ' + apellidos from Paciente where num_expediente = " + dr[1].ToString().Trim(), "Paciente"); if (ds2 != null) { if (ds2.Tables[0].Rows.Count > 0) { foreach (DataRow dr2 in ds2.Tables[0].Rows) { oIdPaciente.Add(dr2[0].ToString().Trim()); NombrePaciente = dr2[1].ToString().Trim(); break; } } } ds2.Dispose(); #endregion #region Selecciona el nombre del doctor DataSet ds3 = Program.oPersistencia.ejecutarSQLListas("Select nombre from Empleados where id_emp = " + dr[2].ToString().Trim(), "Empleados"); if (ds3 != null) { if (ds3.Tables[0].Rows.Count > 0) { foreach (DataRow dr3 in ds3.Tables[0].Rows) { NombreDoctor = dr3[0].ToString().Trim(); break; } } } ds3.Dispose(); #endregion DateTime Fecha = new DateTime(); Fecha = Convert.ToDateTime(dr[3]); string Mensaje = "El paciente: " + NombrePaciente + " posee una cita el día " + Fecha.ToLongDateString() + " a las " + Fecha.ToLongTimeString() + " con el doctor " + NombreDoctor + " por motivo de " + dr[5].ToString().Trim(); frmRecordatorios ofrmRecordatorios = new frmRecordatorios(Mensaje, dr[0].ToString(), Color.Red, dr[1].ToString().Trim(), true); ofrmRecordatorios.Show(); Program.contRecordatorios++; } } else { //Finaliza la cita ya que la fecha establecida para la misma ya caducó. ModificarEstadoCita("1", dr[0].ToString().Trim()); //Finaliza el recordatorio con la cita ya que la fecha de la cita ya caducó. ModificarEstadoRecordatorios("2", dr[0].ToString().Trim()); } } ds.Dispose(); } catch { } }