private static void AscenderNivel(PuntajeArbitro puntaje, string motivo)
 {
     puntaje.Situacion        = Situacion.Asciende;
     puntaje.NombreNivelNuevo = "Nivel " + (puntaje.IdNivel - 1);
     puntaje.IdNivelNuevo     = puntaje.IdNivel - 1;
     puntaje.Motivo           = motivo;
 }
Example #2
0
        public ResultadoBd ActualizarBaja(PuntajeArbitro pPuntaje)
        {
            var pars = new IDbDataParameter[1];

            pars[0] = _accesoBaseDeDatos.CrearParametro("@IdArbitro", pPuntaje.IdArbitro);

            string query = @" Update PartidoArbitro
                              Set Procesado = 1
                              Where IdArbitro = @IdArbitro;

                              Update Arbitro
                              Set Estado = 0
                              Where Id = @IdArbitro ; ";

            ResultadoBd resultadoBd = _accesoBaseDeDatos.Ejecutar(query, pars);

            if (resultadoBd == ResultadoBd.OK)
            {
                return(ResultadoBd.OK);
            }
            else
            {
                return(ResultadoBd.ERROR);
            }
        }
Example #3
0
        public void BajaPorMinimoPartidosTest()
        {
            BLL.Calificacion bllCalificacion = new BLL.Calificacion();
            PuntajeArbitro   puntaje         = new PuntajeArbitro();

            puntaje.CantidadPartidos = 2;

            bllCalificacion.CalcularSituacion(puntaje);

            Assert.AreEqual(Situacion.Desciende, puntaje.Situacion);
        }
Example #4
0
        public void BajaPorEdadTest()
        {
            BLL.Calificacion bllCalificacion = new BLL.Calificacion();
            PuntajeArbitro   puntaje         = new PuntajeArbitro();

            puntaje.Edad = 52;

            bllCalificacion.CalcularSituacion(puntaje);

            Assert.AreEqual(Situacion.Baja, puntaje.Situacion);
        }
        public Resultado ActualizarNuevoNivel(PuntajeArbitro pPuntaje)
        {
            ResultadoBd resultado = _dalManagerCalificacion.ActualizarNuevoNivel(pPuntaje);

            if (resultado == ResultadoBd.OK)
            {
                return(new Resultado(false, "Ok"));
            }


            return(new Resultado(true, "No se pudo realizar la operaciĆ³n."));
        }
Example #6
0
        public void DescensoPorPuntajeNivel4Test()
        {
            BLL.Calificacion bllCalificacion = new BLL.Calificacion();
            PuntajeArbitro   puntaje         = new PuntajeArbitro();

            puntaje.IdNivel          = 4;
            puntaje.PuntajePromedio  = 4.25D;
            puntaje.CantidadPartidos = 10;

            bllCalificacion.CalcularSituacion(puntaje);

            Assert.AreEqual(Situacion.Desciende, puntaje.Situacion);
            Assert.AreEqual(5, puntaje.IdNivelNuevo);
        }
Example #7
0
        public void MantieneNivel2Test()
        {
            BLL.Calificacion bllCalificacion = new BLL.Calificacion();
            PuntajeArbitro   puntaje         = new PuntajeArbitro();

            puntaje.IdNivel = 2;
            //puntaje.PuntajePromedio = 1D;
            puntaje.PuntajePromedio  = 8.25D;
            puntaje.CantidadPartidos = 10;

            bllCalificacion.CalcularSituacion(puntaje);

            Assert.AreEqual(Situacion.Mantiene, puntaje.Situacion);
        }
        private static bool CalcularAscesnsoPorPuntaje(PuntajeArbitro puntaje)
        {
            switch (puntaje.IdNivel)
            {
            case 2:
                if (puntaje.PuntajePromedio >= 9 && puntaje.PuntajePromedio <= 10)
                {
                    AscenderNivel(puntaje, "Supera el puntaje promedio para el nivel");

                    return(true);
                }

                break;

            case 3:
                if (puntaje.PuntajePromedio > 8 && puntaje.PuntajePromedio <= 10)
                {
                    AscenderNivel(puntaje, "Supera el puntaje promedio para el nivel");

                    return(true);
                }

                break;


            case 4:
                if (puntaje.PuntajePromedio > 7 && puntaje.PuntajePromedio <= 10)
                {
                    AscenderNivel(puntaje, "Supera el puntaje promedio para el nivel");

                    return(true);
                }

                break;

            case 5:
                if (puntaje.PuntajePromedio > 6 && puntaje.PuntajePromedio <= 10)
                {
                    AscenderNivel(puntaje, "Supera el puntaje promedio para el nivel");

                    return(true);
                }

                break;
            }

            return(false);
        }
        private static bool CalcularDescensoPorPuntaje(PuntajeArbitro puntaje)
        {
            switch (puntaje.IdNivel)
            {
            case 1:
                if (puntaje.PuntajePromedio > 0 && puntaje.PuntajePromedio <= 7.99D)
                {
                    DescenderNivel(puntaje, "Bajo puntaje promedio para el nivel");

                    return(true);
                }

                break;

            case 2:
                if (puntaje.PuntajePromedio > 0 && puntaje.PuntajePromedio <= 6.99D)
                {
                    DescenderNivel(puntaje, "Bajo puntaje promedio para el nivel");

                    return(true);
                }

                break;


            case 3:
                if (puntaje.PuntajePromedio > 0 && puntaje.PuntajePromedio <= 5.99D)
                {
                    DescenderNivel(puntaje, "Bajo puntaje promedio para el nivel");

                    return(true);
                }

                break;

            case 4:
                if (puntaje.PuntajePromedio > 0 && puntaje.PuntajePromedio <= 4.99D)
                {
                    DescenderNivel(puntaje, "Bajo puntaje promedio para el nivel");

                    return(true);
                }

                break;
            }

            return(false);
        }
