Exemplo n.º 1
0
        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) { }
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 6
0
 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());
 }
Exemplo n.º 7
0
        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));
        }
Exemplo n.º 8
0
        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"));
        }
Exemplo n.º 10
0
        // 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);
        }