示例#1
0
        static public List <teamResult> getTeamsAchievements(int id, List <zawody> competitions)
        {
            var teamsAchievements = new List <teamResult>();

            if (getTeamsPastCompetitions(id).Count > 0)
            {
                foreach (var competition in competitions)
                {
                    var competitionResults = new List <teamResult>();

                    var races = (from _wyscig in db.wyscig
                                 where _wyscig.id_zawody == competition.id_zawody
                                 select _wyscig);

                    var contestantsIds = (from _zawodnik_zawody in db.zawodnik_zawody
                                          where _zawodnik_zawody.id_zawody == competition.id_zawody
                                          select _zawodnik_zawody.id_zawodnik).ToList();

                    checkTeamsRaceResults(id, races, ref teamsAchievements, contestantsIds);
                    competitionResults = CompetitionDataUtility.getCompetitionTeamStandings(races, ref teamsAchievements, contestantsIds);
                    checkTeamsPlaceInCompetition(id, competitionResults, ref teamsAchievements);
                }
            }
            return(teamsAchievements);
        }
示例#2
0
 private void InviteButton_Click(object sender, EventArgs e)
 {
     if (InviteButton.Text == "Zaproś do drużyny")
     {
         if (!ContestantDataUtility.isContestantAlreadyInTeam(profileId, Convert.ToInt32(comboBox1.SelectedValue))) //jeśli zaproszenie nie było wysyłane już wcześniej
         {
             TeamDataUtility.createTeamInvitation(profileId, Convert.ToInt32(comboBox1.SelectedValue));
             MessageBox.Show("Zaproszono do drużyny", "Zaproszenie wysłane");
         }
         else
         {
             MessageBox.Show("Zaproszenie zostało już wysłane wcześniej", "Informacja");
         }
     }
     else
     {
         if (!TeamDataUtility.isTeamAlreadyInCompetition(profileId, Convert.ToInt32(comboBox1.SelectedValue)))
         {
             CompetitionDataUtility.createCompetitionTeamInvitation(profileId, Convert.ToInt32(comboBox1.SelectedValue));
             MessageBox.Show("Zaproszono do zawodów", "Zaproszenie wysłane");
         }
         else
         {
             MessageBox.Show("Zaproszenie zostało już wysłane wcześniej", "Informacja");
         }
     }
 }
示例#3
0
        public void dropDownTracks()
        {
            var tracks = CompetitionDataUtility.getAvailableTracks(ModifiedRaceId);

            comboBox4.DataSource    = tracks;
            comboBox4.ValueMember   = "id_trasa";
            comboBox4.DisplayMember = "nazwa";
        }
