static public void createCompetition(int disciplineId, int numberOfRaces, string city, int supervisorId, string name, string schedule, string qualifiers, ref bool successfulOperation, TemplateForm form) { if (!raceNameTaken(name)) //jeśli nazwa nie jest zajęta { if (competitionScheduleCheck(Convert.ToInt32(numberOfRaces), schedule)) { var currentEmployee = LoggedUserUtility.getLoggedEmployee(); var competition = new zawody { id_organizator = currentEmployee.id_pracownik, id_dyscyplina = disciplineId, nazwa = name, id_opiekun_zawodow = supervisorId }; db.zawody.Add(competition); db.SaveChanges(); var dates = new List <DateTime>(); dates = getCompetitionDates(schedule); for (int i = 0; i < dates.Count; ++i) { var race = new wyscig { miasto = city, id_zawody = competition.id_zawody, data = dates[i], id_trasa = 1 }; db.wyscig.Add(race); db.SaveChanges(); if (checkQualifiersPossibility(numberOfRaces, qualifiers) && i == 0) { competition.id_kwalifikacje = race.id_wyscig; db.SaveChanges(); } } competition.data_poczatek = dates[0]; competition.data_koniec = dates[dates.Count - 1]; db.SaveChanges(); } else { MessageBox.Show("Błąd przy wprowadzaniu harmonogramu wyścigu", "Niepowodzenie"); successfulOperation = false; } } else { MessageBox.Show("Podana nazwa wyścigu jest już zajęta", "Niepowodzenie"); successfulOperation = false; } }
static public List <wyscig> getRacesInSingleCompetition(zawody competition) { return((from _wyscig in db.wyscig where _wyscig.id_zawody == competition.id_zawody select _wyscig).ToList()); }