Exemple #1
0
        public Dive(int ID, Diver person, Contest comp, DiveType diveType)
        {
            this.Id = ID;
            this._diver = person;
            this._contest = comp;
            _diveType = diveType;

            Scores = new List<Score>();
        }
Exemple #2
0
 public Dive()
 {
     this.Id = -1;
     this._diver = null;
     this.Difficulty = 0.0;
     this._contest = null;
     Scores = new List<Score>();
     _diveType = new DiveType(1, DiveType.DivePosition.A, DiveType.DiveHeight._1M);
 }
Exemple #3
0
 public Dive(int ID, Diver person, double difficulty, Contest comp)
 {
     this.Id = ID;
     this._diver = person;
     this.Difficulty = difficulty;
     this._contest = comp;
     Scores = new List<Score>();
     _diveType = new DiveType(1, DiveType.DivePosition.A, DiveType.DiveHeight._1M);
 }
Exemple #4
0
        public static List <Contest> getEvents()
        {
            Contest        e;
            List <Contest> events = new List <Contest>();

            MySqlConnection conn = ConnectToDatabase();

            if (conn != null)
            {
                var cmd = new MySqlCommand("SELECT * FROM event ORDER BY started DESC, date", conn);
                var dr  = cmd.ExecuteReader();
                var dt  = new DataTable();
                dt.Load(dr);

                foreach (DataRow row in dt.Rows)
                {
                    e = new Contest(Int32.Parse(row["id"].ToString()), row["name"].ToString(), row["date"].ToString(), row["location"].ToString(), Int32.Parse(row["discipline"].ToString()), Int32.Parse(row["sync"].ToString()), Int32.Parse(row["diveCount"].ToString()), Int32.Parse(row["sex"].ToString()), Int32.Parse(row["started"].ToString()));
                    events.Add(e);
                }
            }
            conn.Close();
            return(events);
        }
Exemple #5
0
        public ContestPresenter(ContestView view, ProjectMainWindow window, Contest contest)
        {
            this.View               = view;
            this.window             = window;
            CurrentContest          = contest;
            View.EventAddJump      += AddDive;
            View.EventPauseContest += PauseContest;
            View.EventCloseContest += CloseContest;

            View.EventSubContestSelection += UpdateContestantListView;
            View.EventContestantSelection += UpdateDivesListView;
            View.EventDiveSelection       += EnableModifyDive;
            View.EventModifyDive          += ModifyDive;
            View.EventRemoveDive          += RemoveDive;
            View.EventCancelDiveEdit      += CancelModifyDive;
            View.EventRequestPoints       += RequestPointsFromJudges;
            View.EventCollectPoints       += CollectPoints;
            View.EventManualJudging       += OpenManualJudging;

            window.FormClosing += ParentForm_FormClosing;

            Initialize();
        }
Exemple #6
0
        public void GoToCreateSubContest()
        {
            // Kolla så att data är korrekt formatterat
            bool stringAreValid = false;

            if (CheckDataInput.StringCheckFormat(View.TextBoxName.Text))
            {
                if (CheckDataInput.StringCheckFormat(View.TextBoxCity.Text))
                {
                    if (CheckDataInput.StringCheckFormat(View.TextBoxArena.Text))
                    {
                        stringAreValid = true;
                    }
                    else
                    {
                        MessageBox.Show("Simhallsnamn är ej giltigt.");
                    }
                }
                else
                {
                    MessageBox.Show("Stadsnamn är ej giltigt.");
                }
            }
            else
            {
                MessageBox.Show("Tävlingsnamn är ej giltigt.");
            }

            bool areDatesSet = false;

            // The dates have DateTime.MinValue if they have not been set manually
            if (StartDate != DateTime.MinValue)
            {
                if (EndDate != DateTime.MinValue)
                {
                    areDatesSet = true;
                }
                else
                {
                    MessageBox.Show("Välj slutdatum.");
                }
            }
            else
            {
                MessageBox.Show("Välj startdatum.");
            }


            // check if any judges or contestans have been added to the contest
            bool areListsFilled = false;

            if (ContestJudgeList.Count > 2)
            {
                if (ContestContestantList.Count > 1)
                {
                    areListsFilled = true;
                }
                else
                {
                    MessageBox.Show("Måste minst vara 2 deltagare på en tävling.");
                }
            }
            else
            {
                MessageBox.Show("Måste minst vara 3 domare på en tävling.");
            }


            // if everything is okay, create the contest and move to subcontestview
            if (stringAreValid && areDatesSet && areListsFilled)
            {
                ContestInfo contestInfo = new ContestInfo(View.TextBoxName.Text, View.TextBoxCity.Text, StartDate, EndDate, View.TextBoxArena.Text);

                // Listorna byggs upp med hjälp av listboxarna.

                Contest contest = new Contest(contestInfo, ContestJudgeList, ContestContestantList);

                CreateSubContestView createSubContestView = new CreateSubContestView();

                CreateSubContestPresenter createSubContestPresenter = new CreateSubContestPresenter(createSubContestView, window, contest);

                window.ChangePanel(createSubContestView, View);
            }
        }
