private void actualizarConsulta()
        {
            BLConsulta               consultaActu     = new BLConsulta();
            BLExamenFisico           examenFisicoActu = new BLExamenFisico();
            BLDiagnosticoNutricional diagnostico      = new BLDiagnosticoNutricional();

            //Datos del objeto Consulta
            consultaActu.Analisis             = analisisPac.Value.Trim();
            consultaActu.ImpresionDiagnostica = impresionPac.Value.Trim();
            consultaActu.Plan = planPac.Value.Trim();
            consultaActu.PadecimientoActual = padecimientoPac.Value.Trim();

            //Datos del objeto Examen Fisico
            examenFisicoActu.Talla             = float.Parse(tallaPac.Value);
            examenFisicoActu.Peso              = float.Parse(pesoPac.Value);
            examenFisicoActu.PerimetroCefalico = float.Parse(perimetroPac.Value);
            examenFisicoActu.SO2               = float.Parse(so2Pac.Value);
            examenFisicoActu.IMC               = float.Parse(tallaPac.Value) * float.Parse(pesoPac.Value);
            examenFisicoActu.Temperatura       = float.Parse(temperaturaPac.Value);
            examenFisicoActu.EstadoAlerta      = alertaPac.Value.Trim();
            examenFisicoActu.EstadoHidratacion = hidratacionPac.Value.Trim();
            examenFisicoActu.RuidosCardiacos   = ruidosPac.Value.Trim();
            examenFisicoActu.CamposPulmonares  = camposPac.Value.Trim();
            examenFisicoActu.Abdomen           = abdomenPpac.Value.Trim();
            examenFisicoActu.Faringe           = faringePac.Value.Trim();
            examenFisicoActu.Neurodesarrollo   = neuroPac.Value.Trim();
            examenFisicoActu.Nariz             = narizPac.Value.Trim();
            examenFisicoActu.Oidos             = oidosPac.Value.Trim();
            examenFisicoActu.SNC               = sncPac.Value.Trim();
            examenFisicoActu.Osteomuscular     = osteomuscPac.Value.Trim();
            examenFisicoActu.Piel              = pielPac.Value.Trim();
            examenFisicoActu.Otros             = otrosPac.Value.Trim();

            //Datos del objeto Diagnostico Nutricional
            diagnostico.Peso_Edad     = pesoEdadPac.Value.Trim();
            diagnostico.Talla_Edad_0  = tallaEdad0Pac.Value.Trim();
            diagnostico.Cefalico_Edad = cefaEdadPac.Value.Trim();
            diagnostico.Peso_Talla    = pesoTallaPac.Value.Trim();
            diagnostico.IMC_Edad      = imcEdadPac.Value.Trim();
            diagnostico.Talla_Edad_5  = tallEdad5Pac.Value.Trim();

            BLConsulta consultaGuardada = new BLConsulta();

            consultaGuardada = (BLConsulta)Session["consulta"];

            consultaActu.Fecha_Hora       = consultaGuardada.Fecha_Hora;
            consultaActu.CodigoExpediente = consultaGuardada.CodigoExpediente;
            consultaActu.Estado           = consultaGuardada.Estado;

            examenFisicoActu.Fecha_Hora       = consultaGuardada.Fecha_Hora;
            examenFisicoActu.CodigoExpediente = consultaGuardada.CodigoExpediente;

            diagnostico.Fecha_Hora       = consultaGuardada.Fecha_Hora;
            diagnostico.CodigoExpediente = consultaGuardada.CodigoExpediente;

            ManejadorConsulta manejador = new ManejadorConsulta();

            manejador.actualizarConsulta(consultaActu, examenFisicoActu, diagnostico);
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            validarSegunUser();

            imcPac.Disabled = true;
            expediente      = (BLExpediente)Session["Expediente"];

            if (Session["pagina"].ToString() == "consultas_activas_seleccionada")
            {
                cargarExpedienteGeneral();
            }

            ManejadorEdad mane = new ManejadorEdad();

            //Mostrar los datos generales
            if (expediente.Codigo == expediente.Cedula || !expediente.Cedula.Equals(""))
            {
                cedGeneral.InnerText = " " + expediente.Cedula;
            }
            else
            {
                cedGeneral.InnerText = "No tiene aún";
            }
            paciGeneral.InnerText = " " + expediente.Nombre + " " + expediente.PrimerApellido + " " + expediente.SegundoApellido;

            edaGeneral.InnerText = mane.ExtraerEdad(expediente.FechaNacimiento);
            string imagenDataURL64 = "data:image/jpg;base64," + Convert.ToBase64String(expediente.Foto);

            imgPreview.ImageUrl = imagenDataURL64;

            if (!IsPostBack)
            {
                string pag = Session["pagina"].ToString();

                if ((pag == "consultas_guardada") || (pag == "consultas_activas_seleccionada"))
                {
                    cargarConsulta();
                }
                else
                {
                    string fechaA = Convert.ToString(DateTime.Now);

                    const string FMT  = "o";
                    DateTime     fff  = Convert.ToDateTime(fechaA);
                    string       news = fff.ToString(FMT);
                    DateTime     ggg  = DateTime.ParseExact(news, FMT, CultureInfo.InvariantCulture);


                    BLConsulta consulta = new BLConsulta();
                    consulta.CodigoExpediente = expediente.Codigo;
                    consulta.Fecha_Hora       = ggg;
                    consulta.Estado           = true;
                    consulta.CodigoMedico     = Session["codigoMedico"].ToString();
                    consulta.Paciente         = expediente.Nombre + " " + expediente.PrimerApellido + " " + expediente.SegundoApellido;

                    BLExamenFisico examenFisico = new BLExamenFisico();
                    examenFisico.CodigoExpediente = expediente.Codigo;
                    examenFisico.Fecha_Hora       = ggg;
                    examenFisico.CodigoMedico     = Session["codigoMedico"].ToString();

                    BLDiagnosticoNutricional diagnostico = new BLDiagnosticoNutricional();
                    diagnostico.CodigoExpediente = expediente.Codigo;
                    diagnostico.Fecha_Hora       = ggg;
                    diagnostico.CodigoMedico     = Session["codigoMedico"].ToString();

                    ManejadorConsulta manejador = new ManejadorConsulta();
                    manejador.crearConsulta(consulta, examenFisico, diagnostico);

                    Session["consulta"] = consulta;
                }
            }
        }
        private void CargarConsulta(long idExpediente, string fechaConsulta)
        {
            ManejadorConsultas manejador    = new ManejadorConsultas();
            BLConsulta         consulta     = new BLConsulta();
            BLExamenFisico     examenFisico = new BLExamenFisico();

            consulta.ExamenFisico = examenFisico;
            consulta.IDExpediente = idExpediente;
            consulta.Fecha        = fechaConsulta;
            string confirmacion = manejador.CargarConsulta(consulta);

            if (!confirmacion.Contains("Error:"))
            {
                // Limpiar datos

                fecha.Text               = "";
                hora.Text                = "";
                medioDia.Value           = "am";
                frecuencia.SelectedValue = "nulo";
                referidoA.SelectedValue  = "nulo";
                especialidad.Value       = "";
                motivo.Value             = "";

                peso.Text              = "";
                talla.Text             = "";
                perimetroCefalico.Text = "";
                IMC.Text                 = "";
                temperatura.Text         = "";
                SO2.Text                 = "";
                padecimientoActual.Value = "";

                perimetroCefalicoEdad.Text = "";
                pesoEdad.Text          = "";
                tallaEdad.Text         = "";
                pesoTalla.Text         = "";
                imcEdad.Text           = "";
                ruidosCardiacos.Value  = "";
                camposPulmonares.Value = "";
                abdomen.Value          = "";
                faringe.Value          = "";
                nariz.Value            = "";
                oidos.Value            = "";
                snc.Value                  = "";
                neurodesarrollo.Value      = "";
                sistemaOsteomuscular.Value = "";
                piel.Value                 = "";
                estadoAlerta.Value         = "";
                estadoHidratacion.Value    = "";
                otrosHallazgos.Value       = "";
                analisis.Value             = "";
                impresionDiagnostica.Value = "";
                plan.Value                 = "";
                enfermedades.SelectedValue = "ninguna";

                // Cargar datos

                fecha.Text     = consulta.Fecha;
                fecha.ReadOnly = true;
                string[] entradaHora = consulta.Hora.Split('|');
                hora.Text         = entradaHora[0];
                medioDia.Value    = entradaHora[1];
                hora.ReadOnly     = true;
                medioDia.Disabled = true;
                string mmFrecuencia = consulta.MMFrecuencia;
                if (mmFrecuencia == null || mmFrecuencia.Equals(""))
                {
                    mmFrecuencia = "nulo";
                }
                string mmReferido = consulta.MMReferidoA;
                if (mmReferido == null || mmReferido.Equals(""))
                {
                    mmReferido = "nulo";
                }
                string cpEspecialidad = consulta.CPEspecialidad;
                if (cpEspecialidad == null)
                {
                    cpEspecialidad = "";
                }
                string cpMotivo = consulta.CPMotivo;
                if (cpMotivo == null)
                {
                    cpMotivo = "";
                }
                frecuencia.SelectedValue = mmFrecuencia;
                referidoA.SelectedValue  = mmReferido;
                especialidad.Value       = cpEspecialidad;
                motivo.Value             = cpMotivo;

                string pesoTemp  = consulta.ExamenFisico.Peso + "";
                string tallaTemp = consulta.ExamenFisico.Talla + "";
                string pcTemp    = consulta.ExamenFisico.PerimetroCefalico + "";
                string imcTemp   = consulta.ExamenFisico.IMC + "";
                string tempTemp  = consulta.ExamenFisico.Temperatura + "";
                string so2Temp   = consulta.ExamenFisico.SO2 + "";

                if (pesoTemp == null || pesoTemp.Equals("0"))
                {
                    pesoTemp = "";
                }
                if (tallaTemp == null || tallaTemp.Equals("0"))
                {
                    tallaTemp = "";
                }
                if (pcTemp == null || pcTemp.Equals("0"))
                {
                    pcTemp = "";
                }
                if (imcTemp == null || imcTemp.Equals("0"))
                {
                    imcTemp = "";
                }
                if (tempTemp == null || tempTemp.Equals("0"))
                {
                    tempTemp = "";
                }
                if (so2Temp == null || so2Temp.Equals("0"))
                {
                    so2Temp = "";
                }

                peso.Text              = pesoTemp;
                talla.Text             = tallaTemp;
                perimetroCefalico.Text = pcTemp;
                IMC.Text         = imcTemp;
                temperatura.Text = tempTemp;
                SO2.Text         = so2Temp;

                padecimientoActual.Value = consulta.PadecimientoActual;

                string pcEdadTemp    = consulta.ExamenFisico.PC_Edad;
                string pesoEdadTemp  = consulta.ExamenFisico.Peso_Edad;
                string tallaEdadTemp = consulta.ExamenFisico.Talla_Edad;
                string pesoTallaTemp = consulta.ExamenFisico.Peso_Talla;
                string imcEdadTemp   = consulta.ExamenFisico.IMC_Edad;

                if (pcEdadTemp.Equals("nulo"))
                {
                    pcEdadTemp = "";
                }
                if (pesoEdadTemp.Equals("nulo"))
                {
                    pesoEdadTemp = "";
                }
                if (tallaEdadTemp.Equals("nulo"))
                {
                    tallaEdadTemp = "";
                }
                if (pesoTallaTemp.Equals("nulo"))
                {
                    pesoTallaTemp = "";
                }
                if (imcEdadTemp.Equals("nulo"))
                {
                    imcEdadTemp = "";
                }

                perimetroCefalicoEdad.Text = pcEdadTemp;
                pesoEdad.Text  = pesoEdadTemp;
                tallaEdad.Text = tallaEdadTemp;
                pesoTalla.Text = pesoTallaTemp;
                imcEdad.Text   = imcEdadTemp;

                ruidosCardiacos.Value  = consulta.ExamenFisico.RuidosCardiacos;
                camposPulmonares.Value = consulta.ExamenFisico.CamposPulmonares;
                abdomen.Value          = consulta.ExamenFisico.Abdomen;
                faringe.Value          = consulta.ExamenFisico.Faringe;
                nariz.Value            = consulta.ExamenFisico.Nariz;
                oidos.Value            = consulta.ExamenFisico.Oidos;
                snc.Value                  = consulta.ExamenFisico.SNC;
                neurodesarrollo.Value      = consulta.ExamenFisico.Neurodesarrollo;
                sistemaOsteomuscular.Value = consulta.ExamenFisico.SistemaOsteomuscular;
                piel.Value                 = consulta.ExamenFisico.Piel;
                estadoAlerta.Value         = consulta.ExamenFisico.EstadoAlerta;
                estadoHidratacion.Value    = consulta.ExamenFisico.EstadoHidratacion;
                otrosHallazgos.Value       = consulta.ExamenFisico.OtrosHallazgos;
                analisis.Value             = consulta.Analisis;
                impresionDiagnostica.Value = consulta.ImpresionDiagnostica;
                plan.Value                 = consulta.Plan;
                try
                {
                    enfermedades.SelectedValue = consulta.Enfermedad;
                }
                catch (Exception)
                {
                    enfermedades.SelectedValue = "ninguna";
                }
                Titulo.InnerText = "Consulta Médica";
            }
            else
            {
                MensajeAviso(confirmacion);
                contenedorDatos.Visible = false;
            }
        }
        private void cargarConsulta()
        {
            BLExamenFisico           examenFisico    = new BLExamenFisico();
            BLConsulta               consultaEnviada = new BLConsulta();
            BLDiagnosticoNutricional diagnostico     = new BLDiagnosticoNutricional();

            consultaEnviada = (BLConsulta)Session["consulta"];
            if (consultaEnviada.Estado == false)
            {
                finalizarConsulta.Visible = false;
                guardarConsulta.Visible   = false;
            }

            ManejadorConsulta manejador = new ManejadorConsulta();

            if (Session["pagina"].ToString() == "consultas_guardada")
            {
                manejador.mostrarConsulta(consultaEnviada.CodigoExpediente, consultaEnviada.Fecha_Hora, consultaEnviada, examenFisico, diagnostico);
            }
            else
            {
                manejador.mostrarConsultaFecha(consultaEnviada.Fecha_Hora, consultaEnviada, examenFisico, diagnostico);
            }

            //Datos del objeto Consulta
            analisisPac.Value     = consultaEnviada.Analisis;
            impresionPac.Value    = consultaEnviada.ImpresionDiagnostica;
            planPac.Value         = consultaEnviada.Plan;
            padecimientoPac.Value = consultaEnviada.PadecimientoActual;


            if (consultaEnviada.MedicinaMixta == true)
            {
                reporte_medicina_mixta.Checked  = true;
                reporte_medicina_mixta.Disabled = true;
                btnReportarMM.Visible           = false;

                string frecuen = consultaEnviada.Frecuencia;

                if (frecuen == "subsecuen")
                {
                    subsecuente.Checked = true;
                }
                else
                {
                    primera_vez.Checked = true;

                    string[] frecuDiv = frecuen.Split();
                    string   tiposPri = frecuDiv[1];
                    if (tiposPri == "vida")
                    {
                        opcion_vida.Checked = true;
                    }
                    else
                    {
                        opcion_anno.Checked = true;
                    }
                }

                string tiposReferi = consultaEnviada.Referido_A;
                if (tiposReferi == "refe_especialista")
                {
                    especialista.Checked = true;
                }

                if (tiposReferi == "refe_hospitalizacion")
                {
                    hospitalizacion.Checked = true;
                }

                if (tiposReferi == "refe_otro_centro")
                {
                    otro_centro.Checked = true;
                }

                if (consultaEnviada.ReferenciaMedica == true)
                {
                    referencia_consulta_privada.Checked  = true;
                    referencia_consulta_privada.Disabled = true;

                    especialidad.Text = consultaEnviada.Especialidad;
                    motivo.Value      = consultaEnviada.MotivoReferecnia;
                }
            }


            //Datos del objeto Examen Fisico
            tallaPac.Value       = Convert.ToString(examenFisico.Talla);
            pesoPac.Value        = Convert.ToString(examenFisico.Peso);
            perimetroPac.Value   = Convert.ToString(examenFisico.PerimetroCefalico);
            so2Pac.Value         = Convert.ToString(examenFisico.SO2);
            imcPac.Value         = Convert.ToString(examenFisico.IMC);
            temperaturaPac.Value = Convert.ToString(examenFisico.Temperatura);
            alertaPac.Value      = examenFisico.EstadoAlerta;
            hidratacionPac.Value = examenFisico.EstadoHidratacion;
            ruidosPac.Value      = examenFisico.RuidosCardiacos;
            camposPac.Value      = examenFisico.CamposPulmonares;
            abdomenPpac.Value    = examenFisico.Abdomen;
            faringePac.Value     = examenFisico.Faringe;
            neuroPac.Value       = examenFisico.Neurodesarrollo;
            narizPac.Value       = examenFisico.Nariz;
            oidosPac.Value       = examenFisico.Oidos;
            sncPac.Value         = examenFisico.SNC;
            osteomuscPac.Value   = examenFisico.Osteomuscular;
            pielPac.Value        = examenFisico.Piel;
            otrosPac.Value       = examenFisico.Otros;

            //Datos de objeto DiagnosticoNutricional
            pesoEdadPac.Value   = diagnostico.Peso_Edad;
            tallaEdad0Pac.Value = diagnostico.Talla_Edad_0;
            cefaEdadPac.Value   = diagnostico.Cefalico_Edad;
            pesoTallaPac.Value  = diagnostico.Peso_Talla;
            imcEdadPac.Value    = diagnostico.IMC_Edad;
            tallEdad5Pac.Value  = diagnostico.Talla_Edad_5;
        }
        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            string fechaCreacion = fecha.Text.Trim();
            string horaCreacion  = hora.Text.Trim() + "|" + medioDia.Value.Trim();

            if (hora.Text.Trim().Equals(""))
            {
                horaCreacion = "";
            }

            string frecuenciaC   = frecuencia.SelectedValue.Trim();
            string referidoC     = referidoA.SelectedValue.Trim();
            string especialidadC = especialidad.Value.Trim();
            string motivoC       = motivo.Value.Trim();

            bool mediMixta     = false;
            bool consulprivada = false;

            if (!frecuenciaC.Equals("nulo") || !referidoC.Equals("nulo"))
            {
                if (!frecuenciaC.Equals("nulo") && !referidoC.Equals("nulo"))
                {
                    mediMixta = true;
                }
            }
            else
            {
                mediMixta   = true;
                frecuenciaC = "";
                referidoC   = "";
            }

            if (!especialidadC.Equals("") || !motivoC.Equals(""))
            {
                if (!especialidadC.Equals("") && !motivoC.Equals(""))
                {
                    consulprivada = true;
                }
            }
            else
            {
                consulprivada = true;
                especialidadC = "";
                motivoC       = "";
            }

            string tempPesoC              = peso.Text.Trim();
            string tempTallaC             = talla.Text.Trim();
            string tempPerimetroCefalicoC = perimetroCefalico.Text.Trim();
            string tempImc          = IMC.Text.Trim();
            string tempTemperaturaC = temperatura.Text.Trim();
            string tempSo2          = SO2.Text.Trim();

            double pesoC              = 0.0;
            double tallaC             = 0.0;
            double perimetroCefalicoC = 0.0;
            double imc          = 0.0;
            double temperaturaC = 0.0;
            double so2          = 0.0;

            bool decimalesValidados = true;

            try
            {
                if (!tempPesoC.Equals(""))
                {
                    pesoC = double.Parse(tempPesoC);
                }
                if (!tempTallaC.Equals(""))
                {
                    tallaC = double.Parse(tempTallaC);
                }
                if (!tempPerimetroCefalicoC.Equals(""))
                {
                    perimetroCefalicoC = double.Parse(tempPerimetroCefalicoC);
                }
                if (!tempImc.Equals(""))
                {
                    imc = double.Parse(tempImc);
                }
                if (!tempTemperaturaC.Equals(""))
                {
                    temperaturaC = int.Parse(tempTemperaturaC);
                }
                if (!tempSo2.Equals(""))
                {
                    so2 = int.Parse(tempSo2);
                }
            }
            catch (Exception)
            {
                decimalesValidados = false;
            }

            if (!fechaCreacion.Equals("") && !horaCreacion.Equals("") && mediMixta && consulprivada && decimalesValidados)
            {
                string padecimientoActualC = padecimientoActual.Value.Trim();

                string perimetroCefalicoEdadC = perimetroCefalicoEdad.Text.Trim();
                string pesoEdadC         = pesoEdad.Text.Trim();
                string tallaEdadC        = tallaEdad.Text.Trim();
                string pesoTallaC        = pesoTalla.Text.Trim();
                string imcEdadC          = imcEdad.Text.Trim();
                string ruidosCardiacosC  = ruidosCardiacos.Value.Trim();
                string camposPulmonaresC = camposPulmonares.Value.Trim();
                string abdomenC          = abdomen.Value.Trim();
                string faringeC          = faringe.Value.Trim();
                string narizC            = nariz.Value.Trim();
                string oidosC            = oidos.Value.Trim();
                string sncC                  = snc.Value.Trim();
                string neurodesarrolloC      = neurodesarrollo.Value.Trim();
                string sistemaOsteomuscularC = sistemaOsteomuscular.Value.Trim();
                string pielC                 = piel.Value.Trim();
                string estadoAlertaC         = estadoAlerta.Value.Trim();
                string estadoHidratacionC    = estadoHidratacion.Value.Trim();
                string otrosHallazgosC       = otrosHallazgos.Value.Trim();
                string analisisC             = analisis.Value.Trim();
                string impresionDiagnosticaC = impresionDiagnostica.Value.Trim();
                string planC                 = plan.Value.Trim();

                string enfermedadC = enfermedades.SelectedValue.Trim();

                ManejadorConsultas manejador = new ManejadorConsultas();

                BLExamenFisico examenFisico = new BLExamenFisico(pesoC, tallaC, perimetroCefalicoC, imc, so2, temperaturaC,
                                                                 perimetroCefalicoEdadC, pesoEdadC, tallaEdadC, pesoTallaC, imcEdadC, estadoAlertaC, estadoHidratacionC,
                                                                 ruidosCardiacosC, camposPulmonaresC, abdomenC, faringeC, narizC, oidosC, sncC, neurodesarrolloC,
                                                                 sistemaOsteomuscularC, pielC, otrosHallazgosC);

                long idExpediente = 0;
                if (Session["idExpediente"] != null)
                {
                    idExpediente = long.Parse(Session["idExpediente"].ToString());
                }

                BLConsulta consulta = new BLConsulta(idExpediente, fechaCreacion, horaCreacion, padecimientoActualC, analisisC,
                                                     impresionDiagnosticaC, planC, frecuenciaC, referidoC, especialidadC, motivoC, examenFisico, enfermedadC);

                string confirmacion = "";

                if (Session["accion"].Equals("crearConsulta"))
                {
                    confirmacion = manejador.CrearConsulta(consulta);

                    if (!confirmacion.Contains("Error:"))
                    {
                        Titulo.InnerText  = "Consulta Médica";
                        fecha.ReadOnly    = true;
                        hora.ReadOnly     = true;
                        medioDia.Disabled = true;
                        Session["accion"] = "consultarConsulta";
                    }
                }
                else if (Session["accion"].Equals("consultarConsulta"))
                {
                    confirmacion = manejador.ActualizarConsulta(consulta);
                    if (confirmacion.Contains("Error:"))
                    {
                        CargarConsulta(long.Parse(Session["idExpediente"].ToString()), Session["fechaConsulta"].ToString());
                    }
                }
                MensajeAviso(confirmacion);
            }
            else
            {
                MensajeAviso("Error: Puede que algunos datos se encuentren vacíos o con un formato incorrecto");
                if (Session["accion"] != null && Session["accion"].Equals("consultarConsulta"))
                {
                    CargarConsulta(long.Parse(Session["idExpediente"].ToString()), Session["fechaConsulta"].ToString());
                }
            }
        }