public void EditSubmissionThesisTest() { IDao dao = new DatabaseManager(); SubmissionThesis submission = new SubmissionThesis(); submission.SubmissionId = 1; submission.ThesisTopic = "Tresc"; submission.TopicNumber = 2; submission.ThesisObjectives = "Cele pracy"; submission.ThesisScope = "Cele pracy"; submission.Status = ThesisStatus.APPROVED; FinalThesis finalThesis = new FinalThesis(); finalThesis.FinalThesisId = 1; submission.FinalThesis = finalThesis; Edition edition = new Edition(); edition.Number = 1; submission.Edition = edition; Assert.IsTrue(dao.EditSubmissionThesis(submission)); submission.SubmissionId = 100000; Assert.IsFalse(dao.EditSubmissionThesis(submission)); try { SubmissionThesis incorrectSubmission = new SubmissionThesis(); incorrectSubmission.SubmissionId = -1; dao.EditSubmissionThesis(incorrectSubmission); Assert.Fail(); } catch (ArgumentException) { } }
public bool EditSubmissionThesis(SubmissionThesis submissionTheses) { if (submissionTheses.SubmissionId < 0) { throw new ArgumentException(); } conn.Open(); string sql = $"SELECT COUNT(submissionId) FROM SubmissionTheses WHERE submissionId = {submissionTheses.SubmissionId}"; MySqlCommand cmd = new MySqlCommand(sql, conn); MySqlDataReader rdr = cmd.ExecuteReader(); rdr.Read(); int count = int.Parse(rdr[0].ToString()); rdr.Close(); if (count == 0) { conn.Close(); return(false); } sql = "UPDATE SubmissionTheses " + $"SET submissionId = '{submissionTheses.SubmissionId}', thesisTopic = '{submissionTheses.ThesisTopic}', " + $"topicNumber = '{submissionTheses.TopicNumber}', thesisObjectives = '{submissionTheses.ThesisObjectives}', " + $"thesisScope = '{submissionTheses.ThesisScope}', submissionStatus = '3' " + $"WHERE submissionId = {submissionTheses.SubmissionId}"; cmd = new MySqlCommand(sql, conn); cmd.ExecuteNonQuery(); conn.Close(); return(true); }
public IActionResult Preview(int id) { SubmissionThesis submissionThesis = manager.GetSubmissionThesis(id); ViewData["StudyFieldManager"] = manager.GetStudyFieldManager(1); return(View(submissionThesis)); }
private void UpdateTopicAndName(int reviewId) { FinalThesisReview review = manager.GetReview(reviewId); SubmissionThesis submission = manager.GetSubmissionForThesisId(review.FinalThesis.FinalThesisId); ViewBag.thesisTopic = submission.ThesisTopic; ViewBag.name = review.FinalThesis.Participant.Name; ViewBag.surname = review.FinalThesis.Participant.Surname; }
public IActionResult Edit(int id) { SubmissionThesis submissionThesis = manager.GetSubmissionThesis(id); UpdateLecturersList(submissionThesis.FinalThesis.Lecturer.LecturerId); ViewBag.dataIsValid = true; return(View(submissionThesis)); }
public IActionResult Preview(int id) { if (id != 0) { FinalThesisReview finalThesisReview = manager.GetReview(id); SubmissionThesis submission = manager.GetSubmissionForThesisId(id); ViewBag.topic = submission.ThesisTopic; return(View(finalThesisReview)); } return(View()); }
public IActionResult Index() { List <FinalThesisReview> reviews = manager.GetReviews(1); ViewBag.isDataAvailable = reviews.Count > 0; List <string> topics = new List <string>(); for (int i = 0; i < reviews.Count; i++) { SubmissionThesis submission = manager.GetSubmissionForThesisId(reviews[i].FinalThesis.FinalThesisId); topics.Add(submission.ThesisTopic); } ViewBag.topics = topics; return(View(reviews)); }
public SubmissionThesis GetSubmissionThesis(int submissionThesisId) { conn.Open(); string sql = $"SELECT ST.submissionId, ST.thesisTopic, ST.topicNumber, ST.thesisObjectives, ST.thesisScope, " + $"ST.finalThesisId, FT.lecturerId, L.userId, P.participantId, P.userId " + $"FROM SubmissionTheses ST JOIN FinalTheses FT ON ST.finalThesisId = FT.finalThesisId " + $"JOIN Lecturers L ON FT.lecturerId = L.lecturerId JOIN Participants P ON P.participantId = FT.participantId " + $"WHERE ST.submissionId = {submissionThesisId}"; MySqlCommand cmd = new MySqlCommand(sql, conn); MySqlDataReader rdr = cmd.ExecuteReader(); rdr.Read(); SubmissionThesis submissionThesis = new SubmissionThesis(); submissionThesis.SubmissionId = int.Parse(rdr[0].ToString()); submissionThesis.ThesisTopic = rdr[1].ToString(); submissionThesis.TopicNumber = int.Parse(rdr[2].ToString()); submissionThesis.ThesisObjectives = rdr[3].ToString(); submissionThesis.ThesisScope = rdr[4].ToString(); FinalThesis finalThesis = new FinalThesis(); finalThesis.FinalThesisId = int.Parse(rdr[5].ToString()); Lecturer lecturer = new Lecturer(); lecturer.LecturerId = int.Parse(rdr[6].ToString()); lecturer.UserId = int.Parse(rdr[7].ToString()); Participant participant = new Participant(); participant.ParticipantId = int.Parse(rdr[8].ToString()); participant.UserId = int.Parse(rdr[9].ToString()); conn.Close(); FillUserData(lecturer); finalThesis.Lecturer = lecturer; FillUserData(participant); finalThesis.Participant = participant; submissionThesis.FinalThesis = finalThesis; return(submissionThesis); }
public IActionResult Edit(int id, IFormCollection form) { List <bool> fieldsValidation = GetSubmissionFieldsValidation(form); bool dataIsValid = true; foreach (bool fieldValidation in fieldsValidation) { if (!fieldValidation) { dataIsValid = false; } } ViewBag.dataIsValid = dataIsValid; ViewBag.form = form; if (!dataIsValid) { SubmissionThesis submission = manager.GetSubmissionThesis(id); UpdateLecturersList(int.Parse(form["LecturerId"])); ViewBag.fieldsValidation = fieldsValidation; return(View(submission)); } SubmissionThesis submissionThesis = new SubmissionThesis(); submissionThesis.SubmissionId = id; submissionThesis.ThesisTopic = form["ThesisTopic"]; submissionThesis.TopicNumber = int.Parse(form["TopicNumber"]); submissionThesis.ThesisObjectives = form["ThesisObjectives"]; submissionThesis.ThesisScope = form["ThesisScope"]; manager.EditSubmissionThesis(submissionThesis); int finalThesisId = manager.GetSubmissionThesis(id).FinalThesis.FinalThesisId; manager.EditFinalThesisLecturer(finalThesisId, int.Parse(form["LecturerId"])); return(RedirectToAction("Index")); }
// tested public List <SubmissionThesis> GetSubmissionTheses(int edition) { List <SubmissionThesis> submissions = new List <SubmissionThesis>(); List <int> thesesIds = new List <int>(); List <int> editiondsNum = new List <int>(); conn.Open(); string sql = $"SELECT ST.submissionId, ST.thesisTopic, ST.topicNumber, " + $"ST.thesisObjectives, ST.thesisScope, ST.submissionStatus, ST.finalThesisId, " + $"ST.edNumber " + "FROM Editions E " + "NATURAL JOIN SubmissionTheses ST " + $"WHERE E.edNumber = {edition}"; MySqlCommand cmd = new MySqlCommand(sql, conn); MySqlDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { SubmissionThesis submission = new SubmissionThesis(); submission.SubmissionId = int.Parse(rdr[0].ToString()); submission.ThesisTopic = rdr[1].ToString(); submission.TopicNumber = int.Parse(rdr[2].ToString()); submission.ThesisObjectives = rdr[3].ToString(); submission.ThesisScope = rdr[4].ToString(); submission.Status = (ThesisStatus)int.Parse(rdr[5].ToString()); thesesIds.Add(int.Parse(rdr[6].ToString())); editiondsNum.Add(int.Parse(rdr[7].ToString())); submissions.Add(submission); } rdr.Close(); conn.Close(); // tworzenie kluczy obcych for (int i = 0; i < submissions.Count; i++) { conn.Open(); int finalThesisId = thesesIds[i]; // create final thesis by id string querry = $"SELECT * FROM FinalTheses " + $"WHERE finalThesisId = {finalThesisId}"; cmd = new MySqlCommand(querry, conn); rdr = cmd.ExecuteReader(); rdr.Read(); FinalThesis finalThesis = new FinalThesis(); finalThesis.FinalThesisId = int.Parse(rdr[0].ToString()); finalThesis.DeliveryDeadline = DateTime.Parse(rdr[1].ToString()); int participantId = int.Parse(rdr[2].ToString()); rdr.Close(); conn.Close(); conn.Open(); querry = $"SELECT * FROM Participants P " + $"WHERE P.participantId = {participantId}"; cmd = new MySqlCommand(querry, conn); rdr = cmd.ExecuteReader(); rdr.Read(); finalThesis.Participant = GetParticipantFromReader(rdr); rdr.Close(); conn.Close(); submissions[i].FinalThesis = finalThesis; // edition here conn.Open(); querry = "SELECT SM.managerId, SM.userId, SM.primaryEmploymentPlace FROM Editions E" + "NATURAL JOIN StudyFieldManager SM " + $"WHERE edNumber = {edition}"; cmd = new MySqlCommand(querry, conn); rdr = cmd.ExecuteReader(); rdr.Read(); Edition submissionEdition = new Edition(); submissionEdition.Number = edition; StudyFieldManager manager = new StudyFieldManager(); manager.ManagerId = int.Parse(rdr[0].ToString()); manager.UserId = int.Parse(rdr[1].ToString()); manager.PrimaryEmploymentPlace = rdr[2].ToString(); submissionEdition.StudyFieldManager = manager; submissions[i].Edition = submissionEdition; submissions[i].Edition.StudyFieldManager = manager; rdr.Close(); conn.Close(); } foreach (SubmissionThesis s in submissions) { FillUserData(s.Edition.StudyFieldManager); FillUserData(s.FinalThesis.Participant); } return(submissions); }