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;
            }
        }
Exemplo n.º 2
0
 static public List <wyscig> getRacesInSingleCompetition(zawody competition)
 {
     return((from _wyscig in db.wyscig
             where _wyscig.id_zawody == competition.id_zawody
             select _wyscig).ToList());
 }