Exemple #7
0
        /// <summary>
        /// Skapar en Contest med hoppare, hopp och domare
        /// </summary>
        /// <param name="textBox1"></param>
        /// <param name="textBox2"></param>
        /// <param name="dateTimePicker1"></param>
        /// <param name="numericUpDown1"></param>
        /// <param name="radioButton1meter"></param>
        /// <param name="radioButton3meter"></param>
        /// <param name="radioButton5meter"></param>
        /// <param name="radioButton7meter"></param>
        /// <param name="radioButton10meter"></param>
        /// <param name="radioButtonSingle"></param>
        /// <param name="radioButtonSync"></param>
        /// <param name="radioButtonMale"></param>
        /// <param name="radioButtonFemale"></param>
        /// <param name="listViewDivers"></param>
        /// <param name="listViewJudge"></param>
        /// <param name="successfully"></param>
        /// <param name="errorlabel"></param>
        /// <param name="dataGridViewList"></param>
        public static void AddNewEventToDatabase(TextBox textBox1, TextBox textBox2, DateTimePicker dateTimePicker1, NumericUpDown numericUpDown1, RadioButton radioButton1meter, RadioButton radioButton3meter, RadioButton radioButton5meter, RadioButton radioButton7meter, RadioButton radioButton10meter, RadioButton radioButtonSingle, RadioButton radioButtonSync, RadioButton radioButtonMale, RadioButton radioButtonFemale, ListView listViewDivers, ListView listViewJudge, Label successfully, Label errorlabel, List <DataGridView> dataGridViewList)
        {
            string eventName;
            string location;
            string date;
            int    diveCount;
            int    discipline = -1;
            int    sync       = -1;
            int    sex        = -1;

            eventName = textBox1.Text;
            location  = textBox2.Text;
            date      = dateTimePicker1.Value.ToString("yyyy-MM-dd");
            diveCount = (int)numericUpDown1.Value;

            //discipline
            if (radioButton1meter.Checked)
            {
                discipline = 0;
            }
            else if (radioButton3meter.Checked)
            {
                discipline = 1;
            }
            else if (radioButton5meter.Checked)
            {
                discipline = 2;
            }
            else if (radioButton7meter.Checked)
            {
                discipline = 3;
            }
            else if (radioButton10meter.Checked)
            {
                discipline = 4;
            }

            //sync: single = 0, sync = 1
            if (radioButtonSingle.Checked)
            {
                sync = 0;
            }
            else if (radioButtonSync.Checked)
            {
                sync = 1;
            }

            //sex: male = 0, female = 1
            if (radioButtonMale.Checked)
            {
                sex = 0;
            }
            else if (radioButtonFemale.Checked)
            {
                sex = 1;
            }

            //lägger till eventet i databasen
            Contest ev = new Contest(eventName, date, location, discipline, sync, diveCount, sex);

            //hämtar dommare och hoppare från tabellerna
            List <Judge> addJudgesToEvent = new List <Judge>();
            List <Diver> addDiversToEvent = new List <Diver>();
            Diver        d;
            Judge        j;
            string       gender;
            int          g;

            foreach (ListViewItem item in listViewDivers.CheckedItems)
            {
                gender = item.SubItems[3].Text;
                if (gender.CompareTo("M") == 0)
                {
                    g = 0;
                }
                else
                {
                    g = 1;
                }
                d = new Diver(Int32.Parse(item.SubItems[4].Text), item.SubItems[0].Text, Int32.Parse(item.SubItems[2].Text), g, item.SubItems[1].Text);
                addDiversToEvent.Add(d);
            }
            ev.AddDivers(addDiversToEvent);

            foreach (ListViewItem item in listViewJudge.CheckedItems)
            {
                j = new Judge(Int32.Parse(item.SubItems[0].Text), item.SubItems[1].Text);
                addJudgesToEvent.Add(j);
            }
            ev.AddJudges(addJudgesToEvent);

            int code = Database.AddEventToDatabase(ev);

            //om inmatningen lyckades
            if (code == 1)
            {
                int eventID = Database.GetLatestAddedEventID();

                DiveType dType = new DiveType();
                int      diverID = -1, dNumber, diveTypeID;
                string   dPosition;

                MySqlConnection conn;
                using (conn = Database.ConnectToDatabase())
                {
                    for (int i = 0; i < dataGridViewList.Count; i++)
                    {
                        //antal rader i en DataGridView
                        for (int rad = 0; rad < dataGridViewList[i].RowCount; rad++)
                        {
                            //diver ID
                            diverID = Int32.Parse(dataGridViewList[i].Tag.ToString());
                            //DiveNo
                            dNumber   = Int32.Parse(dataGridViewList[i].Rows[rad].Cells[1].Value.ToString());
                            dPosition = dataGridViewList[i].Rows[rad].Cells[0].Value.ToString();

                            dType.No = dNumber;

                            SetDiveTypeHeight(dType, radioButton1meter, radioButton3meter, radioButton5meter, radioButton7meter, radioButton10meter);
                            SetDiveTypePosition(dType, dPosition);

                            diveTypeID = Database.AddDiveTypeToDatabase(dType, conn);
                            Database.AddDiveToDiver(dType, eventID, rad + 1, diveTypeID, diverID, conn);
                        }
                    }
                }

                successfully.Visible = true;
            }
            else if (code == -1)
            {
                successfully.Visible = false;
                errorlabel.Text      = "Identical event already exist";
                errorlabel.Visible   = true;;
            }
            else
            {
                successfully.Visible = false;
                errorlabel.Text      = "An error occoured, try again";
                errorlabel.Visible   = true;
            }
        }
