示例#1
0
        public List <entCita> ListarCitasPorMedico(int idMedico, string fechaInicio, string fechaFin)
        {
            SqlConnection conex     = null;
            SqlCommand    cmd       = null;
            SqlDataReader dr        = null;
            entMedico     objMedico = null;

            try
            {
                conex           = fabricaDAO.openConexionSQL();
                cmd             = new SqlCommand("spListarCitasPorMedico", conex);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@prmIdMedico", idMedico);
                cmd.Parameters.AddWithValue("@prmFechaInicio", fechaInicio);
                cmd.Parameters.AddWithValue("@prmFechaFin", fechaFin);
                dr        = cmd.ExecuteReader();
                objMedico = new entMedico();
                while (dr.Read())
                {
                    entCita objCita = GetCita(dr);
                    objMedico.ListaCitas.Add(objCita);
                }
            }
            catch (Exception ex)
            {
                throw;
            }
            return(objMedico.ListaCitas);
        }
示例#2
0
        public entMedico BuscarPorApellidos(string apPaterno, string apMaterno)
        {
            SqlConnection conex     = null;
            SqlCommand    cmd       = null;
            SqlDataReader dr        = null;
            entMedico     objMedico = null;

            try
            {
                conex           = fabricaDAO.openConexionSQL();
                cmd             = new SqlCommand("spBuscarMedicoPorApellidos", conex);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@prmApPaterno", apPaterno);
                cmd.Parameters.AddWithValue("@prmApMaterno", apMaterno);
                dr = cmd.ExecuteReader();
                if (dr.Read())
                {
                    objMedico = GetMedico(dr);
                }
            }
            catch (Exception ex)
            {
                throw;
            }
            return(objMedico);
        }
示例#3
0
        public entMedico BuscarPorDNI(string dni)
        {
            SqlConnection conex     = null;
            SqlCommand    cmd       = null;
            SqlDataReader dr        = null;
            entMedico     objMedico = null;

            try
            {
                conex           = fabricaDAO.openConexionSQL();
                cmd             = new SqlCommand("spBuscarMedicoDNI", conex);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@prmDni", dni);
                dr = cmd.ExecuteReader();
                if (dr.Read())
                {
                    objMedico = GetMedicoAll(dr);
                }
            }
            catch (Exception ex)
            {
                throw;
            }
            return(objMedico);
        }
        private entHorarioAtencion GetHorarioAtencion(SqlDataReader dr)
        {
            entHora objHora = new entHora();

            objHora.hora = dr["hora"].ToString();
            entEmpleado objEmpleado = new entEmpleado();

            objEmpleado.nombres   = dr["nombres"].ToString();
            objEmpleado.apPaterno = dr["apPaterno"].ToString();
            objEmpleado.apMaterno = dr["apMaterno"].ToString();
            entEspecialidad objEspecialidad = new entEspecialidad();

            objEspecialidad.descripcion = dr["descripcion"].ToString();
            entMedico objMedico = new entMedico();

            objMedico.idMedico     = Convert.ToInt32(dr["idMedico"]);
            objMedico.Empleado     = objEmpleado;
            objMedico.Especialidad = objEspecialidad;
            entHorarioAtencion objHorarioAtencion = new entHorarioAtencion();

            objHorarioAtencion.Medico = objMedico;
            objHorarioAtencion.Hora   = objHora;

            return(objHorarioAtencion);
        }
示例#5
0
        public List <entCita> ListarCitasPorMedico(int idMedico, string fechaInicio, string fechaFin)
        {
            entMedico objMedico = new entMedico();

            objMedico.ListaCitas = medicoDAO.ListarCitasPorMedico(idMedico, fechaInicio, fechaFin);
            fabricaDAO.closeConexion();
            return(objMedico.ListaCitas);
        }
示例#6
0
        public entMedico BuscarPorDNI(string dni)
        {
            entMedico objMedio = new entMedico();

            objMedio = medicoDAO.BuscarPorDNI(dni);
            fabricaDAO.closeConexion();

            return(objMedio);
        }
