/**
         * Método publico para agregar los seguimientos mensuales a la base de datos.
         * @param SeguimientoMensual, objeto del tipo seguimiento mensual.
         * @return bool, retorna si se almacenó correctamente o no.
         */
        public bool AgregaSegNutri(SeguimientoMensual seguimiento)
        {
            TOSeguimientoMensual            segMen = new TOSeguimientoMensual();
            TOSeguimientoNutricional        seg    = new TOSeguimientoNutricional();
            List <TOSeguimientoRecordat24H> lisSeg = new List <TOSeguimientoRecordat24H>();
            List <SeguimientoRecordat24H>   lista  = seguimiento.record;
            TOSeguimientoAntrop             segAnt = new TOSeguimientoAntrop();

            seg.Cedula        = seguimiento.nutri.Cedula;
            seg.DiasEjercicio = seguimiento.nutri.DiasEjercicio;
            seg.ComidaExtra   = seguimiento.nutri.ComidaExtra;
            seg.NivelAnsiedad = seguimiento.nutri.NivelAnsiedad;
            if (lista != null)
            {
                foreach (SeguimientoRecordat24H record in lista)
                {
                    lisSeg.Add(new TOSeguimientoRecordat24H(record.TiempoComida, record.Hora, record.Descripcion));
                }
            }

            segAnt.Edad                = seguimiento.antrop.Edad;
            segAnt.Talla               = seguimiento.antrop.Talla;
            segAnt.CM                  = seguimiento.antrop.CM;
            segAnt.Fecha_SA            = seguimiento.antrop.Fecha_SA;
            segAnt.Peso                = seguimiento.antrop.Peso;
            segAnt.IMC                 = seguimiento.antrop.IMC;
            segAnt.EdadMetabolica      = seguimiento.antrop.EdadMetabolica;
            segAnt.Agua                = seguimiento.antrop.Agua;
            segAnt.MasaOsea            = seguimiento.antrop.MasaOsea;
            segAnt.PorcGrasaAnalizador = seguimiento.antrop.PorcGrasaAnalizador;
            segAnt.PorcentGViceral     = seguimiento.antrop.PorcentGViceral;
            segAnt.PorcGr_Bascula      = seguimiento.antrop.PorcGr_Bascula;
            segAnt.GB_BI               = seguimiento.antrop.GB_BI;
            segAnt.GB_BD               = seguimiento.antrop.GB_BD;
            segAnt.GB_PI               = seguimiento.antrop.GB_PI;
            segAnt.GB_PD               = seguimiento.antrop.GB_PD;
            segAnt.GB_Tronco           = seguimiento.antrop.GB_Tronco;
            segAnt.PorcentMusculo      = seguimiento.antrop.PorcentMusculo;
            segAnt.PM_BI               = seguimiento.antrop.PM_BI;
            segAnt.PM_PD               = seguimiento.antrop.PM_PD;
            segAnt.PM_BD               = seguimiento.antrop.PM_BD;
            segAnt.PM_PI               = seguimiento.antrop.PM_PI;
            segAnt.PM_Tronco           = seguimiento.antrop.PM_Tronco;
            segAnt.CircunfCintura      = seguimiento.antrop.CircunfCintura;
            segAnt.Cadera              = seguimiento.antrop.Cadera;
            segAnt.MusloIzq            = seguimiento.antrop.MusloIzq;
            segAnt.MusloDer            = seguimiento.antrop.MusloDer;
            segAnt.BrazoIzq            = seguimiento.antrop.BrazoIzq;
            segAnt.BrazoDer            = seguimiento.antrop.BrazoDer;
            segAnt.PesoIdeal           = seguimiento.antrop.PesoIdeal;
            segAnt.Observaciones       = seguimiento.antrop.Observaciones;

            segMen.antrop = segAnt;
            segMen.record = lisSeg;
            segMen.nutri  = seg;
            return(daoSeguimientos.GuardarSeguimientoMensual(segMen));
        }