Exemple #8
0
        public static void GetScoresToDives(Contest contest)
        {
            MySqlConnection conn = Database.ConnectToDatabase();
            MySqlCommand comm = new MySqlCommand();
            string sql = "";
            comm = conn.CreateCommand();

            if(conn != null)
            {
                foreach (Diver diver in contest.Divers)
                {
                    //hämtar alla Scores som finns på hopparen
                    sql = "SELECT * FROM score WHERE diveId IN (SELECT id FROM dive WHERE diverId=" + diver.Id + " AND eventId=" + contest.Id + ") ORDER BY id";
                    comm.CommandText = sql;
                    MySqlDataReader dr = comm.ExecuteReader();
                    DataTable dt = new DataTable();

                    dt.Load(dr);
                    int count = 0;
                    int diveCount = 1;

                    Score currentScore = new Score();
                    Dive currentDive = new Dive();
                    Judge currentJudge = new Judge();

                    //Alla scores som finns på alla hoppen
                    foreach(DataRow row in dt.Rows)
                    {
                        if (count < diver.Dives.Count)
                        {
                            foreach (Judge judge in contest.Judges)
                            {
                                if (judge.Id.ToString().CompareTo(row["judgeId"].ToString()) == 0)
                                    currentJudge = judge;
                            }
                            try
                            {
                                currentDive = diver.Dives[count];
                            }
                            catch (IndexOutOfRangeException) { }

                            currentScore = new Score(Int32.Parse(row["id"].ToString()), currentDive, currentJudge, Double.Parse(row["point"].ToString()));
                            diver.Dives[count].AddScore(currentScore);

                            if(diveCount == contest.Judges.Count)
                            {
                                count++;
                                diveCount = 1;
                            }
                            else
                            {
                                diveCount++;
                            }

                        }
                    }
                }
            }
        }
 public SubContestBranch(string name, Contest parentContest, ContestantList branchContestants)
 {
     this.Name              = name;
     this.ParentContest     = parentContest;
     this.BranchContestants = branchContestants;
 }
