public bool AgregarAntropometria(Antropometria antrop, Porciones porcion, DistribucionPorciones distrib)
        {
            TOAntropometria antropom = new TOAntropometria();

            antropom.Cedula         = antrop.Cedula; antropom.Talla = antrop.Talla; antropom.PesoIdeal = antrop.PesoIdeal;
            antropom.Edad           = antrop.Edad; antropom.PMB = antrop.PMB; antropom.Peso = antrop.Peso; antropom.PesoMaxTeoria = antrop.PesoMaxTeoria;
            antropom.IMC            = antrop.IMC; antropom.PorcGrasaAnalizador = antrop.PorcGrasaAnalizador; antropom.PorcGr_Bascula = antrop.PorcGr_Bascula;
            antropom.GB_BI          = antrop.GB_BI; antropom.GB_BD = antrop.GB_BD; antropom.GB_PI = antrop.GB_PI;
            antropom.GB_PD          = antrop.GB_PD; antropom.GB_Tronco = antrop.GB_Tronco; antropom.AguaCorporal = antrop.AguaCorporal;
            antropom.MasaOsea       = antrop.MasaOsea; antropom.Complexión = antrop.Complexión; antropom.EdadMetabolica = antrop.EdadMetabolica;
            antropom.Cintura        = antrop.Cintura; antropom.Abdomen = antrop.Abdomen; antropom.Cadera = antrop.Cadera;
            antropom.Muslo          = antrop.Muslo; antropom.CBM = antrop.CBM; antropom.CircunfMunneca = antrop.CircunfMunneca;
            antropom.PorcentMusculo = antrop.PorcentMusculo; antropom.PM_BI = antrop.PM_BI; antropom.PM_PD = antrop.PM_PD; antropom.PM_BD = antrop.PM_BD;
            antropom.PM_PI          = antrop.PM_PI; antropom.PM_Tronco = antrop.PM_Tronco; antropom.Observaciones = antrop.Observaciones;
            antropom.GEB            = antrop.GEB; antropom.GET = antrop.GET; antropom.CHOPorc = antrop.CHOPorc;
            antropom.CHOGram        = antrop.CHOGram; antropom.CHO_kcal = antrop.CHO_kcal; antropom.ProteinaPorc = antrop.ProteinaPorc;
            antropom.ProteinaGram   = antrop.ProteinaGram; antropom.Proteinakcal = antrop.Proteinakcal; antropom.GrasaPorc = antrop.GrasaPorc;
            antropom.GrasaGram      = antrop.GrasaGram; antropom.Grasakcal = antrop.Grasakcal;
            TOPorciones porci = new TOPorciones(porcion.Cedula, porcion.Leche, porcion.Carne, porcion.Vegetales, porcion.Grasa,
                                                porcion.Fruta, porcion.Azucar, porcion.Harina, porcion.Suplemento);

            TODistribucionPorciones distribuc = new TODistribucionPorciones(distrib.Cedula, distrib.Ayunas, distrib.Desayuno,
                                                                            distrib.MediaMañana, distrib.Almuerzo, distrib.MediaTarde, distrib.Cena, distrib.ColacionNocturna);

            return(daoClienteNutricion.GuardarAntropometria(antropom, porci, distribuc));
        }
        public Antropometria TraerAntrop(string ced)
        {
            Antropometria   antropom = new Antropometria();
            TOAntropometria antrop   = daoClienteNutricion.TraerAntropometria(ced);

            if (antrop != null)
            {
                antropom.Cedula         = antrop.Cedula; antropom.Talla = antrop.Talla; antropom.PesoIdeal = antrop.PesoIdeal;
                antropom.Edad           = antrop.Edad; antropom.PMB = antrop.PMB; antropom.Peso = antrop.Peso;
                antropom.PesoMaxTeoria  = antrop.PesoMaxTeoria; antropom.IMC = antrop.IMC; antropom.PorcGrasaAnalizador = antrop.PorcGrasaAnalizador;
                antropom.PorcGr_Bascula = antrop.PorcGr_Bascula; antropom.GB_BI = antrop.GB_BI; antropom.GB_BD = antrop.GB_BD; antropom.GB_PI = antrop.GB_PI;
                antropom.GB_PD          = antrop.GB_PD; antropom.GB_Tronco = antrop.GB_Tronco; antropom.AguaCorporal = antrop.AguaCorporal;
                antropom.MasaOsea       = antrop.MasaOsea; antropom.Complexión = antrop.Complexión; antropom.EdadMetabolica = antrop.EdadMetabolica;
                antropom.Cintura        = antrop.Cintura; antropom.Abdomen = antrop.Abdomen; antropom.Cadera = antrop.Cadera;
                antropom.Muslo          = antrop.Muslo; antropom.CBM = antrop.CBM; antropom.CircunfMunneca = antrop.CircunfMunneca;
                antropom.PorcentMusculo = antrop.PorcentMusculo; antropom.PM_BI = antrop.PM_BI; antropom.PM_PD = antrop.PM_PD;
                antropom.PM_BD          = antrop.PM_BD; antropom.PM_PI = antrop.PM_PI; antropom.PM_Tronco = antrop.PM_Tronco;
                antropom.Observaciones  = antrop.Observaciones; antropom.GEB = antrop.GEB; antropom.GET = antrop.GET; antropom.CHOPorc = antrop.CHOPorc;
                antropom.CHOGram        = antrop.CHOGram; antropom.CHO_kcal = antrop.CHO_kcal; antropom.ProteinaPorc = antrop.ProteinaPorc;
                antropom.ProteinaGram   = antrop.ProteinaGram; antropom.Proteinakcal = antrop.Proteinakcal; antropom.GrasaPorc = antrop.GrasaPorc;
                antropom.GrasaGram      = antrop.GrasaGram; antropom.Grasakcal = antrop.Grasakcal;
                return(antropom);
            }
            else
            {
                return(null);
            }
        }
        public bool ModificarExped(ClienteNutricion clienteModif, HistorialMedico histModif, HabitoAlimentario habModif, List <Recordatorio24H> listRecordModif, Antropometria antropModif, Porciones porcModif, List <DistribucionPorciones> distrModif)
        {
            TOClienteNutricion cliente = new TOClienteNutricion();

            cliente.Cedula    = clienteModif.Cedula; cliente.Nombre = clienteModif.Nombre; cliente.Apellido1 = clienteModif.Apellido1; cliente.Apellido2 = clienteModif.Apellido2; cliente.Fecha_Nacimiento = clienteModif.Fecha_Nacimiento;
            cliente.Sexo      = clienteModif.Sexo; cliente.Estado_Civil = clienteModif.Estado_Civil; cliente.WhatsApp = clienteModif.WhatsApp; cliente.Telefono = clienteModif.Telefono; cliente.Residencia = clienteModif.Residencia;
            cliente.Ocupacion = clienteModif.Ocupacion; cliente.FechaIngreso = clienteModif.FechaIngreso; cliente.Correo = clienteModif.Correo; cliente.Consultorio = clienteModif.Consultorio; cliente.Estado = clienteModif.Estado;

            TOHistorialMedico histmed = new TOHistorialMedico();

            histmed.Cedula       = histModif.Cedula; histmed.Antecedentes = histModif.Antecedentes; histmed.Patologias = histModif.Patologias;
            histmed.ConsumeLicor = histModif.ConsumeLicor; histmed.Fuma = histModif.Fuma; histmed.FrecFuma = histModif.FrecFuma;
            histmed.FrecLicor    = histModif.FrecLicor; histmed.UltimoExamen = histModif.UltimoExamen; histmed.ActividadFisica = histModif.ActividadFisica;

            TOHabitoAlimentario habAlime = new TOHabitoAlimentario();

            habAlime.Cedula            = habModif.Cedula; habAlime.ComidaDiaria = habModif.ComidaDiaria;  habAlime.ComidaHorasDia = habModif.ComidaHorasDia;
            habAlime.AfueraExpress     = habModif.AfueraExpress;  habAlime.ComidaFuera = habModif.ComidaFuera;  habAlime.AzucarBebida = habModif.AzucarBebida;
            habAlime.ComidaElaboradCon = habModif.ComidaElaboradCon;  habAlime.AguaDiaria = habModif.AguaDiaria;
            habAlime.Aderezos          = habModif.Aderezos;  habAlime.Fruta = habModif.Fruta;  habAlime.Verdura = habModif.Verdura;  habAlime.Leche = habModif.Leche;
            habAlime.Huevo             = habModif.Huevo;  habAlime.Yogurt = habModif.Yogurt;  habAlime.Carne = habModif.Carne;
            habAlime.Queso             = habModif.Queso;  habAlime.Aguacate = habModif.Aguacate;  habAlime.Semillas = habAlime.Semillas;

            List <TORecordatorio24H> listRecord = new List <TORecordatorio24H>();

            foreach (Recordatorio24H r in listRecordModif)
            {
                listRecord.Add(new TORecordatorio24H(r.Cedula, r.TiempoComida, r.Hora, r.Descripcion));
            }

            TOAntropometria antrop = new TOAntropometria();

            antrop.Cedula         = antropModif.Cedula; antrop.Talla = antropModif.Talla; antrop.PesoIdeal = antropModif.PesoIdeal; antrop.Edad = antropModif.Edad; antrop.PMB = antropModif.PMB;
            antrop.Peso           = antropModif.Peso;  antrop.PesoMaxTeoria = antropModif.PesoMaxTeoria;  antrop.IMC = antropModif.IMC;  antrop.PorcGrasaAnalizador = antropModif.PorcGrasaAnalizador;  antrop.PorcGr_Bascula = antropModif.PorcGr_Bascula;
            antrop.GB_BI          = antropModif.GB_BI;  antrop.GB_BD = antropModif.GB_BD; antrop.GB_PI = antropModif.GB_PI;  antrop.GB_PD = antropModif.GB_PD;  antrop.GB_Tronco = antropModif.GB_Tronco;
            antrop.AguaCorporal   = antropModif.AguaCorporal; antrop.MasaOsea = antropModif.MasaOsea;  antrop.Complexión = antropModif.Complexión;  antrop.EdadMetabolica = antropModif.EdadMetabolica;  antrop.Cintura = antropModif.Cintura;
            antrop.Abdomen        = antropModif.Abdomen;  antrop.Cadera = antropModif.Cadera;  antrop.MusloDer = antropModif.MusloDer;  antrop.MusloIzq = antropModif.MusloIzq;  antrop.CBM = antropModif.CBM;
            antrop.CircunfMunneca = antropModif.CircunfMunneca;  antrop.PorcentGViceral = antropModif.PorcentGViceral;  antrop.PorcentMusculo = antropModif.PorcentMusculo;  antrop.PM_BI = antropModif.PM_BI;  antrop.PM_PD = antropModif.PM_PD;
            antrop.PM_BD          = antropModif.PM_BD;  antrop.PM_PI = antropModif.PM_PI;  antrop.PM_Tronco = antropModif.PM_Tronco;  antrop.Observaciones = antropModif.Observaciones;
            antrop.GEB            = antropModif.GEB;  antrop.GET = antropModif.GET;  antrop.CHOPorc = antropModif.CHOPorc;  antrop.CHOGram = antropModif.CHOGram; antrop.CHO_kcal = antropModif.CHO_kcal;
            antrop.ProteinaPorc   = antropModif.ProteinaPorc;  antrop.ProteinaGram = antropModif.ProteinaGram;  antrop.Proteinakcal = antropModif.Proteinakcal; antrop.GrasaPorc = antropModif.GrasaPorc; antrop.GrasaGram = antropModif.GrasaGram;  antrop.Grasakcal = antropModif.Grasakcal;

            TOPorciones porc = new TOPorciones();

            porc.Cedula    = porcModif.Cedula; porc.Leche = porcModif.Leche; porc.Carne = porcModif.Carne;
            porc.Vegetales = porcModif.Vegetales;  porc.Grasa = porcModif.Grasa;  porc.Fruta = porcModif.Fruta;
            porc.Azucar    = porcModif.Azucar;  porc.Harina = porcModif.Harina; porc.Suplemento = porcModif.Suplemento;

            List <TODistribucionPorciones> listDist = new List <TODistribucionPorciones>();

            foreach (DistribucionPorciones d in distrModif)
            {
                listDist.Add(new TODistribucionPorciones(d.Descripcion, d.TiempoComida, d.Hora, d.Cedula));
            }

            return(daoClienteNutricion.ModificarExpediente(cliente, histmed, habAlime, listRecord, antrop, porc, listDist));
        }
        public TOAntropometria TraerAntropometria(string ced)
        {
            string        qry = "select * from Antropometria where CedulaCliente = " + ced;
            SqlCommand    cmd = new SqlCommand(qry, conexion);
            SqlDataReader lector;

            try
            {
                if (conexion.State != ConnectionState.Open)
                {
                    conexion.Open();
                }

                lector = cmd.ExecuteReader();
                if (lector.HasRows)
                {
                    lector.Read();
                    TOAntropometria antrop = new TOAntropometria(lector["CedulaCliente"].ToString(), Decimal.Parse(lector["Talla"].ToString()),
                                                                 Decimal.Parse(lector["PesoIdeal"].ToString()), Decimal.Parse(lector["Edad"].ToString()), Decimal.Parse(lector["PMB"].ToString()), Decimal.Parse(lector["Peso"].ToString()),
                                                                 Decimal.Parse(lector["PesoMaxTeoria"].ToString()), Decimal.Parse(lector["IMC"].ToString()), Decimal.Parse(lector["PorcGrasaAnalizador"].ToString()), Decimal.Parse(lector["PorcGr_Bascula"].ToString()),
                                                                 Decimal.Parse(lector["GB_BI"].ToString()), Decimal.Parse(lector["GB_BD"].ToString()), Decimal.Parse(lector["GB_PI"].ToString()), Decimal.Parse(lector["GB_PD"].ToString()), Decimal.Parse(lector["GB_Tronco"].ToString()),
                                                                 Decimal.Parse(lector["AguaCorporal"].ToString()), Decimal.Parse(lector["MasaOsea"].ToString()), Decimal.Parse(lector["Complexion"].ToString()), Decimal.Parse(lector["Edad_Metabolica"].ToString()), Decimal.Parse(lector["Cintura"].ToString()),
                                                                 Decimal.Parse(lector["Abdomen"].ToString()), Decimal.Parse(lector["Cadera"].ToString()), lector["Muslo"].ToString(), lector["CBM"].ToString(), Decimal.Parse(lector["CircunfMunneca"].ToString()), Decimal.Parse(lector["PorcentGViceral"].ToString()),
                                                                 Decimal.Parse(lector["PorcentMusculo"].ToString()), Decimal.Parse(lector["PM_BI"].ToString()), Decimal.Parse(lector["PM_PD"].ToString()), Decimal.Parse(lector["PM_BD"].ToString()),
                                                                 Decimal.Parse(lector["PM_PI"].ToString()), Decimal.Parse(lector["PM_Troco"].ToString()), lector["Observaciones"].ToString(), Decimal.Parse(lector["GEB"].ToString()),
                                                                 Decimal.Parse(lector["GET"].ToString()), Decimal.Parse(lector["CHOPorc"].ToString()), Decimal.Parse(lector["CHOGram"].ToString()), Decimal.Parse(lector["CHOkcal"].ToString()),
                                                                 Decimal.Parse(lector["ProteinaPorc"].ToString()), Decimal.Parse(lector["ProteinaGram"].ToString()), Decimal.Parse(lector["Proteinakcal"].ToString()), Decimal.Parse(lector["GrasaPorc"].ToString()),
                                                                 Decimal.Parse(lector["GrasaPorc"].ToString()), Decimal.Parse(lector["Grasakcal"].ToString()));
                    conexion.Close();
                    return(antrop);
                }
                else
                {
                    conexion.Close();
                    return(null);
                }
            }
            catch (SqlException)
            {
                conexion.Close();
                return(null);
            }
        }
        /**
         * Este metodo se encarga de obtener los datos necesarios para saber el IMC de las personas segun la deda ,y con esto su clasificacion
         *@param edad1 Es la edad inicio por la que se hara la busqueda
         *@param edad2 Es la edad final por la que se hara la busqueda
         *@return Una lista con los datos necesarios para obtener el IMC
         */
        public List <TOAntropometria> obtenerIMCEdades(int edad1, int edad2)
        {
            String query = "SELECT a.cedula,a.edad,a.Peso,a.talla FROM(SELECT c.peso,Antropometria.Edad,Antropometria.cedula,Antropometria.talla FROM(SELECT c.*, row_number()OVER(PARTITION BY c.cedula ORDER BY c.fechaSesion DESC)AS rn FROM SeguimientoSemanal c)c,Antropometria WHERE c.rn = 1AND c.cedula = Antropometria.cedula UNION SELECT a.peso,a.edad,a.cedula,a.talla FROM Antropometria a FULL OUTER JOIN SeguimientoSemanal b ON a.cedula =b.cedula WHERE a.cedula IS NULL OR b.cedula IS NULL)a where edad >= @edad1 and edad < @edad2";

            SqlCommand cmd = new SqlCommand(query, conexion);

            cmd.Parameters.AddWithValue("@edad1", edad1);
            cmd.Parameters.AddWithValue("@edad2", edad2);

            List <TOAntropometria> listAntrop = new List <TOAntropometria>();

            SqlDataReader reader;

            conexion.Open();

            reader = cmd.ExecuteReader();

            if (reader.HasRows)
            {
                while (reader.Read())
                {
                    String cedul = reader["Cedula"].ToString();

                    if (!cedul.Equals(""))
                    {
                        int     cedula = int.Parse(reader["Cedula"].ToString());
                        decimal talla  = decimal.Parse(reader["Talla"].ToString());
                        decimal peso   = decimal.Parse(reader["Peso"].ToString());
                        decimal edad   = decimal.Parse(reader["Edad"].ToString());

                        TOAntropometria antrop = new TOAntropometria(cedula, talla, peso, edad);
                        listAntrop.Add(antrop);
                    }
                }
                conexion.Close();
            }
            else
            {
                conexion.Close();
            }

            return(listAntrop);
        }
        /**
         * Método publico que permite agregar los datos de antropometria de un paciente
         * @param antrop, objeto de tipo Antropometria
         * @param porcion, objeto de tipo Porciones
         * @param Listdistrib, lista de tipo  DistribucionPorciones
         * @return bool, retorna si se agregó correctamente o no.
         */
        public bool AgregarAntropometria(Antropometria antrop, Porciones porcion, List <DistribucionPorciones> Listdistrib)
        {
            List <TODistribucionPorciones> lista = new List <TODistribucionPorciones>();

            if (Listdistrib.Count != 0 && Listdistrib != null)
            {
                foreach (DistribucionPorciones porciones in Listdistrib)
                {
                    lista.Add(new TODistribucionPorciones(porciones.Descripcion, porciones.TiempoComida, porciones.Hora, porciones.Cedula));
                }
            }
            else
            {
                lista = null;
            }

            TOAntropometria antropom = new TOAntropometria();

            antropom.Cedula          = antrop.Cedula; antropom.Talla = antrop.Talla; antropom.PesoIdeal = antrop.PesoIdeal;
            antropom.Edad            = antrop.Edad; antropom.PMB = antrop.PMB; antropom.Peso = antrop.Peso; antropom.PesoMaxTeoria = antrop.PesoMaxTeoria;
            antropom.IMC             = antrop.IMC; antropom.PorcGrasaAnalizador = antrop.PorcGrasaAnalizador; antropom.PorcGr_Bascula = antrop.PorcGr_Bascula;
            antropom.GB_BI           = antrop.GB_BI; antropom.GB_BD = antrop.GB_BD; antropom.GB_PI = antrop.GB_PI;
            antropom.GB_PD           = antrop.GB_PD; antropom.GB_Tronco = antrop.GB_Tronco; antropom.AguaCorporal = antrop.AguaCorporal;
            antropom.MasaOsea        = antrop.MasaOsea; antropom.Complexión = antrop.Complexión; antropom.EdadMetabolica = antrop.EdadMetabolica;
            antropom.Cintura         = antrop.Cintura; antropom.Abdomen = antrop.Abdomen; antropom.Cadera = antrop.Cadera;
            antropom.MusloDer        = antrop.MusloDer; antropom.MusloIzq = antrop.MusloIzq; antropom.CBM = antrop.CBM; antropom.CircunfMunneca = antrop.CircunfMunneca;
            antropom.PorcentGViceral = antrop.PorcentGViceral; antropom.PorcentMusculo = antrop.PorcentMusculo; antropom.PM_BI = antrop.PM_BI; antropom.PM_PD = antrop.PM_PD; antropom.PM_BD = antrop.PM_BD;
            antropom.PM_PI           = antrop.PM_PI; antropom.PM_Tronco = antrop.PM_Tronco; antropom.Observaciones = antrop.Observaciones;
            antropom.GEB             = antrop.GEB; antropom.GET = antrop.GET; antropom.CHOPorc = antrop.CHOPorc;
            antropom.CHOGram         = antrop.CHOGram; antropom.CHO_kcal = antrop.CHO_kcal; antropom.ProteinaPorc = antrop.ProteinaPorc;
            antropom.ProteinaGram    = antrop.ProteinaGram; antropom.Proteinakcal = antrop.Proteinakcal; antropom.GrasaPorc = antrop.GrasaPorc;
            antropom.GrasaGram       = antrop.GrasaGram; antropom.Grasakcal = antrop.Grasakcal;
            TOPorciones porci = new TOPorciones(porcion.Cedula, porcion.Leche, porcion.Carne, porcion.Vegetales, porcion.Grasa,
                                                porcion.Fruta, porcion.Azucar, porcion.Harina, porcion.Suplemento);



            return(daoClienteNutricion.GuardarAntropometria(antropom, porci, lista));
        }
        /**
         * Método público que permite la conexión con la base de datos para modificar datos del expediente
         * @param cedula string
         * @return un parámetro de tipo bool, que indica si se realizo correctamente la accion o no
         */
        public bool ModificarExpediente(TOClienteNutricion clienteModif, TOHistorialMedico histModif, TOHabitoAlimentario habModif, List <TORecordatorio24H> listRecordModif, TOAntropometria antropModif, TOPorciones porcModif, List <TODistribucionPorciones> distrModif)
        {
            string query = "UPDATE Cliente_Nutricion  SET Fecha_Nacimiento = '" + clienteModif.Fecha_Nacimiento.ToString("yyyy-MM-dd") + "', " +
                           "Sexo = '" + clienteModif.Sexo + "', Estado_Civil = '" + clienteModif.Estado_Civil + "'," +
                           " Residencia = '" + clienteModif.Residencia + "', Ocupacion = '" + clienteModif.Ocupacion + "'," +
                           " FechaIngreso = '" + clienteModif.FechaIngreso.ToString("yyyy-MM-dd") + "', Consultorio = '" + clienteModif.Consultorio + "' WHERE Cedula = " + clienteModif.Cedula + "; ";

            string query2 = "UPDATE Historial_Medico SET Antecedentes_Fam = '" + histModif.Antecedentes + "', Patologias = '" + histModif.Patologias + "'," +
                            "Cosumo_Licor = " + histModif.ConsumeLicor + ", Fumador = " + histModif.Fuma + ", FrecFumar = '" + histModif.FrecFuma + "'," +
                            "FrecTomar = '" + histModif.FrecLicor + "', ActividadFisica = '" + histModif.ActividadFisica + "'," +
                            "Fecha_Ult_Exm = '" + histModif.UltimoExamen.ToString("yyyy-MM-dd") + "' WHERE Cedula =" + histModif.Cedula + ";";

            string query3 = "UPDATE HabitosAlimentario SET ComidasDiarias = " + habModif.ComidaDiaria + "," +
                            "Com_Hor_Dias = '" + habModif.ComidaHorasDia + "', Afuera_Express = " + habModif.AfueraExpress + "," +
                            "ComidaFuera = '" + habModif.ComidaFuera + "', AzucarBebida = '" + habModif.AzucarBebida + "'," +
                            "ComidaElaborada_Con = '" + habModif.ComidaElaboradCon + "', VasosAguaDiaria = " + habModif.AguaDiaria + ", " +
                            "Aderezos = '" + habModif.Aderezos + "', Fruta = '" + habModif.Fruta + "', Verdura = '" + habModif.Verdura + "', Leche = '" + habModif.Leche + "', " +
                            "Huevo = '" + habModif.Huevo + "', Yogurt = '" + habModif.Yogurt + "', Carne = '" + habModif.Carne + "', Queso = '" + habModif.Queso + "'," +
                            "Aguacate = '" + habModif.Aguacate + "', Semillas = '" + habModif.Semillas + "' WHERE Cedula = " + habModif.Cedula + ";";

            string query8 = "UPDATE Usuario SET Correo = '" + clienteModif.Correo + "', Nombre = '" + clienteModif.Nombre + "', WhatsApp = '" + clienteModif.WhatsApp + "'," +
                            "Telefono = '" + clienteModif.Telefono + "', Apellido1 = '" + clienteModif.Apellido1 + "', Apellido2 = '" + clienteModif.Apellido2 + "'" +
                            "WHERE Cedula = " + clienteModif.Cedula + "; ";

            SqlCommand cmd  = new SqlCommand(query, conexion);
            SqlCommand cmd2 = new SqlCommand(query2, conexion);
            SqlCommand cmd3 = new SqlCommand(query3, conexion);
            SqlCommand cmd8 = new SqlCommand(query8, conexion);

            try
            {
                if (conexion.State != ConnectionState.Open)
                {
                    conexion.Open();
                }

                cmd.ExecuteNonQuery();
                cmd2.ExecuteNonQuery();
                cmd3.ExecuteNonQuery();
                cmd8.ExecuteNonQuery();
                conexion.Close();

                foreach (TORecordatorio24H R in listRecordModif)
                {
                    string     query4 = "UPDATE Recordat24H SET Hora = '" + R.Hora + "', Descripcion = '" + R.Descripcion + "' WHERE Cedula = " + R.Cedula + " and TiempoComida = '" + R.TiempoComida + "'; ";
                    SqlCommand cmd4   = new SqlCommand(query4, conexion);
                    conexion.Open();
                    cmd4.ExecuteNonQuery();
                    conexion.Close();
                }

                string query5 = "UPDATE Antropometria SET Talla = " + antropModif.Talla + ", " +
                                "PesoIdeal = " + antropModif.PesoIdeal + ", Edad = " + antropModif.Edad + ", " +
                                "PMB = " + antropModif.PMB + ", Peso = " + antropModif.Peso + ", PesoMaxTeoria = " + antropModif.PesoMaxTeoria + ", " +
                                "IMC = " + antropModif.IMC + ", PorcGrasaAnalizador = " + antropModif.PorcGrasaAnalizador + ", " +
                                "PorcGr_Bascula = " + antropModif.PorcGr_Bascula + ", GB_BI = " + antropModif.GB_BI + ", GB_BD = " + antropModif.GB_BD + ", " +
                                "GB_PI = " + antropModif.GB_PI + ", GB_PD = " + antropModif.GB_PD + ", GB_Tronco = " + antropModif.GB_Tronco + ", " +
                                "AguaCorporal = " + antropModif.AguaCorporal + ", MasaOsea = " + antropModif.MasaOsea + ", Complexion = " + antropModif.Complexión + "," +
                                "Edad_Metabolica = " + antropModif.EdadMetabolica + ", Cintura = " + antropModif.Cintura + ", Abdomen = " + antropModif.Abdomen + "," +
                                "Cadera = " + antropModif.Cadera + ", Muslo_Der = " + antropModif.MusloDer + ", Muslo_Izq = " + antropModif.MusloIzq + "," +
                                "CBM = " + antropModif.CBM + ", CircunfMunneca = " + antropModif.CircunfMunneca + ", PorcentGViceral = " + antropModif.PorcentGViceral + "," +
                                "PorcentMusculo = " + antropModif.PorcentMusculo + ", PM_BI = " + antropModif.PM_BI + ", PM_PD = " + antropModif.PM_PD + ", " +
                                "PM_BD = " + antropModif.PM_BD + ", PM_PI = " + antropModif.PM_PI + ", PM_Troco = " + antropModif.PM_Tronco + ", Observaciones = '" + antropModif.Observaciones + "'," +
                                "GEB = " + antropModif.GEB + ", GET = " + antropModif.GET + ", CHOPorc = " + antropModif.CHOPorc + ", CHOGram = " + antropModif.CHOGram + "," +
                                "CHOkcal = " + antropModif.CHO_kcal + ", ProteinaPorc = " + antropModif.ProteinaPorc + ", ProteinaGram = " + antropModif.ProteinaGram + "," +
                                "Proteinakcal = " + antropModif.Proteinakcal + ", GrasaPorc = " + antropModif.GrasaPorc + ", GrasaGram = " + antropModif.GrasaGram + ", " +
                                "Grasakcal = " + antropModif.Grasakcal + " WHERE Cedula = " + antropModif.Cedula + "; ";

                string query6 = "UPDATE  Porciones SET Leche = " + porcModif.Leche + ", Carne = " + porcModif.Carne + ", Vegetales = " + porcModif.Vegetales + "," +
                                "Grasa = " + porcModif.Grasa + ", Fruta = " + porcModif.Fruta + ", Azucar = " + porcModif.Azucar + ", Harina = " + porcModif.Harina + "," +
                                "Suplemento = " + porcModif.Suplemento + " WHERE Cedula = " + porcModif.Cedula + "; ";

                SqlCommand cmd5 = new SqlCommand(query5, conexion);
                SqlCommand cmd6 = new SqlCommand(query6, conexion);
                conexion.Open();
                cmd5.ExecuteNonQuery();
                cmd6.ExecuteNonQuery();
                conexion.Close();

                foreach (TODistribucionPorciones D in distrModif)
                {
                    string     query7 = "UPDATE  DistribucionPorcion SET Hora = '" + D.Hora + "', Descripcion = '" + D.Descripcion + "' WHERE Cedula = " + D.Cedula + " and TiempoComida = '" + D.TiempoComida + "'; ";
                    SqlCommand cmd7   = new SqlCommand(query7, conexion);
                    conexion.Open();
                    cmd7.ExecuteNonQuery();
                    conexion.Close();
                }

                return(true);
            }
            catch (Exception e)
            {
                return(false);
            }
        }
        /**
         * Método público que permite la conexión con la base de datos para traer un antopometria de acuerdo al número de cedula de un paciente
         * @param cedula string
         * @return un parámetro de tipo TOAntropometria
         */
        public TOAntropometria TraerAntropometria(string cedula)
        {
            string        qry = "select * from Antropometria where Cedula = " + cedula;
            SqlCommand    cmd = new SqlCommand(qry, conexion);
            SqlDataReader lector;

            try
            {
                if (conexion.State != ConnectionState.Open)
                {
                    conexion.Open();
                }

                lector = cmd.ExecuteReader();
                if (lector.HasRows)
                {
                    lector.Read();
                    TOAntropometria antrop = new TOAntropometria();
                    antrop.Cedula              = Int32.Parse(lector["Cedula"].ToString());
                    antrop.Talla               = Decimal.Parse(lector["Talla"].ToString());
                    antrop.PesoIdeal           = Decimal.Parse(lector["PesoIdeal"].ToString());
                    antrop.Edad                = Decimal.Parse(lector["Edad"].ToString());
                    antrop.PMB                 = Decimal.Parse(lector["PMB"].ToString());
                    antrop.Peso                = Decimal.Parse(lector["Peso"].ToString());
                    antrop.PesoMaxTeoria       = Decimal.Parse(lector["PesoMaxTeoria"].ToString());
                    antrop.IMC                 = Decimal.Parse(lector["IMC"].ToString());
                    antrop.PorcGrasaAnalizador = Decimal.Parse(lector["PorcGrasaAnalizador"].ToString());
                    antrop.PorcGr_Bascula      = Decimal.Parse(lector["PorcGr_Bascula"].ToString());
                    antrop.GB_BI               = Decimal.Parse(lector["GB_BI"].ToString());
                    antrop.GB_BD               = Decimal.Parse(lector["GB_BD"].ToString());
                    antrop.GB_PI               = Decimal.Parse(lector["GB_PI"].ToString());
                    antrop.GB_PD               = Decimal.Parse(lector["GB_PD"].ToString());
                    antrop.GB_Tronco           = Decimal.Parse(lector["GB_Tronco"].ToString());
                    antrop.AguaCorporal        = Decimal.Parse(lector["AguaCorporal"].ToString());
                    antrop.MasaOsea            = Decimal.Parse(lector["MasaOsea"].ToString());
                    antrop.Complexión          = Decimal.Parse(lector["Complexion"].ToString());
                    antrop.EdadMetabolica      = Decimal.Parse(lector["Edad_Metabolica"].ToString());
                    antrop.Cintura             = Decimal.Parse(lector["Cintura"].ToString());
                    antrop.Abdomen             = Decimal.Parse(lector["Abdomen"].ToString());
                    antrop.Cadera              = Decimal.Parse(lector["Cadera"].ToString());
                    antrop.MusloDer            = Decimal.Parse(lector["Muslo_Der"].ToString());
                    antrop.MusloIzq            = Decimal.Parse(lector["Muslo_Izq"].ToString());
                    antrop.CBM                 = Decimal.Parse(lector["CBM"].ToString());
                    antrop.CircunfMunneca      = Decimal.Parse(lector["CircunfMunneca"].ToString());
                    antrop.PorcentGViceral     = Decimal.Parse(lector["PorcentGViceral"].ToString());
                    antrop.PorcentMusculo      = Decimal.Parse(lector["PorcentMusculo"].ToString());
                    antrop.PM_BI               = Decimal.Parse(lector["PM_BI"].ToString());
                    antrop.PM_PD               = Decimal.Parse(lector["PM_PD"].ToString());
                    antrop.PM_BD               = Decimal.Parse(lector["PM_BD"].ToString());
                    antrop.PM_PI               = Decimal.Parse(lector["PM_PI"].ToString());
                    antrop.PM_Tronco           = Decimal.Parse(lector["PM_Troco"].ToString());
                    antrop.Observaciones       = lector["Observaciones"].ToString();
                    antrop.GEB                 = Decimal.Parse(lector["GEB"].ToString());
                    antrop.GET                 = Decimal.Parse(lector["GET"].ToString());
                    antrop.CHOPorc             = Decimal.Parse(lector["CHOPorc"].ToString());
                    antrop.CHOGram             = Decimal.Parse(lector["CHOGram"].ToString());
                    antrop.CHO_kcal            = Decimal.Parse(lector["CHOkcal"].ToString());
                    antrop.ProteinaPorc        = Decimal.Parse(lector["ProteinaPorc"].ToString());
                    antrop.ProteinaGram        = Decimal.Parse(lector["ProteinaGram"].ToString());
                    antrop.Proteinakcal        = Decimal.Parse(lector["Proteinakcal"].ToString());
                    antrop.GrasaPorc           = Decimal.Parse(lector["GrasaPorc"].ToString());
                    antrop.GrasaGram           = Decimal.Parse(lector["GrasaGram"].ToString());
                    antrop.Grasakcal           = Decimal.Parse(lector["Grasakcal"].ToString());
                    conexion.Close();
                    return(antrop);
                }
                else
                {
                    conexion.Close();
                    return(null);
                }
            }
            catch (SqlException)
            {
                conexion.Close();
                return(null);
            }
        }
        /**
         * Método público que permite la conexión con la base de datos para guardar antropometría
         * @param antropom TOAntropometria
         * @param porcion TOPorciones
         * @param listDistrib List<TODistribucionPorciones>
         * @return un parámetro de tipo booleano que devuelve un true si se guardó en la base o flase si no se guardó.
         */
        public bool GuardarAntropometria(TOAntropometria antropom, TOPorciones porcion, List <TODistribucionPorciones> listDistrib)
        {
            //muslos
            String query1 = "Insert into Antropometria values(@ced, @talla, @pesIdeal, @edad,@pmb, @peso,@pesmax,@imc, @gAnaliz, @grbascu, @gbbi,@gbbd, @gbpi, @gbpd," +
                            "@gbtronc, @aguacorp, @masaOsea, @complex,@edadMetab,@cint,@abdomn,@cader,@muslo_Der,@muslo_Izq,@cbm,@circunf,@grviser,@pormuscul,@pmbi,@pmpd,@pmbd," +
                            "@pmpi,@pmtronco,@observ,@geb,@get,@chopor,@chogram,@chokcal,@protpor,@protgram,@protkcal,@grporc,@grgram,@grkcal)";

            String query2 = "Insert into Porciones values( @pced,@pleche,@pcarne,@pveget,@pgrasa,@pfruta,@pazuc,@pharina, @psuplem)";



            SqlCommand cmd  = new SqlCommand(query1, conexion);
            SqlCommand cmd2 = new SqlCommand(query2, conexion);

            //try
            //{

            cmd.Parameters.AddWithValue("@ced", antropom.Cedula); cmd.Parameters.AddWithValue("@talla", antropom.Talla);
            cmd.Parameters.AddWithValue("@pesIdeal", antropom.PesoIdeal); cmd.Parameters.AddWithValue("@edad", antropom.Edad);
            cmd.Parameters.AddWithValue("@pmb", antropom.PMB); cmd.Parameters.AddWithValue("@peso", antropom.Peso);
            cmd.Parameters.AddWithValue("@pesmax", antropom.PesoMaxTeoria); cmd.Parameters.AddWithValue("@imc", antropom.IMC);
            cmd.Parameters.AddWithValue("@gAnaliz", antropom.PorcGrasaAnalizador); cmd.Parameters.AddWithValue("@grbascu", antropom.PorcGr_Bascula);
            cmd.Parameters.AddWithValue("@gbbi", antropom.GB_BI); cmd.Parameters.AddWithValue("@gbbd", antropom.GB_BD);
            cmd.Parameters.AddWithValue("@gbpi", antropom.GB_PI); cmd.Parameters.AddWithValue("@gbpd", antropom.GB_PD);
            cmd.Parameters.AddWithValue("@gbtronc", antropom.GB_Tronco); cmd.Parameters.AddWithValue("@aguacorp", antropom.AguaCorporal);
            cmd.Parameters.AddWithValue("@masaOsea", antropom.MasaOsea); cmd.Parameters.AddWithValue("@complex", antropom.Complexión);
            cmd.Parameters.AddWithValue("@edadMetab", antropom.EdadMetabolica); cmd.Parameters.AddWithValue("@cint", antropom.Cintura);
            cmd.Parameters.AddWithValue("@abdomn", antropom.Abdomen); cmd.Parameters.AddWithValue("@cader", antropom.Cadera);
            cmd.Parameters.AddWithValue("@muslo_Der", antropom.MusloDer); cmd.Parameters.AddWithValue("@muslo_Izq", antropom.MusloIzq); cmd.Parameters.AddWithValue("@cbm", antropom.CBM);
            cmd.Parameters.AddWithValue("@circunf", antropom.CircunfMunneca); cmd.Parameters.AddWithValue("@grviser", antropom.PorcentGViceral);
            cmd.Parameters.AddWithValue("@pormuscul", antropom.PorcentMusculo); cmd.Parameters.AddWithValue("@pmbi", antropom.PM_BI);
            cmd.Parameters.AddWithValue("@pmpd", antropom.PM_PD); cmd.Parameters.AddWithValue("@pmbd", antropom.PM_BD);
            cmd.Parameters.AddWithValue("@pmpi", antropom.PM_PI); cmd.Parameters.AddWithValue("@pmtronco", antropom.PM_Tronco);
            cmd.Parameters.AddWithValue("@observ", antropom.Observaciones); cmd.Parameters.AddWithValue("@geb", antropom.GEB);
            cmd.Parameters.AddWithValue("@get", antropom.GET); cmd.Parameters.AddWithValue("@chopor", antropom.CHOPorc);
            cmd.Parameters.AddWithValue("@chogram", antropom.CHOGram); cmd.Parameters.AddWithValue("@chokcal", antropom.CHO_kcal);
            cmd.Parameters.AddWithValue("@protpor", antropom.ProteinaPorc); cmd.Parameters.AddWithValue("@protgram", antropom.ProteinaGram);
            cmd.Parameters.AddWithValue("@protkcal", antropom.Proteinakcal); cmd.Parameters.AddWithValue("@grporc", antropom.GrasaPorc);
            cmd.Parameters.AddWithValue("@grgram", antropom.GrasaGram); cmd.Parameters.AddWithValue("@grkcal", antropom.Grasakcal);

            cmd2.Parameters.AddWithValue("@pced", porcion.Cedula); cmd2.Parameters.AddWithValue("@pleche", porcion.Leche);
            cmd2.Parameters.AddWithValue("@pcarne", porcion.Carne); cmd2.Parameters.AddWithValue("@pveget", porcion.Vegetales);
            cmd2.Parameters.AddWithValue("@pgrasa", porcion.Grasa); cmd2.Parameters.AddWithValue("@pfruta", porcion.Fruta);
            cmd2.Parameters.AddWithValue("@pazuc", porcion.Azucar); cmd2.Parameters.AddWithValue("@pharina", porcion.Harina);
            cmd2.Parameters.AddWithValue("@psuplem", porcion.Suplemento);



            if (conexion.State != ConnectionState.Open)
            {
                conexion.Open();
            }
            //insertar
            cmd.ExecuteNonQuery();
            cmd2.ExecuteNonQuery();

            conexion.Close();

            if (listDistrib != null)
            {
                foreach (TODistribucionPorciones distribucion in listDistrib)
                {
                    String     query3 = "Insert into DistribucionPorcion values(@desc,@tiempCom,@hora,@ced)";
                    SqlCommand cmd3   = new SqlCommand(query3, conexion);
                    cmd3.Parameters.AddWithValue("@desc", distribucion.Descripcion);
                    cmd3.Parameters.AddWithValue("@tiempCom", distribucion.TiempoComida);
                    cmd3.Parameters.AddWithValue("@hora", distribucion.Hora);
                    cmd3.Parameters.AddWithValue("@ced", distribucion.Cedula);


                    conexion.Open();
                    cmd3.ExecuteNonQuery();
                    conexion.Close();
                }
            }
            return(true);
            //}
            //catch (SqlException)
            //{
            //    return false;
            //}
        }
        public bool GuardarAntropometria(TOAntropometria antropom, TOPorciones porcion, TODistribucionPorciones distrib)
        {
            String query1 = "Insert into Antropometria values(@ced, @talla, @pesIdeal, @edad,@pmb, @peso,@pesmax,@imc, @gAnaliz, @grbascu, @gbbi,@gbbd, @gbpi, @gbpd," +
                            "@gbtronc, @aguacorp, @masaOsea, @complex,@edadMetab,@cint,@abdomn,@cader,@muslo,@cbm,@circunf,@grviser,@pormuscul,@pmbi,@pmpd,@pmbd," +
                            "@pmpi,@pmtronco,@observ,@geb,@get,@chopor,@chogram,@chokcal,@protpor,@protgram,@protkcal,@grporc,@grgram,@grkcal)";

            String     query2 = "Insert into Porciones values( @pced,@pleche,@pcarne,@pveget,@pgrasa,@pfruta,@pazuc,@pharina, @psuplem)";
            String     query3 = "Insert into DistribucionPorcion values(@diCed, @diAyun, @diDesay, @diMedMan,@diAlmuer, @dimedTard,@diCena,@dicolNoc)";
            SqlCommand cmd    = new SqlCommand(query1, conexion);
            SqlCommand cmd2   = new SqlCommand(query2, conexion);
            SqlCommand cmd3   = new SqlCommand(query3, conexion);

            try
            {
                cmd.Parameters.AddWithValue("@ced", antropom.Cedula); cmd.Parameters.AddWithValue("@talla", antropom.Talla);
                cmd.Parameters.AddWithValue("@pesIdeal", antropom.PesoIdeal); cmd.Parameters.AddWithValue("@edad", antropom.Edad);
                cmd.Parameters.AddWithValue("@pmb", antropom.PMB); cmd.Parameters.AddWithValue("@peso", antropom.Peso);
                cmd.Parameters.AddWithValue("@pesmax", antropom.PesoMaxTeoria); cmd.Parameters.AddWithValue("@imc", antropom.IMC);
                cmd.Parameters.AddWithValue("@gAnaliz", antropom.PorcGrasaAnalizador); cmd.Parameters.AddWithValue("@grbascu", antropom.PorcGr_Bascula);
                cmd.Parameters.AddWithValue("@gbbi", antropom.GB_BI); cmd.Parameters.AddWithValue("@gbbd", antropom.GB_BD);
                cmd.Parameters.AddWithValue("@gbpi", antropom.GB_PI); cmd.Parameters.AddWithValue("@gbpd", antropom.GB_PD);
                cmd.Parameters.AddWithValue("@gbtronc", antropom.GB_Tronco); cmd.Parameters.AddWithValue("@aguacorp", antropom.AguaCorporal);
                cmd.Parameters.AddWithValue("@masaOsea", antropom.MasaOsea); cmd.Parameters.AddWithValue("@complex", antropom.Complexión);
                cmd.Parameters.AddWithValue("@edadMetab", antropom.EdadMetabolica); cmd.Parameters.AddWithValue("@cint", antropom.Cintura);
                cmd.Parameters.AddWithValue("@abdomn", antropom.Abdomen); cmd.Parameters.AddWithValue("@cader", antropom.Cadera);
                cmd.Parameters.AddWithValue("@muslo", antropom.Muslo); cmd.Parameters.AddWithValue("@cbm", antropom.CBM);
                cmd.Parameters.AddWithValue("@circunf", antropom.CircunfMunneca); cmd.Parameters.AddWithValue("@grviser", antropom.PorcentGViceral);
                cmd.Parameters.AddWithValue("@pormuscul", antropom.PorcentMusculo); cmd.Parameters.AddWithValue("@pmbi", antropom.PM_BI);
                cmd.Parameters.AddWithValue("@pmpd", antropom.PM_PD); cmd.Parameters.AddWithValue("@pmbd", antropom.PM_BD);
                cmd.Parameters.AddWithValue("@pmpi", antropom.PM_PI); cmd.Parameters.AddWithValue("@pmtronco", antropom.PM_Tronco);
                cmd.Parameters.AddWithValue("@observ", antropom.Observaciones); cmd.Parameters.AddWithValue("@geb", antropom.GEB);
                cmd.Parameters.AddWithValue("@get", antropom.GET); cmd.Parameters.AddWithValue("@chopor", antropom.CHOPorc);
                cmd.Parameters.AddWithValue("@chogram", antropom.CHOGram); cmd.Parameters.AddWithValue("@chokcal", antropom.CHO_kcal);
                cmd.Parameters.AddWithValue("@protpor", antropom.ProteinaPorc); cmd.Parameters.AddWithValue("@protgram", antropom.ProteinaGram);
                cmd.Parameters.AddWithValue("@protkcal", antropom.Proteinakcal); cmd.Parameters.AddWithValue("@grporc", antropom.GrasaPorc);
                cmd.Parameters.AddWithValue("@grgram", antropom.GrasaGram); cmd.Parameters.AddWithValue("@grkcal", antropom.Grasakcal);
                cmd2.Parameters.AddWithValue("@pced", porcion.Cedula); cmd2.Parameters.AddWithValue("@pleche", porcion.Leche);
                cmd2.Parameters.AddWithValue("@pcarne", porcion.Carne); cmd2.Parameters.AddWithValue("@pveget", porcion.Vegetales);
                cmd2.Parameters.AddWithValue("@pgrasa", porcion.Grasa); cmd2.Parameters.AddWithValue("@pfruta", porcion.Fruta);
                cmd2.Parameters.AddWithValue("@pazuc", porcion.Azucar); cmd2.Parameters.AddWithValue("@pharina", porcion.Harina);
                cmd2.Parameters.AddWithValue("@psuplem", porcion.Suplemento);
                cmd3.Parameters.AddWithValue("@diCed", distrib.Cedula); cmd3.Parameters.AddWithValue("@diAyun", distrib.Ayunas);
                cmd3.Parameters.AddWithValue("@diDesay", distrib.Desayuno); cmd3.Parameters.AddWithValue("@diMedMan", distrib.MediaMañana);
                cmd3.Parameters.AddWithValue("@diAlmuer", distrib.Almuerzo); cmd3.Parameters.AddWithValue("@dimedTard", distrib.MediaTarde);
                cmd3.Parameters.AddWithValue("@diCena", distrib.Cena); cmd3.Parameters.AddWithValue("@dicolNoc", distrib.ColacionNocturna);



                if (conexion.State != ConnectionState.Open)
                {
                    conexion.Open();
                }
                //insertar
                cmd.ExecuteNonQuery();
                cmd2.ExecuteNonQuery();
                cmd3.ExecuteNonQuery();

                conexion.Close();
                return(true);
            }
            catch (SqlException)
            {
                return(false);
            }
        }