Beispiel #1
0
        /// <summary>
        /// Erstellt das Match und gibt es an das Punktesystem weiter.
        /// </summary>
        /// <param name="HeimTeilnehmer"></param>
        /// <param name="GastTeilnehmer"></param>
        /// <param name="Heimtore"></param>
        /// <param name="Gasttore"></param>
        /// <param name="IsVerlaengerung"></param>
        public void OnMatchSave(Teilnehmer HeimTeilnehmer, Teilnehmer GastTeilnehmer, int Heimtore, int Gasttore, bool IsVerlaengerung)
        {
            Match Match = new Match(HeimTeilnehmer, Heimtore, GastTeilnehmer, Gasttore, IsVerlaengerung);

            Punktesystem.MatchPunkteVerteilen(Match);
            InvokePropertyChanged("MatchSaved");
        }
Beispiel #2
0
 public Match(Teilnehmer teilnehmer1, int punkte1, Teilnehmer teilnehmer2, int punkte2, bool isVerlaengerung)
 {
     this.Teilnehmer1     = teilnehmer1;
     this.Teilnehmer2     = teilnehmer2;
     this.Punkte1         = punkte1;
     this.Punkte2         = punkte2;
     this.IsVerlaengerung = isVerlaengerung;
 }
 /// <summary>
 /// Ermittelt den Sieger und Verlierer für die Masterfunktion
 /// </summary>
 /// <param name="Value">Match, welches ausgewertet wird.</param>
 private void SetSiegerVerlierer(Match Value)
 {
     if (Value.Punkte1 == Value.Punkte2)
     {
         return;
     }
     else
     if (Value.Punkte1 > Value.Punkte2)
     {
         Sieger    = Value.Teilnehmer1;
         Verlierer = Value.Teilnehmer2;
     }
     else
     {
         Sieger    = Value.Teilnehmer2;
         Verlierer = Value.Teilnehmer1;
     }
 }
        /// <summary>
        /// Masterfunktion, welche die Punkte an die Teams des Matches verteilt.
        /// </summary>
        /// <param name="Value">Match, welches auszuwerten ist.</param>
        public void MatchPunkteVerteilen(Match Value)
        {
            Sieger    = null;
            Verlierer = null;

            SetSiegerVerlierer(Value);
            SetTordifferenz(Value);

            if (Value.IsVerlaengerung)
            {
                Sieger.Punkte    += PUNKTE_SIEG_NACHSPIEL;
                Verlierer.Punkte += PUNKTE_VERLOREN_NACHSPIEL;
            }
            else
            if (Sieger == null || Verlierer == null)
            {
                return;
            }
            else
            {
                Sieger.Punkte    += PUNKTE_SIEG;
                Verlierer.Punkte += PUNKTE_VERLOREN;
            }
        }
Beispiel #5
0
        /// <summary>
        /// Sortiert die Liste im Teilnehmerproperty nach Punkten absteigend, für die Zuschauerübersicht.
        /// </summary>
        /// <returns>Sortierte Liste</returns>
        public List <Teilnehmer> GetTeilnehmerSortiert()
        {
            List <Teilnehmer> SortedList = Teilnehmer.OrderByDescending(o => o.Punkte).ThenByDescending(o => o.ToreErzielt - o.ToreErhalten).ThenByDescending(o => o.ToreErzielt).ToList();

            return(SortedList);
        }