Exemple #10
0
        public static Contest GetContest(int contestId)
        {
            Contest c = new Contest();

            MySqlConnection conn = Database.ConnectToDatabase();
            if(conn != null)
            {
                MySqlCommand comm = conn.CreateCommand();
                string sql = "SELECT * FROM event WHERE id=" + contestId;
                comm.CommandText = sql;
                var dr = comm.ExecuteReader();
                var dt = new DataTable();
                dt.Load(dr);

                //skapar en Contest
                foreach (DataRow row in dt.Rows)
                {
                    c = new Contest(Int32.Parse(row["id"].ToString()), row["name"].ToString(), row["date"].ToString(), row["location"].ToString(), Int32.Parse(row["discipline"].ToString()), Int32.Parse(row["sync"].ToString()), Int32.Parse(row["diveCount"].ToString()), Int32.Parse(row["sex"].ToString()), Int32.Parse(row["started"].ToString()));
                }

                //hämtar alla dommare och hoppare som är med i contesten
                c.AddDivers(Database.GetDiversInEvent(contestId));
                c.AddJudges(Database.GetJudgesInEvent(contestId));

                //lägger till hopp till alla hoppare
                foreach(Diver d in c.Divers)
                {
                    List<DiveType> dType = new List<DiveType>();
                    List<Dive> dives = new List<Dive>();

                    List<Dive> divesId = new List<Dive>();

                    divesId = Database.GetDiversDiveInContest(d.Id, contestId);
                    dType = Database.GetDiversDiveTypeInContest(d.Id, contestId);

                    int count = 0;
                    foreach(DiveType type in dType)
                    {
                        Dive dDive = new Dive();
                        dDive._diveType = type;
                        dDive._diver = d;
                        dDive.Id = divesId[count].Id;
                        count++;

                        dives.Add(dDive);
                    }
                    d.Dives = dives;
                }
                conn.Close();
            }

            return c;
        }
Exemple #11
0
        public static List<Contest> getEvents()
        {
            Contest e;
            List<Contest> events = new List<Contest>();

            MySqlConnection conn = ConnectToDatabase();

            if(conn != null)
            {
                var cmd = new MySqlCommand("SELECT * FROM event ORDER BY started DESC, date", conn);
                var dr = cmd.ExecuteReader();
                var dt = new DataTable();
                dt.Load(dr);

                foreach (DataRow row in dt.Rows)
                {
                    e = new Contest(Int32.Parse(row["id"].ToString()), row["name"].ToString(), row["date"].ToString(), row["location"].ToString(), Int32.Parse(row["discipline"].ToString()), Int32.Parse(row["sync"].ToString()), Int32.Parse(row["diveCount"].ToString()), Int32.Parse(row["sex"].ToString()), Int32.Parse(row["started"].ToString()));
                    events.Add(e);
                }
            }
            conn.Close();
            return events;
        }