示例#7
0
        public entMedico BuscarPorApellidos(string apPaterno, string apMaterno)
        {
            entMedico objMedio = new entMedico();

            objMedio = medicoDAO.BuscarPorApellidos(apPaterno, apMaterno);
            fabricaDAO.closeConexion();

            return(objMedio);
        }
        private void ActualizarTabla()
        {
            entMedico objMedico = (entMedico)Session["medico"];
            GestionarHorarioAtencionServicio gestionarHorarioAtencion = new GestionarHorarioAtencionServicio();
            List <entHorarioAtencion>        Lista = gestionarHorarioAtencion.ListarxID(objMedico.idMedico);

            grvHorarioAtencion.DataSource = CrearTablaHorarioAtencion(Lista);
            grvHorarioAtencion.DataBind();
        }
        private entHorarioAtencion SetHorarioAtencion(DataRow dr)
        {
            entHorarioAtencion objHorarioAtencion = new entHorarioAtencion();
            GestionarHora      gestionarHora      = new GestionarHora();
            entHora            objHora            = gestionarHora.BuscarHora(dr["HORA DE ATENCION"].ToString());
            entMedico          objMedico          = (entMedico)Session["medico"];

            objHorarioAtencion.Medico = objMedico;
            objHorarioAtencion.fecha  = Convert.ToDateTime(dr["FECHA DE ATENCION"]);
            objHorarioAtencion.Hora   = objHora;
            objHorarioAtencion.estado = true;

            return(objHorarioAtencion);
        }
示例#10
0
        private entMedico GetMedico(SqlDataReader dr)
        {
            entMedico       objMedico       = new entMedico();
            entEspecialidad objEspecialidad = new entEspecialidad();
            entEmpleado     objEmpleado     = new entEmpleado();

            objEmpleado.idEmpleado         = Convert.ToInt32(dr["idEmpleado"]);
            objEspecialidad.idEspecialidad = Convert.ToInt32(dr["idEspecialidad"]);
            objMedico.Empleado             = objEmpleado;
            objMedico.Especialidad         = objEspecialidad;
            objMedico.idMedico             = Convert.ToInt32(dr["idMedico"]);
            objMedico.estado = Convert.ToBoolean(dr["estado"]);

            return(objMedico);
        }
示例#11
0
        private entCita GetCita(SqlDataReader dr)
        {
            entCita objCita = new entCita();

            objCita.idCita       = Convert.ToInt32(dr["idCita"]);
            objCita.Paciente     = GetPaciente(dr);
            objCita.fechaReserva = Convert.ToDateTime(dr["fechaReserva"]);
            objCita.hora         = dr["hora"].ToString();

            entMedico objMedico = new entMedico();

            objMedico.idMedico = Convert.ToInt32(dr["idMedico"]);
            objCita.Medico     = objMedico;
            return(objCita);
        }
        private void ListarHorariosDisponibles()
        {
            GestionarHorarioAtencionServicio gestionarHorarioAtencion = new GestionarHorarioAtencionServicio();
            GestionarCitaServicio            gestionarCitaServicio    = new GestionarCitaServicio();
            entMedico objMedico             = new entMedico();
            List <entHorarioAtencion> Lista = objMedico.HorariosDisponibles(gestionarHorarioAtencion.Listar(txtFechaAtencion.Text, Convert.ToInt32(ddlEspecialidad.SelectedValue)), gestionarCitaServicio.Listar());

            dlsHorarioReserva.DataSource = Lista;
            dlsHorarioReserva.DataBind();

            /*
             * if (Lista.Count == 0)
             * {
             *  Response.Write("<script>alert('No hay horarios disponibles para la fecha o especialidad seleccionada.')</script>");
             * }*/
        }