Example #10
0
        public List <PuntajeArbitro> ObtenerPuntajeDeTemporada()
        {
            List <PuntajeArbitro> ls = new List <PuntajeArbitro>();

            string query = @"     Select pa.IdArbitro, 
		                                ar.Nombre, 
		                                ar.Apellido, 
		                                (cast(datediff(dd,ar.FechaNacimiento,GETDATE()) / 365.25 as int)) as 'Edad', 
		                                niv.Id as 'IdNivel',
		                                niv.NombreNivel, 
		                                COUNT(IdArbitro) as 'CantidadPartidos', 
		                                ((AVG(cal.CondicionFisicaPuntaje) + AVG(cal.ReglasPuntaje) + AVG(cal.DisciplinaPuntaje) + AVG(cal.JugadasPuntaje) )/4)+ AVG(cal.DificultadPartidoPuntaje) as 'PuntajePromedio'
                                      from PartidoArbitro pa,
	                                       Arbitro ar,
	                                       Nivel niv,
	                                       Calificacion cal
                                      where pa.IdArbitro = ar.Id
                                      and   ar.IdNivel = niv.Id
                                      and   pa.IdCalificacion = cal.Id 
                                      and   pa.Procesado = 0
                                      group by IdArbitro, ar.Nombre, ar.Apellido, (cast(datediff(dd,ar.FechaNacimiento,GETDATE()) / 365.25 as int)), niv.Id, niv.NombreNivel ";

            var dt = _accesoBaseDeDatos.Seleccionar(query);

            foreach (DataRow row in dt.Rows)
            {
                var aPuntaje = new PuntajeArbitro()
                {
                    IdArbitro        = Convert.ToInt32(row["IdArbitro"]),
                    Nombre           = row["Nombre"].ToString().Trim(),
                    Apellido         = row["Apellido"].ToString().Trim(),
                    Edad             = Convert.ToInt32(row["Edad"]),
                    IdNivel          = Convert.ToInt32(row["IdNivel"]),
                    CantidadPartidos = Convert.ToInt32(row["CantidadPartidos"]),
                    PuntajePromedio  = Convert.ToDouble(row["PuntajePromedio"]),
                    NombreNivel      = row["NombreNivel"].ToString().Trim(),
                };

                ls.Add(aPuntaje);
            }

            return(ls);
        }
        public void CalcularSituacion(PuntajeArbitro puntaje)
        {
            //Baja por edad
            if (puntaje.Edad >= 50)
            {
                puntaje.Situacion        = Situacion.Baja;
                puntaje.NombreNivelNuevo = "-";
                puntaje.IdNivelNuevo     = -1;
                puntaje.Motivo           = "Baja por edad";

                return;
            }

            //Descenso por no cumplir cantidad de partidos minimo
            int minimoPartidos = Convert.ToInt32(ConfigurationManager.AppSettings["MinimoPartidos"]);

            if (puntaje.CantidadPartidos < minimoPartidos)
            {
                DescenderNivel(puntaje, "No cumple cant. min. partidos");

                return;
            }

            //Descenso por puntaje
            if (CalcularDescensoPorPuntaje(puntaje))
            {
                return;
            }

            //Ascenso por puntaje
            if (CalcularAscesnsoPorPuntaje(puntaje))
            {
                return;
            }

            puntaje.Situacion        = Situacion.Mantiene;
            puntaje.NombreNivelNuevo = "-";
            puntaje.IdNivelNuevo     = -1;
            puntaje.Motivo           = "Se mantiene el nivel";
        }