public int ingresarCitaMedica(CitaMedica citaMedica) { int r = 0; try { cn.abrirConexion(); Paciente paciente = new Paciente(); paciente.Citas = dao.ListarCitasDeUnPaciente(citaMedica.Paciente.Id.ToString(), citaMedica.HorarioAtencion.Fecha.ToString() ); if (paciente.masDeDosCitas()){ return r; } else { r = dao.ingresar(citaMedica); cn.cerrarConexion(); return r; } } catch (Exception e) { System.Console.WriteLine("ERROR -> aplicacion -> servicio cita medica -> ingresar " + e + "\n "); throw e; } }
public int ingresar(CitaMedica cm) { int registros_afectados; String sentenciaSQL = " insert into citaMedica(idHorarioAtencion, idPaciente) values(@idHorarioAtencion, @idPaciente) "; try { SqlCommand comando = cn.obtenerComandoSQL(sentenciaSQL); comando.Parameters.AddWithValue("@idHorarioAtencion", cm.HorarioAtencion.Id); comando.Parameters.AddWithValue("@idPaciente", cm.Paciente.Id); registros_afectados = comando.ExecuteNonQuery(); return registros_afectados; } catch (Exception err) { System.Console.WriteLine("ERROR -> persistencia -> citaMedicaDAO -> ingresar " + err + "\n"); throw err; } }
public List<CitaMedica> ListarCitasDelDia(Medico medico) { List<CitaMedica> listaDeCitasDePaciente = new List<CitaMedica>(); try { String sentenciaSQL =" select cm.id as idCita, p.nombre, p.apellidoPaterno, p.apellidoMaterno, p.dni, ha.inicio, ha.fin " +" from horarioAtencion ha, citaMedica cm, paciente p, medico m " +" where " +" cm.idPaciente = p.id and " +" cm.idHorarioAtencion = ha.id and " +" ha.idMedico = m.id and " +" m.id = '"+medico.Id+"' and " + " ha.fecha = ( SELECT CAST(getdate() as DATE) ) ; "; //+" ha.fecha = (SELECT CAST(getdate() as DATE) ); "; SqlDataReader resultado = cn.ejecutarConsulta(sentenciaSQL); while (resultado.Read()) { CitaMedica cm = new CitaMedica(); Paciente p = new Paciente(); HorarioAtencion ha = new HorarioAtencion(); cm.Id = resultado.GetInt32(0); p.Nombre = resultado.GetString(1); p.ApellidoPaterno = resultado.GetString(2); p.ApellidoMaterno = resultado.GetString(3); p.Dni = resultado.GetString(4); ha.Inicio = resultado.GetString(5); ha.Fin = resultado.GetString(6); cm.Paciente = p; cm.HorarioAtencion = ha; listaDeCitasDePaciente.Add(cm); } resultado.Close(); return listaDeCitasDePaciente; } catch (Exception err) { System.Console.WriteLine("ERROR -> persistencia -> citaMedicaDAO -> ListarCitasDelDia() " + err + "\n\n "); throw err; } }
/* public frmAddTratamiento(Tratamiento tratamiento) { InitializeComponent(); objTratamiento = tratamiento; } public frmAddTratamiento(CitaMedica citaMedica) { InitializeComponent(); objCitaMedica = citaMedica; txtNombrePaciente.Text = objCitaMedica.HorarioAtencion.Medico.Nombre; txtFechaCitaMedica.Text= Convert.ToString(objCitaMedica.HorarioAtencion.Fecha.ToString()); } */ //---------------------------------comienzan metodos private void btnBuscar_Click(object sender, EventArgs e) { frmBuscarCitasDePaciente frm = new frmBuscarCitasDePaciente(); frm.ShowDialog(); objCitaMedica = frm.objCitaMedicaSeleccionada; if (objCitaMedica.Id == 0 ) txtNombrePaciente.Text = "no ha seleccionado una cita"; else { txtNombrePaciente.Text = objCitaMedica.Paciente.Nombre + " " +objCitaMedica.Paciente.ApellidoPaterno; txtDNI.Text = objCitaMedica.Paciente.Dni; btnBuscarTratamientos.Enabled = true; } /* frmBuscarCitasDePaciente f2 = new frmBuscarCitasDePaciente(); //creamos un objeto del formulario 2 DialogResult res = f2.ShowDialog(); //abrimos el formulario 2 como cuadro de dialogo modal if (res == DialogResult.OK) { //recuperando la variable publica del formulario 2 this.objCitaMedica = f2.objCitaMedicaSeleccionada; //asignamos al texbox el dato de la variable } */ }
private void btnGuardar_Click(object sender, EventArgs e) { int registros_afectados; CitaMedica cita = new CitaMedica(); ServicioCitaMedica servicio = new ServicioCitaMedica(); try { cita.Paciente = objPacienteSeleccionado; cita.HorarioAtencion = objHorarioSeleccionado; cita.HorarioAtencion.Fecha = txtFecha.Value.ToString("MM/dd/yyyy"); registros_afectados = servicio.ingresarCitaMedica(cita); if (registros_afectados >= 1) MessageBox.Show("Su cita medica fue reservada con exito.", "PRODENT: Confirmación", MessageBoxButtons.OK, MessageBoxIcon.Information); else MessageBox.Show("No puede tener mas de dos citas diarias, verifique.", "PRODENT: Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Error); dataHorarioAtencion.Rows.Clear(); LimpiarCajas(); btnGuardar.Enabled = false; btnBuscarHorario.Enabled = false; } catch (Exception err) { MostrarMensajeDeError(); System.Console.WriteLine("ERROR -> presentacion -> FRM-addCitaMedica -> btn GUARDAR " + err + "\n"); } }
//public Boolean MasDeDosCitas(CitaMedica cita) //{ // //List<CitaMedica> listaDeCitasDePaciente = new List<CitaMedica>(); // int num = 0; // try // { // String sentenciaSQL = " select count(dni) as dni from (select p.dni " // + " from horarioAtencion ha, citaMedica cm, paciente p, medico m " // + " where " // + " ha.idMedico = m.id and " // + " cm.idPaciente = p.id and " // + " cm.idHorarioAtencion = ha.id and " // + " p.dni like '%4444%' and " // + " ha.fecha = '01-01-2016') x "; // SqlDataReader resultado = cn.ejecutarConsulta(sentenciaSQL); // while (resultado.Read()) // { // num = resultado.GetInt16(0); // /*CitaMedica cm = new CitaMedica(); // Paciente p = new Paciente(); // p.Dni = resultado.GetString(0); // cm.paciente = p; // listaDeCitasDePaciente.Add(cm);*/ // } // resultado.Close(); // /* // int cont = 0; // for (int i = 0; i < listaDeCitasDePaciente.Count; i++ ) // { // if (listaDeCitasDePaciente[i].paciente.Dni.Equals(cita.paciente.Dni)) // cont++; // } // */ // if (num > 2) // return true; // else // return false; // } // catch (Exception err) // { // System.Console.WriteLine("ERROR -> dominio -> CitaMedica -> MasDeDosCitas " + err + "\n "); // throw err; // } //}//fin de buscar public Boolean MasDeDosCitas(CitaMedica cita) { //List<CitaMedica> listaDeCitasDePaciente = new List<CitaMedica>(); int num = 0; try { SqlConnection sqlConnection1 = new SqlConnection("Data Source=ppi7dowad9.database.windows.net;Initial Catalog=prodent;Integrated Security=false;User ID=clopezc;Password=123456a+;Connect Timeout=60;Encrypt=False;TrustServerCertificate=False"); SqlCommand cmd = new SqlCommand(); Object returnValue; cmd.CommandText =" select count(dni) as dni from (select p.dni " +" from horarioAtencion ha, citaMedica cm, paciente p, medico m " +" where " +" ha.idMedico = m.id and " +" cm.idPaciente = p.id and " +" cm.idHorarioAtencion = ha.id and " +" p.dni like '%"+cita.paciente.Dni+"%' and " +" ha.fecha = '"+cita.horarioAtencion.Fecha+"') x "; cmd.CommandType = CommandType.Text; cmd.Connection = sqlConnection1; sqlConnection1.Open(); returnValue = cmd.ExecuteScalar(); sqlConnection1.Close(); System.Console.WriteLine("el valor que llego de la BD es --> "+returnValue); num = int.Parse(returnValue.ToString()); if (num < 2) return false; else return true; } catch (Exception err) { System.Console.WriteLine("ERROR -> dominio -> CitaMedica -> MasDeDosCitas " + err + "\n "); throw err; } }
//--------------------------------- public List<CitaMedica> ListarCitasDeUnPaciente(string idPaciente, string fecha) { List<CitaMedica> listaDeCitasDePaciente = new List<CitaMedica>(); try { String sentenciaSQL = " select p.nombre, p.apellidoPaterno, p.apellidoMaterno, ha.inicio, ha.fin " + " from horarioAtencion ha, citaMedica cm, paciente p, medico m " + " where " + " cm.idpaciente = p.id and " + " cm.idHorarioAtencion = ha.id and " + " ha.idMedico = m.id and " + " p.id = '" + idPaciente + "' and " + " ha.fecha = '" + fecha + "' "; SqlDataReader resultado = cn.ejecutarConsulta(sentenciaSQL); while (resultado.Read()) { CitaMedica cm = new CitaMedica(); Paciente p = new Paciente(); HorarioAtencion ha = new HorarioAtencion(); p.Nombre = resultado.GetString(0); p.ApellidoPaterno = resultado.GetString(1); p.ApellidoMaterno = resultado.GetString(2); ha.Inicio = resultado.GetString(3); ha.Fin = resultado.GetString(4); cm.HorarioAtencion = ha; cm.Paciente = p; listaDeCitasDePaciente.Add(cm); } resultado.Close(); return listaDeCitasDePaciente; } catch (Exception err) { System.Console.WriteLine("ERROR -> persistencia -> citaMedicaDAO -> ListarPacientesPorMedico " + err + "\n "); throw err; } }
private void dataCitaMedica_MouseClick(object sender, MouseEventArgs e) { objCitaMedicaSeleccionada = listaDeCitasMedicas[int.Parse(dataCitaMedica.CurrentRow.Index.ToString())]; }