Exemple #12
0
        /// <summary>
        /// lägger till tävling i databasen
        /// </summary>
        /// <returns>1 = lyckat, 0 = fel, -1 = identisk tävling finns redan</returns>
        public static int AddEventToDatabase(Contest c)
        {
            //ansluter till databasen
            MySqlConnection conn = Database.ConnectToDatabase();
            if (conn != null)
            {
                //kollar om en tävling redan finns i databasen
                MySqlCommand comm = conn.CreateCommand();
                string sql = "SELECT * FROM event WHERE name=\"" + c.Name + "\" AND date=\"" + c.Date + "\"";
                comm.CommandText = sql;

                var dr = comm.ExecuteReader();
                var dt = new DataTable();
                dt.Load(dr);

                if (dt.Rows.Count > 0)
                {
                    return -1;
                }

                //lägger till tävling i databasen
                comm = conn.CreateCommand();
                comm.CommandText = "INSERT INTO event(name, date, location, discipline, sync, diveCount, sex) VALUES(@name, @date, @location, @discipline, @sync, @diveCount, @sex)";
                comm.Parameters.AddWithValue("@name", c.Name);
                comm.Parameters.AddWithValue("@date", c.Date);
                comm.Parameters.AddWithValue("@location", c.Location);
                comm.Parameters.AddWithValue("@discipline", c.Discipline);
                comm.Parameters.AddWithValue("@sync", c.Sync);
                comm.Parameters.AddWithValue("@diveCount", c.diveCount);
                comm.Parameters.AddWithValue("@sex", c.sex);
                int rowsAffected = comm.ExecuteNonQuery();

                //om inamtningen misslyckades
                if (rowsAffected <= 0)
                    return 0;

                //hämtar ID som eventet fick
                comm.CommandText = "SELECT LAST_INSERT_ID() AS id";
                dr = comm.ExecuteReader();
                dt = new DataTable();
                dt.Load(dr);
                DataRow row = dt.Rows[0];
                string id = row["id"].ToString();

                int eventID = Int32.Parse(id);

                foreach(Diver diver in c.Divers)
                {
                    comm = conn.CreateCommand();
                    comm.CommandText = "INSERT INTO event_diver(eventId, diverId) VALUES(@eventid, @diverid)";
                    comm.Parameters.AddWithValue("@eventid", eventID);
                    comm.Parameters.AddWithValue("@diverid", diver.Id);
                    rowsAffected = comm.ExecuteNonQuery();
                    if (rowsAffected <= 0)
                        return 0;
                }

                foreach (Judge judge in c.Judges)
                {
                    comm = conn.CreateCommand();
                    comm.CommandText = "INSERT INTO event_judge(eventId, judgeId) VALUES(@eventid, @judgeid)";
                    comm.Parameters.AddWithValue("@eventid", eventID);
                    comm.Parameters.AddWithValue("@judgeid", judge.Id);
                    rowsAffected = comm.ExecuteNonQuery();
                    if (rowsAffected <= 0)
                        return 0;
                }
                conn.Close();
                return 1;
            }
            else
            {
                return 0;
            }
        }
        /// <summary>
        /// Skapar en Contest med hoppare, hopp och domare
        /// </summary>
        /// <param name="textBox1"></param>
        /// <param name="textBox2"></param>
        /// <param name="dateTimePicker1"></param>
        /// <param name="numericUpDown1"></param>
        /// <param name="radioButton1meter"></param>
        /// <param name="radioButton3meter"></param>
        /// <param name="radioButton5meter"></param>
        /// <param name="radioButton7meter"></param>
        /// <param name="radioButton10meter"></param>
        /// <param name="radioButtonSingle"></param>
        /// <param name="radioButtonSync"></param>
        /// <param name="radioButtonMale"></param>
        /// <param name="radioButtonFemale"></param>
        /// <param name="listViewDivers"></param>
        /// <param name="listViewJudge"></param>
        /// <param name="successfully"></param>
        /// <param name="errorlabel"></param>
        /// <param name="dataGridViewList"></param>
        public static void AddNewEventToDatabase(TextBox textBox1, TextBox textBox2, DateTimePicker dateTimePicker1, NumericUpDown numericUpDown1, RadioButton radioButton1meter, RadioButton radioButton3meter, RadioButton radioButton5meter, RadioButton radioButton7meter, RadioButton radioButton10meter, RadioButton radioButtonSingle, RadioButton radioButtonSync, RadioButton radioButtonMale, RadioButton radioButtonFemale, ListView listViewDivers, ListView listViewJudge, Label successfully, Label errorlabel, List<DataGridView> dataGridViewList)
        {
            string eventName;
            string location;
            string date;
            int diveCount;
            int discipline = -1;
            int sync = -1;
            int sex = -1;

            eventName = textBox1.Text;
            location = textBox2.Text;
            date = dateTimePicker1.Value.ToString("yyyy-MM-dd");
            diveCount = (int)numericUpDown1.Value;

            //discipline
            if (radioButton1meter.Checked)
                discipline = 0;
            else if (radioButton3meter.Checked)
                discipline = 1;
            else if (radioButton5meter.Checked)
                discipline = 2;
            else if (radioButton7meter.Checked)
                discipline = 3;
            else if (radioButton10meter.Checked)
                discipline = 4;

            //sync: single = 0, sync = 1
            if (radioButtonSingle.Checked)
                sync = 0;
            else if (radioButtonSync.Checked)
                sync = 1;

            //sex: male = 0, female = 1
            if (radioButtonMale.Checked)
                sex = 0;
            else if (radioButtonFemale.Checked)
                sex = 1;

            //lägger till eventet i databasen
            Contest ev = new Contest(eventName, date, location, discipline, sync, diveCount, sex);

            //hämtar dommare och hoppare från tabellerna
            List<Judge> addJudgesToEvent = new List<Judge>();
            List<Diver> addDiversToEvent = new List<Diver>();
            Diver d;
            Judge j;
            string gender;
            int g;

            foreach (ListViewItem item in listViewDivers.CheckedItems)
            {
                gender = item.SubItems[3].Text;
                if (gender.CompareTo("M") == 0)
                    g = 0;
                else
                    g = 1;
                d = new Diver(Int32.Parse(item.SubItems[4].Text), item.SubItems[0].Text, Int32.Parse(item.SubItems[2].Text), g, item.SubItems[1].Text);
                addDiversToEvent.Add(d);
            }
            ev.AddDivers(addDiversToEvent);

            foreach (ListViewItem item in listViewJudge.CheckedItems)
            {
                j = new Judge(Int32.Parse(item.SubItems[0].Text), item.SubItems[1].Text);
                addJudgesToEvent.Add(j);
            }
            ev.AddJudges(addJudgesToEvent);

            int code = Database.AddEventToDatabase(ev);
            //om inmatningen lyckades
            if (code == 1)
            {
                int eventID = Database.GetLatestAddedEventID();

                DiveType dType = new DiveType();
                int diverID = -1, dNumber, diveTypeID;
                string dPosition;

                MySqlConnection conn;
                using (conn = Database.ConnectToDatabase())
                {
                    for (int i = 0; i < dataGridViewList.Count; i++)
                    {
                        //antal rader i en DataGridView
                        for (int rad = 0; rad < dataGridViewList[i].RowCount; rad++)
                        {
                            //diver ID
                            diverID = Int32.Parse(dataGridViewList[i].Tag.ToString());
                            //DiveNo
                            dNumber = Int32.Parse(dataGridViewList[i].Rows[rad].Cells[1].Value.ToString());
                            dPosition = dataGridViewList[i].Rows[rad].Cells[0].Value.ToString();

                            dType.No = dNumber;

                            SetDiveTypeHeight(dType, radioButton1meter, radioButton3meter, radioButton5meter, radioButton7meter, radioButton10meter);
                            SetDiveTypePosition(dType, dPosition);

                            diveTypeID = Database.AddDiveTypeToDatabase(dType, conn);
                            Database.AddDiveToDiver(dType, eventID, rad + 1, diveTypeID, diverID, conn);
                        }
                    }
                }

                successfully.Visible = true;
            }
            else if (code == -1)
            {
                successfully.Visible = false;
                errorlabel.Text = "Identical event already exist";
                errorlabel.Visible = true; ;
            }
            else
            {
                successfully.Visible = false;
                errorlabel.Text = "An error occoured, try again";
                errorlabel.Visible = true;
            }
        }