コード例 #2
0
        /**
         * Método público que permite la conexión con la base de datos para traer una lista de seguimientos mensuales de una persona
         * @param cedula int Es la cedula de la persona por la que se va a realizar la busqueda
         * @return un parámetro que contiene una lista de seguimientos mensuales
         */
        public List <TOSeguimientoMensual> ListarMensual(int cedula)
        {
            List <TOSeguimientoMensual> seguimMensual = new List <TOSeguimientoMensual>();
            string     qry1    = "Select * from SeguimNutricion where Cedula = @ced";
            SqlCommand command = new SqlCommand(qry1, conexion);

            command.Parameters.AddWithValue("@ced", cedula);

            SqlDataReader lector;

            if (conexion.State != ConnectionState.Open)
            {
                conexion.Open();
            }
            lector = command.ExecuteReader();
            if (lector.HasRows)
            {
                while (lector.Read())
                {
                    int idSeg = Int32.Parse(lector["ID_Seguim"].ToString());
                    TOSeguimientoNutricional nut = new TOSeguimientoNutricional(lector["Cedula"].ToString(), lector["DiasEjercSem"].ToString(), lector["ComidaExtra"].ToString(), lector["NivelAnsiedad"].ToString());
                    TOSeguimientoMensual     d   = new TOSeguimientoMensual();
                    d.nutri = nut;
                    d.idSeg = idSeg;
                    seguimMensual.Add(d);
                }
                if (conexion.State != ConnectionState.Closed)
                {
                    conexion.Close();
                }
            }
            else
            {
                seguimMensual = null;
                if (conexion.State != ConnectionState.Closed)
                {
                    conexion.Close();
                }
            }
            if (seguimMensual != null)
            {
                foreach (TOSeguimientoMensual seg in seguimMensual)
                {
                    //Buscar la lista de los recordatorios de 24 horas del seguimiento nutricional 'nut'
                    string     qry2 = "Select * from SeguimRecordat24H where ID_Seguimiento = @id";
                    SqlCommand cmd  = new SqlCommand(qry2, conexion);

                    cmd.Parameters.AddWithValue("@id", seg.idSeg);

                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                    SqlDataReader lector2;
                    List <TOSeguimientoRecordat24H> nutrec = new List <TOSeguimientoRecordat24H>();
                    if (conexion.State != ConnectionState.Open)
                    {
                        conexion.Open();
                    }
                    lector2 = cmd.ExecuteReader();
                    if (lector2.HasRows)
                    {
                        while (lector2.Read())
                        {
                            nutrec.Add(new TOSeguimientoRecordat24H(int.Parse(lector2["ID_Seguimiento"].ToString()), int.Parse(lector2["ID_Record"].ToString()), lector2["TiempoComida"].ToString(), lector2["Hora"].ToString(), lector2["Descripcion"].ToString()));
                        }
                        seg.record = nutrec;
                        conexion.Close();
                    }
                    else
                    {
                        seg.record = null;
                    }

                    //Seleccionar el seguimiento de antropometría del seguiemiento mensual
                    string     qry3 = "Select * from SeguimAntropom where ID_Seguim =  @idAntr";
                    SqlCommand cmd3 = new SqlCommand(qry3, conexion);
                    cmd3.Parameters.AddWithValue("@idAntr", seg.idSeg);

                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                    SqlDataReader       lector3;
                    TOSeguimientoAntrop nutantrop = null;
                    if (conexion.State != ConnectionState.Open)
                    {
                        conexion.Open();
                    }
                    lector3 = cmd3.ExecuteReader();
                    if (lector3.HasRows)
                    {
                        lector3.Read();
                        //while (lector2.Read())
                        //{
                        nutantrop = new TOSeguimientoAntrop(int.Parse(lector3["ID_SegAntrop"].ToString()), int.Parse(lector3["ID_Seguim"].ToString()),
                                                            decimal.Parse(lector3["Edad"].ToString()), decimal.Parse(lector3["Talla"].ToString()), decimal.Parse(lector3["CM"].ToString()),
                                                            DateTime.Parse(lector3["FechaSeg"].ToString()), decimal.Parse(lector3["Peso"].ToString()), decimal.Parse(lector3["IMC"].ToString()),
                                                            decimal.Parse(lector3["EdadMetab"].ToString()), decimal.Parse(lector3["Agua"].ToString()), decimal.Parse(lector3["MasaOsea"].ToString()),
                                                            decimal.Parse(lector3["PorcGrasaAnalizador"].ToString()), decimal.Parse(lector3["PGrasaViceral"].ToString()),
                                                            decimal.Parse(lector3["PorcGr_Bascula"].ToString()), decimal.Parse(lector3["GB_BI"].ToString()), decimal.Parse(lector3["GB_BD"].ToString()),
                                                            decimal.Parse(lector3["GB_PI"].ToString()), decimal.Parse(lector3["GB_PD"].ToString()), decimal.Parse(lector3["GB_Tronco"].ToString()),
                                                            decimal.Parse(lector3["PorcentMusculo"].ToString()), decimal.Parse(lector3["PM_BI"].ToString()), decimal.Parse(lector3["PM_BD"].ToString()),
                                                            decimal.Parse(lector3["PM_PI"].ToString()), decimal.Parse(lector3["PM_PD"].ToString()), decimal.Parse(lector3["PM_Tronco"].ToString()),
                                                            decimal.Parse(lector3["CircunfCintura"].ToString()), decimal.Parse(lector3["Cadera"].ToString()), decimal.Parse(lector3["MusloIzq"].ToString()),
                                                            decimal.Parse(lector3["MusloDer"].ToString()), decimal.Parse(lector3["BrazoIzq"].ToString()), decimal.Parse(lector3["BrazoDer"].ToString()),
                                                            decimal.Parse(lector3["PesoIdeal"].ToString()), lector3["Observaciones"].ToString());
                        //}
                        seg.antrop = nutantrop;
                        conexion.Close();
                        seg.Fecha = nutantrop.Fecha_SA;
                    }
                    else
                    {
                        seg.antrop = null;
                    }
                }
            }
            if (conexion.State != ConnectionState.Closed)
            {
                conexion.Close();
            }
            return(seguimMensual);
        }