Пример #1
0
        public void GetQuestionTest()
        {
            DtQuestion question = _context.Questions.First();

            Assert.IsNotNull(question);
            Assert.AreEqual(1, question.UniversityID);
            Assert.AreEqual(1, question.SubjectID);
            Assert.AreEqual(1, question.FieldOfStudiesID);
        }
Пример #2
0
        public IActionResult CreateNewEntry(ViewModelCreate viewModelCreate)
        {
            // If all entries are correct
            if (ModelState.IsValid)
            {
                DtQuestion question = new DtQuestion();

                if (viewModelCreate.QuestionTitle != null)
                {
                    question.Title = viewModelCreate.QuestionTitle;
                }
                else
                {
                    question.Title = "Neue Frage";
                }
                question.Content = viewModelCreate.QuestionContent;

                if (viewModelCreate.AnswerContent != null)
                {
                    question.Answers.Add(new DtAnswer()
                    {
                        Content        = viewModelCreate.AnswerContent,
                        SubmissionDate = DateTime.Now,
                        UpVotes        = 3
                    });
                }

                question.FieldOfStudiesID = (int)viewModelCreate.FieldOfStudiesId;
                question.SubjectID        = (int)viewModelCreate.SubjectId;
                question.SubmissionDate   = DateTime.Now;
                question.UniversityID     = (int)viewModelCreate.UniversityId;

                try
                {
                    _context.Add(question);

                    _context.SaveChanges();
                }
                catch (Exception ex)
                {
                    _logger.LogError(ex, "Error while adding and saving new Question to the database");
                    return(View("CreateQuestion", viewModelCreate));
                }

                return(RedirectToAction("ViewQuestion", new { id = question.QuestionID }));
            }

            // if not all entries are correct you are redirected
            viewModelCreate.FillAllDropdowns(_context, _logger);
            return(View("CreateQuestion", viewModelCreate));
        }
Пример #3
0
        public void CreateNewQuestion()
        {
            DtQuestion question = new DtQuestion();

            question.Content          = "Test Content";
            question.FieldOfStudiesID = 1;
            question.SubjectID        = 1;
            question.UniversityID     = 1;

            _context.Add(question);
            _context.SaveChanges();

            DtQuestion loadedQuestion = _context.Questions.FirstOrDefault(q => q.Content.Equals("Test Content"));

            Assert.IsNotNull(loadedQuestion);
            Assert.AreEqual(loadedQuestion.Content, question.Content);
        }
Пример #4
0
        public void CreateSaveLoadNewAnswerTest()
        {
            DtAnswer answer = new DtAnswer();

            answer.Content = "Test Antwort";
            DtQuestion question = _context.Questions.SingleOrDefault(q => q.QuestionID == 1);

            question.Answers.Add(answer);

            _context.SaveChanges();

            DtAnswer loadedAnswer = null;

            List <DtAnswer> answers = _context.Questions.SingleOrDefault(q => q.QuestionID == 1).Answers.ToList();

            loadedAnswer = answers.SingleOrDefault(a => a.Content.Equals(answer.Content));

            Assert.AreEqual(loadedAnswer.Content, answer.Content);
        }
Пример #5
0
        public async Task <IActionResult> CreateQuestions([Bind("QuestionID,UniversityID,FieldOfStudiesID,SubjectID,SubmissionDate,Title,Content,UpVotes")] DtQuestion dtQuestion)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    _context.Add(dtQuestion);
                    await _context.SaveChangesAsync();

                    return(RedirectToAction(nameof(IndexQuestions)));
                }
                ViewData["FieldOfStudiesID"] = new SelectList(_context.FieldsOfStudies, "FieldOfStudiesID", "FieldOfStudiesID", dtQuestion.FieldOfStudiesID);
                ViewData["SubjectID"]        = new SelectList(_context.Subjects, "SubjectID", "SubjectID", dtQuestion.SubjectID);
                ViewData["UniversityID"]     = new SelectList(_context.Universities, "UniversityID", "UniversityID", dtQuestion.UniversityID);
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "Error while loading data from the database");
            }
            return(View(dtQuestion));
        }
Пример #6
0
        public async Task <IActionResult> EditQuestions(int id, [Bind("QuestionID,UniversityID,FieldOfStudiesID,SubjectID,SubmissionDate,Title,Content,UpVotes")] DtQuestion dtQuestion)
        {
            try
            {
                if (id != dtQuestion.QuestionID)
                {
                    return(NotFound());
                }

                if (ModelState.IsValid)
                {
                    try
                    {
                        _context.Update(dtQuestion);
                        await _context.SaveChangesAsync();
                    }
                    catch (DbUpdateConcurrencyException)
                    {
                        if (!DtQuestionExists(dtQuestion.QuestionID))
                        {
                            return(NotFound());
                        }
                        else
                        {
                            throw;
                        }
                    }
                    return(RedirectToAction(nameof(IndexQuestions)));
                }
                ViewData["FieldOfStudiesID"] = new SelectList(_context.FieldsOfStudies, "FieldOfStudiesID", "FieldOfStudiesID", dtQuestion.FieldOfStudiesID);
                ViewData["SubjectID"]        = new SelectList(_context.Subjects, "SubjectID", "SubjectID", dtQuestion.SubjectID);
                ViewData["UniversityID"]     = new SelectList(_context.Universities, "UniversityID", "UniversityID", dtQuestion.UniversityID);
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "Error while loading data from the database");
            }

            return(View(dtQuestion));
        }