Exemple #14
0
        public static void GetScoresToDives(Contest contest)
        {
            MySqlConnection conn = Database.ConnectToDatabase();
            MySqlCommand    comm = new MySqlCommand();
            string          sql  = "";

            comm = conn.CreateCommand();

            if (conn != null)
            {
                foreach (Diver diver in contest.Divers)
                {
                    //hämtar alla Scores som finns på hopparen
                    sql = "SELECT * FROM score WHERE diveId IN (SELECT id FROM dive WHERE diverId=" + diver.Id + " AND eventId=" + contest.Id + ") ORDER BY id";
                    comm.CommandText = sql;
                    MySqlDataReader dr = comm.ExecuteReader();
                    DataTable       dt = new DataTable();

                    dt.Load(dr);
                    int count     = 0;
                    int diveCount = 1;

                    Score currentScore = new Score();
                    Dive  currentDive  = new Dive();
                    Judge currentJudge = new Judge();


                    //Alla scores som finns på alla hoppen
                    foreach (DataRow row in dt.Rows)
                    {
                        if (count < diver.Dives.Count)
                        {
                            foreach (Judge judge in contest.Judges)
                            {
                                if (judge.Id.ToString().CompareTo(row["judgeId"].ToString()) == 0)
                                {
                                    currentJudge = judge;
                                }
                            }
                            try
                            {
                                currentDive = diver.Dives[count];
                            }
                            catch (IndexOutOfRangeException) { }

                            currentScore = new Score(Int32.Parse(row["id"].ToString()), currentDive, currentJudge, Double.Parse(row["point"].ToString()));
                            diver.Dives[count].AddScore(currentScore);


                            if (diveCount == contest.Judges.Count)
                            {
                                count++;
                                diveCount = 1;
                            }
                            else
                            {
                                diveCount++;
                            }
                        }
                    }
                }
            }
        }
