private void btnSaveChanges_Click(object sender, EventArgs e) { btnSaveChanges.Focus(); bool tagsdel = false; Utilities.runInThread(() => { if (string.IsNullOrEmpty(txtAddQ.Text.Trim()) == true || string.IsNullOrEmpty(txtAddTags.Text.Trim()) == true || (dgvAnswerlist.Rows.Count < 2)) { Utilities.notifyThem(ntfEdit, "You must fill some info about your question first.", NotificationBox.Type.Error); } else { List <Answer> Answers = new List <Answer>(); for (int a = 0; a < dgvAnswerlist.Rows.Count - 1; a++) { bool correct; if (dgvAnswerlist.Rows[a].Cells[1].Value == null) { correct = false; } else { correct = bool.Parse(dgvAnswerlist.Rows[a].Cells[1].Value.ToString()); } Answers.Add(new Answer(dgvAnswerlist.Rows[a].Cells[0].Value.ToString().TrimEnd().TrimStart(), correct)); } DB TempDB = Utilities.AsyncDB(true); TempDB.bind(new string[] { "Question", txtAddQ.Text.TrimEnd().TrimStart(), "Answers", JsonConvert.SerializeObject(Answers).ToString(), "Dlevel", difficultyLvl.Value.ToString(), "Prive", (switchPrivate.isOn ? 1 : 0).ToString(), "UID", Globals.logUser.id.ToString() }); string qid = TempDB.single("UPDATE questions SET question = @Question, answers = @Answers, dlevel = @Dlevel, prive = @Prive, uid = @UID WHERE id=" + _quest.id + ";"); int qAddTag = 0; string[] tags = txtAddTags.Text.TrimEnd(',').Split(','); foreach (string tag in tags) { if (!string.IsNullOrEmpty(tag)) { if (tagsdel == true) { TempDB.bind(new string[] { "TAG", tag.ToLower(), "QID", _quest.id.ToString() }); qAddTag += TempDB.nQuery("INSERT INTO tags (nametag, qid) VALUES (@TAG, @QID)"); } else { TempDB.nQuery("DELETE FROM tags WHERE qid = " + _quest.id); TempDB.bind(new string[] { "TAG", tag.ToLower(), "QID", _quest.id.ToString() }); qAddTag += TempDB.nQuery("INSERT INTO tags (nametag, qid) VALUES (@TAG, @QID)"); tagsdel = true; } } } Utilities.notifyThem(ntfEdit, "Successfully Saved.", NotificationBox.Type.Success); Functionality.RefreshMyQuestions(); change = false; } }).Start(); }
private void btnAdd_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(txtAddQ.Text.Trim()) == true || string.IsNullOrEmpty(txtAddTags.Text.Trim()) == true || (dgvAnswerlist.Rows.Count < 1)) { Utilities.notifyThem(ntfAdd, "You must fill some info about your question first", NotificationBox.Type.Error); } else { List <Answer> Answers = new List <Answer>(); for (int i = 0; i < dgvAnswerlist.Rows.Count; i++) { Answers.Add(new Answer(dgvAnswerlist.Rows[i].Cells[0].Value.ToString().TrimEnd().TrimStart(), bool.Parse(dgvAnswerlist.Rows[i].Cells[1].Value.ToString()))); } Utilities.runInThread(() => { DB TempDB = Utilities.AsyncDB(true); TempDB.bind(new string[] { "Question", txtAddQ.Text.TrimEnd().TrimStart(), "Answers", JsonConvert.SerializeObject(Answers).ToString(), "Dlevel", difficultyLvl.Value.ToString(), "Prive", (switchPrivate.isOn ? 1 : 0).ToString(), "UID", Globals.logUser.id.ToString() }); string qid = TempDB.single("INSERT INTO questions (question, answers, dlevel, prive, uid) VALUES (@Question, @Answers, @Dlevel, @Prive, @UID); select last_insert_id();"); int qAddTag = 0; string[] tags = txtAddTags.Text.TrimEnd(',').Split(','); foreach (string tag in tags) { if (!string.IsNullOrEmpty(tag)) { TempDB.bind(new string[] { "TAG", tag.ToLower(), "QID", qid }); qAddTag += TempDB.nQuery("INSERT INTO tags (nametag, qid) VALUES (@TAG, @QID)"); } } if (string.IsNullOrEmpty(qid) == false && qAddTag > 0) { Utilities.notifyThem(ntfAdd, "Successfull Added Question !", NotificationBox.Type.Success); Functionality.RefreshMyQuestions(); Utilities.clearText(txtAddQ, txtAddTags, txtAnswer); Utilities.InvokeMe(dgvAnswerlist, () => { dgvAnswerlist.Rows.Clear(); dgvAnswerlist.Refresh(); }); Utilities.InvokeMe(difficultyLvl, () => { difficultyLvl.Value = 1; }); Utilities.InvokeMe(switchPrivate, () => { switchPrivate.isOn = false; }); Utilities.InvokeMe(switchCorrectAnswer, () => { switchCorrectAnswer.isOn = true; }); Functionality.LoadTags(autocompleteMenu1); } }).Start(); } }
public static bool EmailAvailibility(String str) { DB tDB = Utilities.AsyncDB(); tDB.bind(new string[] { "Email", str }); String Q = tDB.single("SELECT COUNT(*) FROM users WHERE email = @Email"); int result = Int32.Parse(Q); if (result >= 1) { invalid = true; } else { invalid = false; } return(invalid); }