//INFO: Returns survey with given Id public SurveyDO GetSurvey(int id) { SurveyDO surveyDO = new SurveyDO(); using (riverkeeperEntities RKEntities = new riverkeeperEntities()) { List <Survey> surveys = (from s in RKEntities.Surveys where s.SurveyId == id select s).ToList(); if (surveys.Count == 0) { throw new Exception("No survey in DB with that ID"); } Survey survey = surveys.ElementAt(0); surveyDO.SurveyId = survey.SurveyId; surveyDO.Name = survey.Name; surveyDO.CreationDate = survey.CreationDate; int numberOfQuestions = survey.Answers.Count(); for (int i = 0; i < numberOfQuestions; i++) { AnswerDO answerDO = new AnswerDO(); Answer answerdb = survey.Answers.ElementAt(i); answerDO.Response = answerdb.Response; answerDO.QuestionId = answerdb.QuestionId; surveyDO.Answers.Add(answerDO); } } return(surveyDO); }
//INFO: Adds a new survey to the database public bool SubmitSurvey(SurveyDO surveyDO) { using (riverkeeperEntities RKEntities = new riverkeeperEntities()) { Console.WriteLine("Attempting to submit survey"); Survey surveydb = new Survey(); if (surveyDO != null) { surveydb.Name = surveyDO.Name; surveydb.CreationDate = DateTime.Now; surveydb.UserId = (from u in RKEntities.Users where u.EmailAddress.Equals(surveyDO.Email) select u.UserId).FirstOrDefault(); int numberOfQuestions = surveyDO.Answers.Count(); for (int i = 0; i < numberOfQuestions; i++) { AnswerDO answerDO = surveyDO.Answers.ElementAt(i); Answer answerdb = new Answer(); answerdb.Response = answerDO.Response; answerdb.QuestionId = answerDO.QuestionId; surveydb.Answers.Add(answerdb); } RKEntities.Surveys.Add(surveydb); } int dbResult = 0; try { dbResult = RKEntities.SaveChanges(); } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Debug.WriteLine("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } } catch (DbUpdateException e) { Debug.WriteLine(e.InnerException); } if (dbResult == 0) { return(false); } return(true); } }
public static QuizDO QuizFixture_1() { var quiz = new QuizDO(); quiz.AnswerTime = 3000; var questionLabel = new Label { Text = "What is the highest mountain of the world?" }; var questionImage = new Image { ImagePath = "cdn://dksjdksjkd.com/image.png" }; var questionContent = new ContentDO(); questionContent.AddControl(questionLabel); questionContent.AddControl(questionImage); var question = new QuestionDO(); question.Content = questionContent; var quizItem = new ItemDO(); quizItem.SetQuestion(question); for (int i = 0; i < 4; ++i) { var answerLabel = new Label { Text = "Everest" }; var answerImage = new Image { ImagePath = "cdn://dkhfjdkl.io/everest.png" }; var answerContent = new ContentDO(); answerContent.AddControl(answerLabel); answerContent.AddControl(answerImage); var answer = new AnswerDO(); answer.Content = answerContent; quizItem.AddPossibleAnswer(answer); } quizItem.SetCorrectAnswer(new SingleChoiceAnswer { Value = 1 }); quiz.AddQuizItem(quizItem); return(quiz); }
//INFO: Gets list of all submitted surveys organized by creation date public List <SurveyDO> GetSurveys() { List <SurveyDO> surveyDOs = new List <SurveyDO>(); using (riverkeeperEntities RKEntities = new riverkeeperEntities()) { List <Survey> surveys = (from s in RKEntities.Surveys orderby s.CreationDate select s).ToList(); if (surveys.Count == 0) { throw new Exception("No surveys in DB"); } foreach (var survey in surveys) { SurveyDO surveyDO = new SurveyDO(); surveyDO.SurveyId = survey.SurveyId; surveyDO.Name = survey.Name; surveyDO.CreationDate = survey.CreationDate; surveyDO.Email = (from u in RKEntities.Users where u.UserId.Equals(survey.UserId) select u.EmailAddress).FirstOrDefault(); int numberOfQuestions = survey.Answers.Count(); for (int i = 0; i < numberOfQuestions; i++) { AnswerDO answerDO = new AnswerDO(); Answer answerdb = survey.Answers.ElementAt(i); answerDO.Response = answerdb.Response; answerDO.QuestionId = answerdb.QuestionId; surveyDO.Answers.Add(answerDO); } surveyDOs.Add(surveyDO); } } return(surveyDOs); }