예제 #1
0
        public ClassResultV Usp_Somatotipo_Insert(DtoSomatotipo dtoBase)
        {
            var cr  = new ClassResultV();
            var dto = (DtoSomatotipo)dtoBase;
            var pr  = new SqlParameter[6];

            try
            {
                pr[0]           = new SqlParameter("@ectomorfia", SqlDbType.Decimal);
                pr[0].Value     = V_ValidaPrNull(dto.ectomorfia);
                pr[1]           = new SqlParameter("@mesomorfia", SqlDbType.Decimal);
                pr[1].Value     = V_ValidaPrNull(dto.mesomorfia);
                pr[2]           = new SqlParameter("@endomorfia", SqlDbType.Decimal);
                pr[2].Value     = V_ValidaPrNull(dto.endomorfia);
                pr[3]           = new SqlParameter("@codDatosAntropo", SqlDbType.VarChar, 4);
                pr[3].Value     = dto.codDatosAntropo;
                pr[4]           = new SqlParameter("@msj", SqlDbType.VarChar, 100);
                pr[4].Direction = ParameterDirection.Output;
                pr[5]           = new SqlParameter("@codSomatotipo", SqlDbType.VarChar, 4);
                pr[5].Direction = ParameterDirection.Output;
                SqlHelper.ExecuteNonQuery(objCn, CommandType.StoredProcedure, "Usp_Somatotipo_Insert", pr);
                dto.codSomatotipo = Convert.ToString(pr[5].Value);
                if (Convert.ToString(pr[4].Value) != "")
                {
                    cr.LugarError = ToString("Usp_Somatotipo_Insert");
                    cr.ErrorMsj   = Convert.ToString(pr[4].Value);
                }
                else
                {
                }
            }
            catch (Exception ex)
            {
                cr.LugarError = ex.StackTrace;
                cr.ErrorEx    = ex.Message;
                cr.ErrorMsj   = "Error al registrar datos antropometricos - somatotipo";
            }

            objCn.Close();
            return(cr);
        }
        private bool AgregarNuevoDatoAntropometrico()
        {
            bool valido = false;

            try
            {
                ClassResultV          cr    = new ClassResultV();
                DtoDatoAntropometrico dtoDA = new DtoDatoAntropometrico();
                DtoJugador            dtoJ  = new DtoJugador();
                DtoSomatotipo         dtoST = new DtoSomatotipo();
                DtoSomatocarta        dtoSC = new DtoSomatocarta();

                //Datos Antropometrico
                dtoDA.brazoPerimetro   = Convert.ToDecimal(txtBrazoPerimetro.Text);
                dtoDA.pechoPerimetro   = Convert.ToDecimal(txtPechoPerimetro.Text);
                dtoDA.abdomenPerimetro = Convert.ToDecimal(txtAbdomenPerimetro.Text);
                dtoDA.caderaPerimetro  = Convert.ToDecimal(txtCaderaPerimetro.Text);
                dtoDA.musloPerimetro   = Convert.ToDecimal(txtMusloPerimetro.Text);
                dtoDA.gemeloPerimetro  = Convert.ToDecimal(txtGemeloPerimetro.Text);
                dtoDA.humeroLongitud   = Convert.ToDecimal(txtHumeroLongitud.Text);
                dtoDA.femurLongitud    = Convert.ToDecimal(txtFemurLongitud.Text);
                dtoDA.munecaLongitud   = Convert.ToDecimal(txtMunecaLongitud.Text);
                dtoDA.triceps          = Convert.ToDecimal(txtTrícepsPliegues.Text);
                dtoDA.musloPliegues    = Convert.ToDecimal(txtMusloPliegues.Text);
                dtoDA.supraespinal     = Convert.ToDecimal(txtSupraespinalPliegues.Text);
                dtoDA.pectoral         = Convert.ToDecimal(txtPectoralPliegues.Text);
                dtoDA.abdominal        = Convert.ToDecimal(txtAbdominalPliegues.Text);
                dtoDA.gemeloPliegues   = Convert.ToDecimal(txtGemeloPliegues.Text);
                dtoDA.tallaJug         = Convert.ToDecimal(txtTallaControl.Text);
                if (dtoDA.tallaJug > Convert.ToDecimal(txtTallaInicial.Text) && Convert.ToDouble(dtoDA.tallaJug) > 1.55 && Convert.ToDouble(dtoDA.tallaJug) < 2.00)
                {
                    dtoDA.pesoJug = Convert.ToDecimal(txtPesoControl.Text);
                    if (dtoDA.pesoJug > 50 && dtoDA.pesoJug < 90)
                    {
                        dtoDA.codJugador   = Request.QueryString["codJugador"];
                        dtoDA.fechaControl = Convert.ToDateTime(txtFechaControl.Text.Trim());
                        cr = new CtrDatoAntropometrico().Usp_DatosAntropometrico_Insert(dtoDA);

                        //CALCULO SOMATOTIPO
                        //Endomorfia
                        //SUBESCAPULAR
                        Decimal supraespinal = Convert.ToDecimal(txtSupraespinalPliegues.Text);
                        //SUPRAILIACO
                        Decimal suprailiaco = Convert.ToDecimal(txtMusloPliegues.Text);
                        //TRICEPS
                        Decimal PlTriceps = Convert.ToDecimal(txtTrícepsPliegues.Text);
                        //Estatura
                        Decimal estatura = Convert.ToDecimal(txtTallaControl.Text);
                        Double  e1       = -0.7182;
                        Double  e2       = 0.1451;
                        Double  e3       = 0.00068;
                        Double  e4       = 0.0000014;
                        Double  e5       = 170.18;
                        //Calculando X
                        Double X = Convert.ToDouble(PlTriceps + supraespinal + suprailiaco) * (e5 / Convert.ToDouble(estatura));
                        //Calculo endomorfia
                        Double endomorfia = Math.Round(e1 + (e2 * X) - (e3 * Convert.ToDouble(Math.Pow(Convert.ToDouble(X), 2))) + (e4 * Convert.ToDouble(Math.Pow(Convert.ToDouble(X), 3))), 2);
                        //Mostrando endomorfia
                        txtEndomorfia.Text = Convert.ToString(endomorfia);
                        dtoST.endomorfia   = Convert.ToDecimal(txtEndomorfia.Text);

                        //Mesomorfia
                        //DH diametro del humero en cm
                        Decimal dhumero = Convert.ToDecimal(txtHumeroLongitud.Text);
                        //DF diametro del femur en cm
                        Decimal dfemur = Convert.ToDecimal(txtFemurLongitud.Text);
                        //PBC perimetro del brazo relajado corregido en cm
                        Decimal pbrazo = Convert.ToDecimal(txtBrazoPerimetro.Text);
                        //PGC perimetro de gemelar o de la pantorrilla corregido en cm
                        Decimal pgemelo = Convert.ToDecimal(txtGemeloPerimetro.Text);
                        Double  m1      = 0.858;
                        Double  m2      = 0.601;
                        Double  m3      = 0.188;
                        Double  m4      = 0.161;
                        Double  m5      = 0.131;
                        Double  m6      = 4.5;
                        //Calculando mesomorfia
                        Double mesomorfia = Math.Round(Convert.ToDouble(m1 * Convert.ToDouble(dhumero) + (m2 * Convert.ToDouble(dfemur)) + (m3 * Convert.ToDouble(pbrazo)) + (m4 * Convert.ToDouble(pgemelo))) - (Convert.ToDouble(estatura) * m5) + m6, 2);
                        //Mostrando mesomorfia
                        txtMesomorfia.Text = Convert.ToString(mesomorfia);
                        dtoST.mesomorfia   = Convert.ToDecimal(txtMesomorfia.Text);

                        //Ectomorfia
                        //Peso en kg
                        Decimal peso = Convert.ToDecimal(txtPesoControl.Text);
                        //Indice Ponderal (IP) = estatura/raiz cubica de peso
                        Double raizpeso = Math.Pow(Convert.ToDouble(peso), (Double)1 / 3);
                        //Calculando IP
                        Double indicePonderal = Convert.ToDouble(estatura) / raizpeso;
                        //Calculando ectomorfia
                        Double ectomorfia = 0.0;
                        if (indicePonderal > 40.75)
                        {
                            ectomorfia = Math.Round((indicePonderal * 0.732) - 28.58, 2);
                        }
                        else if (indicePonderal > 38.28 && indicePonderal < 40.75)
                        {
                            ectomorfia = Math.Round((indicePonderal * 0.463) - 17.63, 2);
                        }
                        else if (indicePonderal <= 38.28)
                        {
                            ectomorfia = 0.1;
                        }
                        //Mostrando ectomorfia
                        txtEctomorfia.Text    = Convert.ToString(ectomorfia);
                        dtoST.ectomorfia      = Convert.ToDecimal(txtEctomorfia.Text);
                        dtoST.codDatosAntropo = dtoDA.codDatosAntropo;
                        cr = new CtrSomatotipo().Usp_Somatotipo_Insert(dtoST);

                        //CALCULANDO SOMATOCARTA
                        //Eje X = Ectomorfia - endomorfia
                        Double ejeX = Math.Round(ectomorfia - endomorfia, 2);
                        //Asignando a textbox ejeX
                        txtEjeX.Text = Convert.ToString(ejeX);
                        dtoSC.ejeX   = Convert.ToDecimal(txtEjeX.Text);

                        //Eje Y = (2*Mesomorfia) - (Ectomorfia+Endomorfia)
                        Double ejeY = Math.Round((2 * mesomorfia) - (ectomorfia + endomorfia), 2);
                        //Asignando a textbox ejeY
                        txtEjeY.Text        = Convert.ToString(ejeY);
                        dtoSC.ejeY          = Convert.ToDecimal(txtEjeY.Text);
                        dtoSC.codSomatotipo = dtoST.codSomatotipo;

                        cr = new CtrSomatocarta().Usp_Somatocarta_Insert(dtoSC);

                        if (!cr.HuboError)
                        {
                            //Response.Write("<script>alert('" + cr.ErrorMsj + "')</script>");
                            Response.Write("<script>alert('Datos Guardados y calculados correctamente')</script>");
                        }
                        else
                        {
                            Response.Write("<script>alert('" + cr.ErrorMsj + "')</script>");
                        }
                    }
                    else
                    {
                        Response.Write("<script>alert('Peso del jugador debe estar entre los 55 y 90 kg.')</script>");
                    }
                }
                else
                {
                    Response.Write("<script>alert('La talla del jugador no puede ser menor a la talla Inicial')</script>");
                }
            }
            catch (Exception ex)
            {
            }
            return(valido);
        }
예제 #3
0
 public ClassResultV Usp_Somatotipo_Insert(DtoSomatotipo dtoBase)
 {
     return(new DaoSomatotipo().Usp_Somatotipo_Insert(dtoBase));
 }