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