/// <summary> /// Classificação dos times para SemiFinal /// </summary> private Tuple <string, decimal> TeamClassified(PhaseClassified classified) { Tuple <string, decimal> tupleClassified = null; int timeClassified = decimal.Compare(classified.AverageRatingOne, classified.AverageRatingTwo); switch (timeClassified) { case 1: tupleClassified = new Tuple <string, decimal>(classified.TeamOne, classified.AverageRatingOne); break; case 0: List <string> nameFilmeOrder = new List <string>(2); nameFilmeOrder.Add(classified.TeamOne); nameFilmeOrder.Add(classified.TeamTwo); nameFilmeOrder.Sort(); tupleClassified = new Tuple <string, decimal>(nameFilmeOrder[0], classified.AverageRatingOne); break; case -1: tupleClassified = new Tuple <string, decimal>(classified.TeamTwo, classified.AverageRatingOne); break; } return(tupleClassified); }
/// <summary> /// Montar as quartas de finais fases das qualificações /// </summary> private PhaseClassified StagePhase(PhaseGroup teamFirst, PhaseGroup teamSecond, int positionPhaseType) { PhaseClassified phaseClassified = new PhaseClassified(); phaseClassified.TeamOne = teamFirst.PrimaryTitle; phaseClassified.AverageRatingOne = teamFirst.AverageRating; phaseClassified.TeamTwo = teamSecond.PrimaryTitle; phaseClassified.AverageRatingTwo = teamSecond.AverageRating; phaseClassified.PhaseType = DescriptionPhaseType(EnumPhaseType.QUARTAS_FINAIS); phaseClassified.PositionPhaseType = ++positionPhaseType; return(phaseClassified); }
/// <summary> /// Método para efetuar a semi final /// </summary> private IEnumerable <PhaseClassified> SemiFinal(IList <PhaseClassified> selectedList) { List <PhaseClassified> phaseClassifieds = new List <PhaseClassified>(2); PhaseClassified phaseClassified = new PhaseClassified(); bool teamOne = true; for (int i = 0; i <= 1; i++) { var tupleTeamClassified = TeamClassified(selectedList[i]); if (teamOne) { phaseClassified.TeamOne = tupleTeamClassified.Item1; phaseClassified.AverageRatingOne = tupleTeamClassified.Item2; phaseClassified.PhaseType = DescriptionPhaseType(EnumPhaseType.SEMIFINAL); phaseClassified.PositionPhaseType = 1; teamOne = false; } else { phaseClassified.TeamTwo = tupleTeamClassified.Item1; phaseClassified.AverageRatingTwo = tupleTeamClassified.Item2; } } teamOne = true; phaseClassifieds.Add(phaseClassified); phaseClassified = new PhaseClassified(); for (int i = 2; i <= 3; i++) { var tupleTeamClassified = TeamClassified(selectedList[i]); if (teamOne) { phaseClassified.TeamOne = tupleTeamClassified.Item1; phaseClassified.AverageRatingOne = tupleTeamClassified.Item2; phaseClassified.PhaseType = DescriptionPhaseType(EnumPhaseType.SEMIFINAL); phaseClassified.PositionPhaseType = 2; teamOne = false; } else { phaseClassified.TeamTwo = tupleTeamClassified.Item1; phaseClassified.AverageRatingTwo = tupleTeamClassified.Item2; } } phaseClassifieds.Add(phaseClassified); return(phaseClassifieds); }
/// <summary> /// Final campo e Terciero lugar /// </summary> private IEnumerable <PhaseClassified> Final(IList <PhaseClassified> selectedList) { List <PhaseClassified> phaseClassifieds = new List <PhaseClassified>(2); PhaseClassified phaseClassified = new PhaseClassified(); PhaseClassified phaseClassifiedThirdPlace = new PhaseClassified(); bool teamOne = true; for (int i = 0; i <= 1; i++) { var tupleTeamClassified = TeamClassified(selectedList[i]); if (teamOne) { phaseClassified.TeamOne = tupleTeamClassified.Item1; phaseClassified.AverageRatingOne = tupleTeamClassified.Item2; phaseClassified.PhaseType = DescriptionPhaseType(EnumPhaseType.FINAL); phaseClassified.PositionPhaseType = 1; phaseClassifiedThirdPlace.TeamOne = (tupleTeamClassified.Item1 == selectedList[i].TeamOne) ? selectedList[i].TeamTwo : selectedList[i].TeamOne; phaseClassifiedThirdPlace.AverageRatingOne = (tupleTeamClassified.Item1 == selectedList[i].TeamOne) ? selectedList[i].AverageRatingTwo : selectedList[i].AverageRatingOne; phaseClassifiedThirdPlace.PhaseType = DescriptionPhaseType(EnumPhaseType.TERCEIRO_LUGAR); phaseClassifiedThirdPlace.PositionPhaseType = 1; teamOne = false; } else { phaseClassified.TeamTwo = tupleTeamClassified.Item1; phaseClassified.AverageRatingTwo = tupleTeamClassified.Item2; phaseClassifiedThirdPlace.TeamTwo = (tupleTeamClassified.Item1 == selectedList[i].TeamOne) ? selectedList[i].TeamTwo : selectedList[i].TeamOne; phaseClassifiedThirdPlace.AverageRatingTwo = (tupleTeamClassified.Item1 == selectedList[i].TeamOne) ? selectedList[i].AverageRatingTwo : selectedList[i].AverageRatingOne; } } phaseClassifieds.Add(phaseClassified); phaseClassifieds.Add(phaseClassifiedThirdPlace); return(phaseClassifieds); }