Exemple #15
0
 public SimhoppStatus(int roundIndex, int diverIndex, Contest contest)
 {
     RoundIndex = roundIndex;
     DiverIndex = diverIndex;
     Contest    = contest;
 }
        public CreateSubContestPresenter(CreateSubContestView view, ProjectMainWindow window, Contest contest)
        {
            this.View   = view;
            this.window = window;

            CurrentContest = contest;

            SubContests = CurrentContest.SubContestBranches;

            this.View.LabelContestName.Text = CurrentContest.Info.Name;

            //Fyller på contestants från contest
            foreach (var contestant in contest.Contestants)
            {
                ListViewItem listViewContestContestantsItem = new ListViewItem(contestant.FirstName);
                listViewContestContestantsItem.SubItems.Add(contestant.LastName);

                View.ListViewContestContestants.Items.Add(listViewContestContestantsItem);
            }

            View.EventAddContestantToSubContest      += AddContestantToSubContest;
            View.EventRemoveContestantFromSubContest += RemoveContestantFromSubContest;
            View.EventAddSubContest   += AddSubContest;
            View.EventFinalizeContest += FinalizeContest;

            View.EventSubContestSelected += SubContestSelected;
            View.EventUpdateSubContest   += UpdateSubContest;
            View.EventCancelEdit         += CancelEditOfSubContest;
            View.EventRemoveSubContest   += RemoveSubContest;
        }
