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; }
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); } }
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); }
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.")); }
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); }
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); }
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"; }