示例#13
0
        private entHorarioAtencion GetHorarioAtencion2(SqlDataReader dr)
        {
            entHora objHora = new entHora();

            objHora.hora = dr["hora"].ToString();
            entMedico objMedico = new entMedico();

            objMedico.idMedico = Convert.ToInt32(dr["idMedico"]);
            entHorarioAtencion objHorarioAtencion = new entHorarioAtencion();

            objHorarioAtencion.Medico = objMedico;
            objHorarioAtencion.Hora   = objHora;
            objHorarioAtencion.fecha  = Convert.ToDateTime(dr["fecha"]);
            objHorarioAtencion.estado = Convert.ToBoolean(dr["estado"]);

            return(objHorarioAtencion);
        }
示例#14
0
        private entCita GetSoloCita(SqlDataReader dr)
        {
            entCita     objCita     = new entCita();
            entMedico   objMedico   = new entMedico();
            entPaciente objPaciente = new entPaciente();

            objMedico.idMedico     = Convert.ToInt32(dr["idMedico"]);
            objPaciente.idPaciente = Convert.ToInt32(dr["idPaciente"]);
            objCita.idCita         = Convert.ToInt32(dr["idCita"]);
            objCita.Medico         = objMedico;
            objCita.Paciente       = objPaciente;
            objCita.fechaReserva   = Convert.ToDateTime(dr["fechaReserva"]);
            objCita.observacion    = dr["observacion"].ToString();
            objCita.estado         = dr["estado"].ToString();
            objCita.hora           = dr["hora"].ToString();
            return(objCita);
        }
        protected void btnBuscar_Click(object sender, EventArgs e)
        {
            try
            {
                entMedico objMedico = new entMedico();

                if (txtDNI.Text != string.Empty || !objMedico.validarDocumento(txtDNI.Text))
                {
                    GestionarMedicoServicio          gestionarMedicoServicio  = new GestionarMedicoServicio();
                    GestionarHorarioAtencionServicio gestionarHorarioAtencion = new GestionarHorarioAtencionServicio();

                    List <entHorarioAtencion> Lista = null;

                    objMedico = gestionarMedicoServicio.BuscarPorDNI(txtDNI.Text);

                    if (objMedico != null)
                    {
                        lblNombre.Text       = objMedico.Empleado.nombres;
                        lblApellidos.Text    = objMedico.Empleado.apPaterno + " " + objMedico.Empleado.apMaterno;
                        lblEspecialidad.Text = objMedico.Especialidad.descripcion;

                        Session["medico"] = objMedico;

                        Lista = gestionarHorarioAtencion.ListarxID(objMedico.idMedico);
                        grvHorarioAtencion.DataSource = CrearTablaHorarioAtencion(Lista);
                        grvHorarioAtencion.DataBind();
                    }
                    else
                    {
                        lblNombre.Text       = "";
                        lblApellidos.Text    = "";
                        lblEspecialidad.Text = "";
                        Response.Write("<script>alert('No existe medico con el DNI ingresado.')</script>");
                    }
                }
                else
                {
                    Response.Write("<script>alert('Ingrese numero de DNI.')</script>");
                }
            }
            catch (Exception ex) { throw ex; }
        }
        protected void btnVerReporte_Click(object sender, EventArgs e)
        {
            if (txtFechaInicio.Text.Length > 0 && txtFechaFin.Text.Length > 0 && txtCodigoMedico.Text.Length > 0)
            {
                entMedico objMedico = new entMedico();
                if (objMedico.validarCodigo(txtCodigoMedico.Text))
                {
                    DateTime fechaInicio = Convert.ToDateTime(txtFechaInicio.Text);
                    DateTime fechaFin    = Convert.ToDateTime(txtFechaFin.Text);
                    if (objMedico.validarDatos(txtCodigoMedico.Text, fechaInicio, fechaFin))
                    {
                        GestionarMedicoServicio gestionarMedicoServicio = new GestionarMedicoServicio();
                        int idMedico = Convert.ToInt32(txtCodigoMedico.Text);

                        objMedico.ListaCitas = gestionarMedicoServicio.ListarCitasPorMedico(idMedico, txtFechaInicio.Text, txtFechaFin.Text);
                        objMedico.ListaCitas = objMedico.CitasAtendidas(objMedico.ListaCitas);
                        if (objMedico.ListaCitas.Count > 0)
                        {
                            ListarCitasAtendidas(objMedico.ListaCitas);
                        }
                        else
                        {
                            Response.Write("<script>alert('No hay citas atendidas para las fechas seleccionadas.')</script>");
                        }
                    }
                    else
                    {
                        Response.Write("<script>alert('Verifique que los datos sean correctos. Las fecha de inicio debe ser menor a la fecha de fin')</script>");
                    }
                }
                else
                {
                    Response.Write("<script>alert('El código solo debe contener números.')</script>");
                }
            }
            else
            {
                Response.Write("<script>alert('Llenar campos vacíos.')</script>");
            }
        }