Exemple #17
0
        public void SetUp()
        {
            _judges = new List<Judge>();
            _divers = new List<Diver>();
            _contest = new Contest(0, "Nunit Test Contest", "2015-02-02", "Badhuset", 1, 1, 1, 5);

            _judges.Add(new Judge(0, "Mr. Test"));
            _judges.Add(new Judge(1, "Mrs. Fest"));
            _judges.Add(new Judge(2, "Konstapel Kuk"));
            _judges.Add(new Judge(3, "Domherre"));
            _judges.Add(new Judge(4, "McFlash"));

            _divers.Add(new Diver(0, "Kalle"));
            _divers.Add(new Diver(1, "Greger"));
            _divers.Add(new Diver(2, "Skitunge"));

            _contest.AddDivers(_divers);
            _contest.AddJudges(_judges);

            for (int i = 0; i < 3; i++)
            {
                for (int j = 0; j < 5; j++)
                {
                    Dive dive = new Dive(0, null, j + 1, _contest);
                    _contest.Divers[i].AddDive(dive);

                    for (int k = 0; k < 5; k++)
                    {
                        Score s = new Score(0, null, _judges[k], (k + j)%11);
                        dive.AddScore(s);
                    }
                }
            }
        }
Exemple #18
0
        /// <summary>
        /// lägger till tävling i databasen
        /// </summary>
        /// <returns>1 = lyckat, 0 = fel, -1 = identisk tävling finns redan</returns>
        public static int AddEventToDatabase(Contest c)
        {
            //ansluter till databasen
            MySqlConnection conn = Database.ConnectToDatabase();

            if (conn != null)
            {
                //kollar om en tävling redan finns i databasen
                MySqlCommand comm = conn.CreateCommand();
                string       sql  = "SELECT * FROM event WHERE name=\"" + c.Name + "\" AND date=\"" + c.Date + "\"";
                comm.CommandText = sql;

                var dr = comm.ExecuteReader();
                var dt = new DataTable();
                dt.Load(dr);

                if (dt.Rows.Count > 0)
                {
                    return(-1);
                }

                //lägger till tävling i databasen
                comm             = conn.CreateCommand();
                comm.CommandText = "INSERT INTO event(name, date, location, discipline, sync, diveCount, sex) VALUES(@name, @date, @location, @discipline, @sync, @diveCount, @sex)";
                comm.Parameters.AddWithValue("@name", c.Name);
                comm.Parameters.AddWithValue("@date", c.Date);
                comm.Parameters.AddWithValue("@location", c.Location);
                comm.Parameters.AddWithValue("@discipline", c.Discipline);
                comm.Parameters.AddWithValue("@sync", c.Sync);
                comm.Parameters.AddWithValue("@diveCount", c.diveCount);
                comm.Parameters.AddWithValue("@sex", c.sex);
                int rowsAffected = comm.ExecuteNonQuery();

                //om inamtningen misslyckades
                if (rowsAffected <= 0)
                {
                    return(0);
                }

                //hämtar ID som eventet fick
                comm.CommandText = "SELECT LAST_INSERT_ID() AS id";
                dr = comm.ExecuteReader();
                dt = new DataTable();
                dt.Load(dr);
                DataRow row = dt.Rows[0];
                string  id  = row["id"].ToString();

                int eventID = Int32.Parse(id);

                foreach (Diver diver in c.Divers)
                {
                    comm             = conn.CreateCommand();
                    comm.CommandText = "INSERT INTO event_diver(eventId, diverId) VALUES(@eventid, @diverid)";
                    comm.Parameters.AddWithValue("@eventid", eventID);
                    comm.Parameters.AddWithValue("@diverid", diver.Id);
                    rowsAffected = comm.ExecuteNonQuery();
                    if (rowsAffected <= 0)
                    {
                        return(0);
                    }
                }

                foreach (Judge judge in c.Judges)
                {
                    comm             = conn.CreateCommand();
                    comm.CommandText = "INSERT INTO event_judge(eventId, judgeId) VALUES(@eventid, @judgeid)";
                    comm.Parameters.AddWithValue("@eventid", eventID);
                    comm.Parameters.AddWithValue("@judgeid", judge.Id);
                    rowsAffected = comm.ExecuteNonQuery();
                    if (rowsAffected <= 0)
                    {
                        return(0);
                    }
                }
                conn.Close();
                return(1);
            }
            else
            {
                return(0);
            }
        }