Пример #7
0
        /// <summary>
        /// Set up Test Database
        /// </summary>
        /// <param name="context"></param>
        /// <param name="createNewDatabase"></param>
        public static void DatabaseTest(DataContext context, bool createNewDatabase)
        {
            if (createNewDatabase)
            {
                // Deletes the Database if it exists
                context.Database.EnsureDeleted();

                // Creates the Database if does not exist yet
                context.Database.EnsureCreated();
            }

            DtCountry[] countries = new DtCountry[]
            {
                new DtCountry()
                {
                    CountryName = "Deutschland"
                },
                new DtCountry()
                {
                    CountryName = "Österreich"
                },
                new DtCountry()
                {
                    CountryName = "Schweiz"
                }
            };

            foreach (DtCountry country in countries)
            {
                context.Add(country);
            }

            context.SaveChanges();

            // Testdaten in die Tabelle dt_federal_state einfügen
            DtFederalState[] federalStates = new DtFederalState[]
            {
                new DtFederalState()
                {
                    FederalStateName = "Baden-Württemberg"
                },
                new DtFederalState()
                {
                    FederalStateName = "Bayern"
                },
                new DtFederalState()
                {
                    FederalStateName = "Berlin"
                },
                new DtFederalState()
                {
                    FederalStateName = "Brandenburg"
                },
                new DtFederalState()
                {
                    FederalStateName = "Bremen"
                },
                new DtFederalState()
                {
                    FederalStateName = "Hamburg"
                },
                new DtFederalState()
                {
                    FederalStateName = "Hessen"
                },
                new DtFederalState()
                {
                    FederalStateName = "Mecklenburg-Vorpommern"
                },
                new DtFederalState()
                {
                    FederalStateName = "Niedersachsen"
                },
                new DtFederalState()
                {
                    FederalStateName = "Nordrhein-Westfalen"
                },
                new DtFederalState()
                {
                    FederalStateName = "Rheinland-Pfalz"
                },
                new DtFederalState()
                {
                    FederalStateName = "Saarland"
                },
                new DtFederalState()
                {
                    FederalStateName = "Sachsen"
                },
                new DtFederalState()
                {
                    FederalStateName = "Sachsen-Anhalt"
                },
                new DtFederalState()
                {
                    FederalStateName = "Schleswig-Holstein"
                },
                new DtFederalState()
                {
                    FederalStateName = "Thüringen"
                }
            };

            foreach (DtFederalState state in federalStates)
            {
                context.Add(state);
            }

            context.SaveChanges();

            // Testdaten in Tabelle dt_university einfügen
            List <DtUniversity> universities = new List <DtUniversity>()
            {
                new DtUniversity()
                {
                    UniversityName = "BA Leipzig", CountryID = 1, FederalStateID = 13
                },
                new DtUniversity()
                {
                    UniversityName = "BA Dresden", CountryID = 1, FederalStateID = 13
                },
                new DtUniversity()
                {
                    UniversityName = "BA Glauchau", CountryID = 1, FederalStateID = 13
                },
                new DtUniversity()
                {
                    UniversityName = "Universität Leipzig", CountryID = 1, FederalStateID = 13
                },
                new DtUniversity()
                {
                    UniversityName = "HTWK Leipzig", CountryID = 1, FederalStateID = 13
                },
                new DtUniversity()
                {
                    UniversityName = "Universität Jena", CountryID = 1, FederalStateID = 16
                },
                new DtUniversity()
                {
                    UniversityName = "HfM Weimar", CountryID = 1, FederalStateID = 16
                },
                new DtUniversity()
                {
                    UniversityName = "Universität Kassel", CountryID = 1, FederalStateID = 7
                },
                new DtUniversity()
                {
                    UniversityName = "Universität Würzburg", CountryID = 1, FederalStateID = 2
                }
            };

            foreach (DtUniversity university in universities)
            {
                context.Add(university);
            }

            context.SaveChanges();

            DtFieldOfStudies[] fieldsOfStudies = new DtFieldOfStudies[]
            {
                new DtFieldOfStudies()
                {
                    FieldOfStudiesName = "Informatik", Type = FieldOfStudiesType.Engineering
                },
                new DtFieldOfStudies()
                {
                    FieldOfStudiesName = "Bauingenieurwesen", Type = FieldOfStudiesType.Engineering
                },
                new DtFieldOfStudies()
                {
                    FieldOfStudiesName = "Betriebswirtschaftslehre", Type = FieldOfStudiesType.Economics
                },
                new DtFieldOfStudies()
                {
                    FieldOfStudiesName = "Philosophie", Type = FieldOfStudiesType.SocialScience
                },
                new DtFieldOfStudies()
                {
                    FieldOfStudiesName = "Kulturwissenschaften", Type = FieldOfStudiesType.SocialScience
                },
                new DtFieldOfStudies()
                {
                    FieldOfStudiesName = "Immobilienwirtschaft", Type = FieldOfStudiesType.Economics
                },
                new DtFieldOfStudies()
                {
                    FieldOfStudiesName = "Kunstgeschichte", Type = FieldOfStudiesType.SocialScience
                },
                new DtFieldOfStudies()
                {
                    FieldOfStudiesName = "Gesang", Type = FieldOfStudiesType.Arts
                }
            };

            foreach (DtFieldOfStudies fieldOfStudies in fieldsOfStudies)
            {
                context.Add(fieldOfStudies);
            }

            context.SaveChanges();

            DtSubject[] subjects = new DtSubject[]
            {
                new DtSubject()
                {
                    SubjectName = "Automaten und formale Sprachen"
                },
                new DtSubject()
                {
                    SubjectName = "Berechenbarkeit und Komplexität"
                },
                new DtSubject()
                {
                    SubjectName = "Personalführung"
                },
                new DtSubject()
                {
                    SubjectName = "Stochastik"
                },
                new DtSubject()
                {
                    SubjectName = "Lineare Algebra"
                },
                new DtSubject()
                {
                    SubjectName = "Netzwerke"
                },
                new DtSubject()
                {
                    SubjectName = "Programmieren C++"
                },
            };

            foreach (DtSubject subject in subjects)
            {
                context.Add(subject);
            }

            context.SaveChanges();

            DtAnswer[] answers = new DtAnswer[]
            {
                new DtAnswer()  /*QuestionId = 1,*/
                {
                    SubmissionDate = DateTime.Now,
                    Content        = "Ich weiß doch nicht wie eine Turing Maschine aussieht!!!11!",
                    UpVotes        = 77
                },
                new DtAnswer()  /*QuestionId = 3,*/
                {
                    SubmissionDate = DateTime.Now,
                    Content        = "Blau! Nein rot!",
                    UpVotes        = 2
                }
            };

            foreach (DtAnswer answer in answers)
            {
                context.Add(answer);
            }

            context.SaveChanges();

            List <DtQuestion> questions = new List <DtQuestion>()
            {
                new DtQuestion()
                {
                    Answers        = context.Answers.Where(a => a.AnswerID == 1).ToList(),
                    Content        = "Konstruieren Sie eine Turing Maschine",
                    FieldOfStudies = context.FieldsOfStudies.FirstOrDefault(f => f.FieldOfStudiesID == 1),
                    Subject        = context.Subjects.FirstOrDefault(s => s.SubjectID == 1),
                    SubmissionDate = DateTime.Now,
                    University     = context.Universities.FirstOrDefault(u => u.UniversityID == 1),
                    UpVotes        = 5
                },

                new DtQuestion()
                {
                    Answers        = null,
                    Content        = "Was soll das alles?",
                    FieldOfStudies = context.FieldsOfStudies.FirstOrDefault(u => u.FieldOfStudiesID == 1),
                    Subject        = context.Subjects.FirstOrDefault(u => u.SubjectID == 1),
                    SubmissionDate = DateTime.Now,
                    University     = context.Universities.FirstOrDefault(u => u.UniversityID == 2),
                    UpVotes        = 1
                },

                new DtQuestion()
                {
                    Answers        = context.Answers.Where(a => a.AnswerID == 2).ToList(),
                    Content        = "Was ist deine Lieblingsfarbe?",
                    FieldOfStudies = context.FieldsOfStudies.FirstOrDefault(u => u.FieldOfStudiesID == 1),
                    Subject        = context.Subjects.FirstOrDefault(u => u.SubjectID == 1),
                    SubmissionDate = DateTime.Now,
                    University     = context.Universities.FirstOrDefault(u => u.UniversityID == 3),
                    UpVotes        = 4
                }
            };

            // weitere Fragen eintragen
            for (int i = 1; i < 6; i++)
            {
                var question = new DtQuestion()
                {
                    Answers        = null,
                    Content        = String.Format("Weitere Frage {0}", i),
                    FieldOfStudies = context.FieldsOfStudies.FirstOrDefault(u => u.FieldOfStudiesID == i),
                    Subject        = context.Subjects.FirstOrDefault(u => u.SubjectID == i),
                    SubmissionDate = DateTime.Now,
                    University     = context.Universities.FirstOrDefault(u => u.UniversityID == i),
                    UpVotes        = 2
                };

                questions.Add(question);
            }

            foreach (DtQuestion question in questions)
            {
                context.Add(question);
            }

            context.SaveChanges();
        }