示例#4
0
        static public teamResult getTeamsRaceResult(int teamId, wyscig race, int raceNumber, List <int> contestantsId)
        {
            var raceStandings   = CompetitionDataUtility.getRaceStandings(contestantsId, race, raceNumber);
            var competitionName = db.zawody.Where(z => z.id_zawody == race.id_zawody).SingleOrDefault().nazwa;

            var        aggregatedPoints = sumTeamsPoints(raceStandings);
            var        place            = getTeamsPlaceInRace(aggregatedPoints, teamId);
            teamResult r;

            r.place           = place + 1;
            r.competitionName = competitionName;
            r.points          = 0;
            r.teamId          = teamId;
            r.raceName        = ", wyścig numer " + raceNumber.ToString();
            return(r);
        }
        internal void SetWindow(string kind, int competitionId = 0)
        {
            var type = LoggedUserUtility.getCurrentUserType();

            if (kind == "zawody")
            {
                CompetitionBox.Text   = "Lista zawodów";
                ConfirmButton.Visible = false;
                if (type == LoggedUserUtility.userType.contestant || type == LoggedUserUtility.userType.captain)
                {
                    fillWithAttendedCompetitions(CompetitionView, LoggedUserUtility.getLoggedContestant().id_zawodnik);
                }
                else if (type == LoggedUserUtility.userType.supervisor || type == LoggedUserUtility.userType.organiser)
                {   //wyswietlanie zawodow zarzadzanych przez organizatora/opiekuna
                    List <zawody> competitions       = LoggedUserUtility.getEmployeesCompetitions(LoggedUserUtility.getLoggedEmployee().id_pracownik);
                    var           competitionsAccept = competitions.Select(x => new { Nazwa = x.nazwa, Akcja = "Akceptuj" }).ToList();
                    CompetitionView.DataSource = competitions.Select(x => new { Nazwa = x.nazwa, competitionId = x.id_zawody }).ToList();
                }
            }
            else if (kind == "druzyny")  //done
            {
                CompetitionBox.Text   = "Lista drużyn";
                ConfirmButton.Visible = false;

                fillWithInvitations(CompetitionView, LoggedUserUtility.getLoggedContestant().id_zawodnik);
            }
            else
            {
                CompetitionBox.Text = "Lista wyścigów";

                ConfirmButton.Visible = false;
                if (type == LoggedUserUtility.userType.contestant || type == LoggedUserUtility.userType.captain)  //wyswietlanie wyscigow w ktorych bierze udzial/jest zaproszony zawodnik
                {
                    fillWithRaces(CompetitionView, LoggedUserUtility.getLoggedContestant().id_zawodnik, competitionId);
                    //TODO po kliknieciu zaakceptowane update _zawodnik_wyscig
                }
                else if (type == LoggedUserUtility.userType.supervisor || type == LoggedUserUtility.userType.organiser) // wyscigi ktorymi zarzadzaja organizator/opiekun
                {
                    var races = CompetitionDataUtility.getRacesInCompetition(competitionId);
                    CompetitionView.DataSource = races.AsEnumerable().Select((x, index) => new { Nazwa = "Wyścig nr. " + (index + 1), Akcja = "Dodaj trasę", competitionId = x.id_wyscig }).ToList();  //idwyscig czy dobrze
                    //po kliknieciu przejscie do edycji trasy wyscigu
                }
            }
            CompetitionView.ClearSelection();
            CompetitionView.CurrentCell = null;
        }
        private void fillWithRaces(DataGridView gridView, int contestantId, int compId)
        {
            var races = CompetitionDataUtility.getContestantsCompetitionRaces(contestantId, compId);

            gridView.DataSource = races.AsEnumerable().Select((x, index) => new { Nazwa = "Wyścig nr. " + (index + 1), Akcja = x.Item2, competitionId = x.Item1.id_wyscig }).ToList();
        }
示例#7
0
        private void SaveButton_Click(object sender, EventArgs e)
        {
            string _operation = "";

            successfulOperation = true;
            switch (groupBox1.Text)
            {
            case "Usuń zawody":
            {
                _operation = "usunięto zawody!";
                CompetitionDataUtility.deleteCompetition(textBox5.Text, ref successfulOperation, this);
                break;
            }

            case "Utwórz nowe zawody":
            {
                _operation = " utworzono zawody!";
                CompetitionDataUtility.createCompetition(int.Parse(comboBox1.SelectedValue.ToString()), Convert.ToInt32(numberOfRaces.Value),
                                                         textBox3.Text, int.Parse(comboBox4.SelectedValue.ToString()), textBox5.Text, textBox6.Text, comboBox7.Text, ref successfulOperation, this);
                break;
            }

            case "Edytuj zawody":
            {
                _operation = " edytowano zawody!";
                CompetitionDataUtility.updateCompetition(int.Parse(comboBox1.SelectedValue.ToString()), Convert.ToInt32(numberOfRaces.Value),
                                                         textBox3.Text, int.Parse(comboBox4.SelectedValue.ToString()), textBox5.Text, textBox6.Text, comboBox7.Text, ref successfulOperation, this);
                break;
            }

            case "Załóż konto":
            {
                _operation = " założone konto!";
                LoggedUserUtility.createAccount(textBox5.Text, textBox6.Text, textBox3.Text, ref successfulOperation);
                break;
            }

            case "Załóż drużynę":
            {
                _operation = " założona drużyna!";
                TeamDataUtility.createTeam(textBox3.Text, this);
                break;
            }

            case "Podaj trasę wyścigów":
            {
                _operation = " dodana trasa!";
                CompetitionDataUtility.addRaceTrack(Convert.ToInt32(comboBox4.SelectedValue), ModifiedRaceId, ref successfulOperation);
                break;
            }

            default:
                break;
            }

            if (successfulOperation == true)
            {
                MessageBox.Show("Poprawnie " + _operation, "Sukces");
                Close();
            }
            else
            {
                successfulOperation = true;
            }
        }