/** * 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)); }
/** * 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); }