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); }
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); }