Пример #1
0
 private void InitializeMessages( KorosztalyInfo korosztalyInfo ) {
     MessagesTextBlock.Text = "";
     foreach( var korosztalyMessage in korosztalyInfo.KorosztalyMessages ) {
         MessagesTextBlock.Inlines.Add( "Az induló a " );
         MessagesTextBlock.Inlines.Add( new Bold( new Run( korosztalyMessage.VersenysorozatAzonosito ) ) );
         MessagesTextBlock.Inlines.Add( " versenysorozat " );
         MessagesTextBlock.Inlines.Add( new Bold( new Run( korosztalyMessage.VersenyAzonosito ) ) );
         MessagesTextBlock.Inlines.Add( " versenyén" + Environment.NewLine );
         MessagesTextBlock.Inlines.Add( " korosztály felülírással a " );
         MessagesTextBlock.Inlines.Add( new Bold( new Run( korosztalyMessage.KorosztalyAzonosito ) ) );
         MessagesTextBlock.Inlines.Add( " korosztályban szerepelt." + Environment.NewLine + Environment.NewLine );
     }
 }
Пример #2
0
 public Korosztaly_Info( KorosztalyInfo info ) {
     korosztalyInfo = info;
 }
Пример #3
0
        /// <summary>
        /// | mindig visszaadja az ajanlott korosztalyt |
        /// ha a versenysorozat, valamelyik versenyen felul volt irva, akkor message-ben visszaadja |
        /// </summary>
        /// <param name="indulo"></param>
        /// <param name="verseny"></param>
        /// <returns></returns>
        public static KorosztalyInfo InduloBeirasKorosztaly( Model.Indulo.Indulo indulo, Model.Verseny.Verseny verseny ) {
            string datum = "";
            var value = new KorosztalyInfo();

            if( string.IsNullOrEmpty( verseny.Versenysorozat ) ) {
                datum = verseny.Datum;
            }
            else {
                datum = ( from verseny1 in Model.Data.Data.Versenyek._versenyek
                          where verseny1.Versenysorozat.Equals( verseny.Versenysorozat )
                          orderby verseny1.Datum ascending
                          select verseny1.Datum ).First( );

                // versenysorozat minden indulohoz tartozo eredmenye
                foreach( var verseny1 in Model.Data.Data.Versenyek._versenyek.Where( verseny1 => verseny1.Versenysorozat.Equals( verseny.Versenysorozat ) ) ) {
                    foreach( var versenyeredmeny in Model.Data.Data.Eredmenyek._versenyEredmenyek.Where( eredmeny => eredmeny.VersenyAzonosito.Equals( verseny1.Azonosito ) ) ) {
                        foreach( var eredmeny in versenyeredmeny.Eredmenyek._eredmenyek.Where( eredmeny => eredmeny.Indulo.Equals( indulo.Nev ) ) ) {
                            // ha volt korosztalymodositas, akkor az üzenetekhez hozzaadjuk
                            if( eredmeny.KorosztalyModositott.Equals( true ) ) {
                                if( value.KorosztalyMessages == null ) {
                                    value.KorosztalyMessages = new List<KorosztalyMessage>( );
                                }
                                value.KorosztalyMessages.Add( new KorosztalyMessage {
                                    KorosztalyAzonosito = eredmeny.KorosztalyAzonosito,
                                    VersenyAzonosito = verseny1.Azonosito,
                                    VersenysorozatAzonosito = verseny.Versenysorozat
                                } );
                            }
                            // ha mar van eredmenye a versenyen, amire beirjuk, akkor az ajanlott korosztalyazonosito megvan
                            if( eredmeny.Verseny.Equals( verseny.Azonosito ) ) {
                                value.KorosztalyAzonosito = eredmeny.KorosztalyAzonosito;
                            }
                        }
                    }
                }
                // ha nem null, akkor olyan versenyre irjuk, be ahol volt már beíva, nem kell továbbmenni
                if( !string.IsNullOrEmpty( value.KorosztalyAzonosito ) ) {
                    return value;
                }
            }

            // itt akkkor vagyunk, ha nincs versenysorozat, vagy nem volt még beírva a versenyre
            var kor = Data.Data.Korosztalyok.BetoltottKor(datum, indulo.SzuletesiDatum);

            // verseny korosztalyaibol kikeressuk, azt amelyikbe tartozik
            foreach( var versenykorosztalyok in Model.Data.Data.Korosztalyok._versenyKorosztalyok.Where( korosztaly => korosztaly.VersenyAzonosito.Equals( verseny.Azonosito ) ) ) {
                foreach( var korosztaly in versenykorosztalyok.Korosztalyok ) {
                    if( indulo.Nem.ToLower( ).Equals( "f" ) && korosztaly.Ferfiakra.Equals( true ) ) {
                        if( korosztaly.AlsoHatar <= kor && kor <= korosztaly.FelsoHatar ) {
                            value.KorosztalyAzonosito = korosztaly.Azonosito;
                            return value;
                        }
                    }
                    else if( indulo.Nem.ToLower( ).Equals( "n" ) && korosztaly.Nokre.Equals( true ) ) {
                        if( korosztaly.AlsoHatar <= kor && kor <= korosztaly.FelsoHatar ) {
                            value.KorosztalyAzonosito = korosztaly.Azonosito;
                            return value;
                        }
                    }
                }
            }
            // TODO ide nam szabadna eljutni
            //throw new Exception( );
            return value;
        }