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 ); } }
public Korosztaly_Info( KorosztalyInfo info ) { korosztalyInfo = info; }
/// <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; }