示例#17
0
        private void AgregarHorario()
        {
            GestionarMedicoServicio          gestionarMedicoServicio  = new GestionarMedicoServicio();
            GestionarHorarioAtencionServicio gestionarHorarioAtencion = new GestionarHorarioAtencionServicio();
            entEmpleado objEmpleado         = (entEmpleado)Session["empleado"];
            List <entHorarioAtencion> Lista = null;
            entMedico objMedico             = gestionarMedicoServicio.BuscarPorDNI(objEmpleado.nroDocumento);

            if (objMedico != null)
            {
                lblNombre.Text       = objMedico.Empleado.nombres;
                lblApellidos.Text    = objMedico.Empleado.apPaterno + " " + objMedico.Empleado.apMaterno;
                lblEspecialidad.Text = objMedico.Especialidad.descripcion;
                lblNroDocumento.Text = objMedico.Empleado.nroDocumento;

                Session["medico"] = objMedico;

                Lista = gestionarHorarioAtencion.ListarxID(objMedico.idMedico);
                grvHorarioAtencion.DataSource = CrearTablaHorarioAtencion(Lista);
                grvHorarioAtencion.DataBind();
            }
        }
示例#18
0
        private entMedico GetMedicoAll(SqlDataReader dr)
        {
            entMedico       objMedico       = new entMedico();
            entEspecialidad objEspecialidad = new entEspecialidad();
            entEmpleado     objEmpleado     = new entEmpleado();

            objMedico.idMedico = Convert.ToInt32(dr["idMedico"]);
            objMedico.estado   = Convert.ToBoolean(dr["estado"]);
            //Objeto Empleado
            objEmpleado.idEmpleado   = Convert.ToInt32(dr["idEmpleado"]);
            objEmpleado.nombres      = dr["nombres"].ToString();
            objEmpleado.apPaterno    = dr["apPaterno"].ToString();
            objEmpleado.apMaterno    = dr["apMaterno"].ToString();
            objEmpleado.nroDocumento = dr["nroDocumento"].ToString();
            objEmpleado.imagen       = dr["imagen"].ToString();
            objMedico.Empleado       = objEmpleado;
            //Objeto Especialidad
            objEspecialidad.idEspecialidad = Convert.ToInt32(dr["idEspecialidad"]);
            objEspecialidad.descripcion    = dr["Especialidad"].ToString();
            objMedico.Especialidad         = objEspecialidad;

            return(objMedico);
        }
