internal static int FuegeFahrerWettkampfHinzu(WettkampfModel wettkampfModel, FahrerModel fahrerModel, IDatabaseConnector db)
        {
            var dieBestenlisten = db.GetBestenlisteProWettkmapf(wettkampfModel);
            var startnummer     = dieBestenlisten.Max(x => x.Fahrer_startnummer) + 1 ?? 1;
            var neuerEintrag    = ModelFactory.CreateBestenlisteModel(wettkampfModel, fahrerModel, startnummer);

            return(db.TrageFahrerInWettkampfEin(neuerEintrag));
        }
        public static Pruefergebnis CheckIfFahrerNimmtTeil(FahrerModel fahrer, WettkampfModel wk, IDatabaseConnector cnn)
        {
            var bl      = cnn.GetBestenlisteProWettkmapf(wk);
            var isValid = bl.Where(x => x.FahrerID == fahrer.FahrerID).Count() == 0;

            return(new Pruefergebnis
            {
                IsValid = isValid,
                Fehlertext = isValid ? "" : $"Der Fahrer {fahrer.Fullname} nimmt bereits am Wettkmapf teil"
            });
        }
        public static List <BestenlisteModel> GetBestenlisteFuerWettkampf(WettkampfModel wettkampf, IDatabaseConnector db)
        {
            var bestenlisten = db.GetBestenlisteProWettkmapf(wettkampf);
            var fahrer       = db.ZeigeAlleFahrer();

            bestenlisten.ForEach(x => {
                x.Fahrer = fahrer.Where(f => f.FahrerID == x.FahrerID).FirstOrDefault();
            });

            return(bestenlisten);
        }
Example #4
0
        public static int UpdateBestzeiten(WettkampfModel wettkampfModel, FahrerModel fahrer, TimeSpan zeit, IDatabaseConnector db)
        {
            var updatedBestzeit = db.GetBestenlisteProWettkmapf(wettkampfModel).Where(x => x.FahrerID == fahrer.FahrerID).FirstOrDefault();

            //TODO: Vorher auch eigentlich prüfen !
            //Temporär daher
            //if (updatedBestzeit == 0) return updatedBestzeit;

            updatedBestzeit.Zeit = zeit;
            return(db.InsertErreichteZeit(updatedBestzeit).Result);
        }