예제 #1
0
        public void InitializePresentaciones(int index)
        {
            CatFormas           categoria        = Torneo.CategoriasFormas.ToArray()[index];
            List <Presentacion> temppresentacion = categoria.PresentacionesCalificadas();
            List <String>       done             = new List <String>();

            foreach (Presentacion p in temppresentacion)
            {
                done.Add(p.Competidor.Name);
            }

            compformas.InitializeCalificadas(done);

            temppresentacion = categoria.PresentacionesRestantes();

            done.Clear();

            foreach (Presentacion p in temppresentacion)
            {
                done.Add(p.Competidor.Name);
            }

            compformas.InitializeRestantes(done);

            // (done.Count == 0) categoria.UpdatePuntos(true);

            Torneo.SetPuntosEscuelas();
        }
예제 #2
0
        /*
         * public List<CatFormas> GetCategoriasHabilitadas(CatFormas[] CategoriasPorVer)
         * {
         *  List<CatFormas> CategoriasHabilitadas = new List<CatFormas>();
         *  for (int i = 0; i<CategoriasPorVer.Length; i++)
         *  {
         *      if (CategoriasPorVer[i].Participantes.Count >= 3)
         *          CategoriasHabilitadas.Add(CategoriasPorVer[i]);
         *  }
         *  return CategoriasHabilitadas;
         * }
         */

        public List <CatFormas> AnadirParticipantes(List <Competidor> Participantes, List <CatFormas> Categorias)
        {
            var CategoriasArray = Categorias.ToArray();

            foreach (Competidor p in Participantes)
            {
                int    index   = 0;
                double MinDesv = 1000000;
                for (int i = 0; i < CategoriasArray.Length; i++)
                {
                    double TempDesv       = CategoriasArray[i].CalcularDesviacion(p);
                    bool   MismoRangoEdad = CategoriasArray[i].IsMayorEdadCategory() == (p.Edad >= 18);
                    if (TempDesv <= MinDesv && MismoRangoEdad)
                    {
                        MinDesv = TempDesv;
                        index   = i;
                    }
                }

                CatFormas InsertHere = CategoriasArray[index];
                InsertHere.AddCompetidor(p);
                //Categorias.Insert(index, InsertHere);
            }

            return(Categorias);
        }
예제 #3
0
        /**
         * Separa en el diccionario los competidores en cada una de las formas existentes para
         * proceder a los demas filtros
         */
        public void SepararFormas()
        {
            var Formas = CategoriasFormas.Keys;

            foreach (Forma forma in Formas)
            {
                CatFormas NuevaCategoria = new CatFormas();
                NuevaCategoria.Participantes = SepararForma(forma);
                CategoriasFormas[forma].Add(NuevaCategoria);
            }
        }
예제 #4
0
        public string[] GuardarPresentacion(CatFormas categoria, Competidor competidor, double [] jueces)
        {
            Presentacion presentacion = categoria.BuscarPresentacion(competidor);

            presentacion.Jueces = jueces;
            double puntaje = GetPromedio(jueces);

            presentacion.Calificacion = puntaje;

            return(categoria.UpdatePodium());
        }
예제 #5
0
        public double SendCalificacionFormas(double[] jueces)
        {
            double Calificacion = Torneo.GetPromedio(jueces);

            Competidor competidor = Torneo.BuscarCompetidor(compformas.NameCompetidor);
            CatFormas  categoria  = Torneo.CategoriasFormas.ToArray()[compformas.IndexCategoria];

            string [] podium = Torneo.GuardarPresentacion(categoria, competidor, jueces);

            compformas.InitializePodium(podium);
            return(Calificacion);
        }
예제 #6
0
        public void ShowPresentacion(String nombreCompetidor)
        {
            Competidor   competidor   = Torneo.BuscarCompetidor(nombreCompetidor);
            CatFormas    categoria    = Torneo.CategoriasFormas.ToArray()[compformas.IndexCategoria];
            Presentacion presentacion = categoria.BuscarPresentacion(competidor);

            compformas.InitializePresentacion(presentacion.Jueces, presentacion.Calificacion);
            if (presentacion.IsDone())
            {
                compformas.SetTextResult(presentacion.Calificacion);
            }
        }
예제 #7
0
        public List <CatFormas> SegmentarEdades(CatFormas Categoria)
        {
            List <CatFormas> CategoriasSegmentadas = new List <CatFormas>();

            var Participantes = Categoria.Participantes.ToArray();

            List <Competidor>[] Grupos = new List <Competidor> [4];
            for (int i = 0; i < Grupos.Length; i++)
            {
                Grupos[i] = new List <Competidor>();
            }


            foreach (Competidor comp in Participantes)
            {
                //Verificar a qué  grupo pertenece
                int Edad = comp.Edad;

                if (Edad >= 6 && Edad <= 8)
                {
                    Grupos[0].Add(comp);
                }
                else if (Edad > 8 && Edad <= 11)
                {
                    Grupos[1].Add(comp);
                }
                else if (Edad > 11 && Edad <= 14)
                {
                    Grupos[2].Add(comp);
                }
                else
                {
                    Grupos[3].Add(comp);
                }
            }

            for (int i = 0; i < Grupos.Length; i++)
            {
                if (Grupos[i].Count != 0)
                {
                    CatFormas NuevaCategoria = new CatFormas();
                    NuevaCategoria.Participantes = Grupos[i];
                    CategoriasSegmentadas.Add(NuevaCategoria);
                }
            }

            return(CategoriasSegmentadas);
        }
예제 #8
0
        public List <CatFormas> SegmentarNivel(CatFormas Categoria)
        {
            List <CatFormas> CategoriasSegmentadas = new List <CatFormas>();

            List <Competidor> Participantes = Categoria.Participantes;

            for (int i = 0; i < Competidor.CINTANEGRA; i++)
            {
                if (Participantes.Exists(comp => comp.TiempoEntrenando == i + 1))
                {
                    var       Temp    = Participantes.FindAll(participante => participante.TiempoEntrenando == i + 1);
                    CatFormas TempCat = new CatFormas();
                    TempCat.Participantes = Temp;
                    CategoriasSegmentadas.Add(TempCat);
                }
            }

            return(CategoriasSegmentadas);
        }
예제 #9
0
        public List <CatFormas> SepararEdades(CatFormas Categoria)
        {
            List <Competidor> Participantes = Categoria.Participantes;

            var       MenoresEdad = Participantes.FindAll(comp => comp.Edad < 18);
            CatFormas CatMenores  = new CatFormas();

            CatMenores.Participantes = MenoresEdad;

            var       MayoresEdad = Participantes.FindAll(comp => comp.Edad >= 18);
            CatFormas CatMayores  = new CatFormas();

            CatMayores.Participantes = MayoresEdad;

            List <CatFormas> CategoriasEdades = new List <CatFormas>();

            CategoriasEdades.Add(CatMenores);
            CategoriasEdades.Add(CatMayores);

            return(CategoriasEdades);
        }