示例#19
0
        protected void btnBuscar_Click(object sender, EventArgs e)
        {
            GestionarMedicoServicio          gestionarMedicoServicio  = new GestionarMedicoServicio();
            GestionarHorarioAtencionServicio gestionarHorarioAtencion = new GestionarHorarioAtencionServicio();
            entEmpleado objEmpleado = new entEmpleado();

            if (objEmpleado.ComprobarNroDocumento(txtDNI.Text))
            {
                List <entHorarioAtencion> Lista = null;
                entMedico objMedico             = gestionarMedicoServicio.BuscarPorDNI(txtDNI.Text);

                if (objMedico != null)
                {
                    lblNombre.Text       = objMedico.Empleado.nombres;
                    lblApellidos.Text    = objMedico.Empleado.apPaterno + " " + objMedico.Empleado.apMaterno;
                    lblEspecialidad.Text = objMedico.Especialidad.descripcion;
                    lblNroDocumento.Text = objMedico.Empleado.nroDocumento;

                    Session["medico"] = objMedico;

                    Lista = gestionarHorarioAtencion.ListarxID(objMedico.idMedico);
                    grvHorarioAtencion.DataSource = CrearTablaHorarioAtencion(Lista);
                    grvHorarioAtencion.DataBind();
                }
                else
                {
                    LimpiarCampos();
                    Response.Write("<script>alert('Error: No existe medico con el DNI ingresado.')</script>");
                }
            }
            else
            {
                Response.Write("<script>alert('Error: Formato de DNI incorrecto.')</script>");
            }
            LimpiarCampos();
        }
        protected void btnRegistrar_Click(object sender, EventArgs e)
        {
            int    cont    = 0;
            string nombres = "";

            string[] spli = new string[4];
            string   hora = "";

            //RECORRER TODOS LOS checkBox
            foreach (DataListItem dli in dlsHorarioReserva.Items)
            {
                CheckBox chk = (CheckBox)dli.FindControl("chkSeleccion");
                if (chk.Checked)
                {
                    cont++;
                    nombres = ((Label)dli.FindControl("lblMedico")).Text;
                    spli    = nombres.Split(new Char[] { ' ' });
                    hora    = ((Label)dli.FindControl("lblHora")).Text;
                }
            }

            if (cont == 1)
            {
                GestionarCitaServicio     gestionarCitaServicio     = new GestionarCitaServicio();
                GestionarPacienteServicio gestionarPacienteServicio = new GestionarPacienteServicio();
                GestionarMedicoServicio   gestionarMedicoServicio   = new GestionarMedicoServicio();
                //buscarMedico (por apellidos)
                entMedico objMedico = new entMedico();
                objMedico = gestionarMedicoServicio.BuscarPorApellidos(spli[2].ToString(), spli[3].ToString());
                //buscarPaciente (por nroDocumento)
                entPaciente objPaciente = new entPaciente();
                objPaciente = gestionarPacienteServicio.BuscarPorDNI(txtDNI.Text);
                // registrar la cita
                entCita        objCita    = new entCita();
                List <entCita> Lista      = gestionarCitaServicio.ListarCitasPorPaciente(objPaciente.idPaciente);
                int            totalCitas = objPaciente.GetTotalCitasPorFecha(Lista, txtFechaAtencion.Text);
                bool           mismaHora  = objPaciente.ValidarCitaMismaHora(Lista, txtFechaAtencion.Text, hora);

                if (totalCitas < objCita.totalCitas)
                {
                    if (!mismaHora)
                    {
                        objCita.Paciente     = objPaciente;
                        objCita.Medico       = objMedico;
                        objCita.hora         = hora;
                        objCita.fechaReserva = Convert.ToDateTime(txtFechaAtencion.Text);
                        int filas = gestionarCitaServicio.Registrar(objCita);

                        if (filas == 1)
                        {
                            Response.Write("<script>alert('Cita registrada exitosamente.')</script>");
                            LimpiarCampos();
                            ListarHorariosDisponibles();
                        }
                        else
                        {
                            Response.Write("<script>alert('Error al registrar cita.')</script>");
                        }
                    }
                    else
                    {
                        Response.Write("<script>alert('Ya tiene una cita para la hora seleccionada.')</script>");
                    }
                }
                else
                {
                    Response.Write("<script>alert('Ya ha registrado 2 citas para esta fecha.')</script>");
                    txtFechaAtencion.Text = string.Empty;
                }
            }
            else if (cont == 0)
            {
                Response.Write("<script>alert('Seleccione un horario.')</script>");
            }
            else
            {
                Response.Write("<script>alert('Solo debe seleccionar un horario.')</script>");
            }
        }