コード例 #1
0
        public void InsertWorksheet(List <IQuestion> questions, string userEmailAddress)
        {
            if (!EmailAddress.IsEmailAddressValid(userEmailAddress))
            {
                throw new ArgumentException("Invalid email address.");
            }

            if (!CheckIfUserIsInDatabase(userEmailAddress))
            {
                InsertUser(userEmailAddress);
                context.SaveChanges();
            }

            var currentUser = context.UserDbo.First(user => user.EmailAddress == userEmailAddress);
            var worksheet   = new WorksheetDbo()
            {
                User = currentUser, DateSent = DateTimeOffset.Now
            };

            context.WorksheetDbo.Add(worksheet);

            var questionDbos = questions.Select(question => InsertQuestion(question))
                               .ToList();

            for (var i = 0; i < questionDbos.Count(); i++)
            {
                context.WorksheetQuestionDbo.Add(new WorksheetQuestionDbo(questionDbos[i], worksheet, i));
            }
            context.SaveChanges();
        }
コード例 #2
0
 private List <IQuestion> SelectWorksheetQuestions(WorksheetDbo worksheetDbo)
 {
     return(context.WorksheetQuestionDbo
            .Include(worksheetQuestion => worksheetQuestion.Question)
            .Include(worksheetQuestion => worksheetQuestion.Question.QuestionType)
            .Include(worksheetQuestion => worksheetQuestion.Worksheet.User)
            .Where(worksheetQuestion => worksheetQuestion.Worksheet.ID == worksheetDbo.ID)
            .ToList()
            .OrderBy(worksheetQuestion => worksheetQuestion.QuestionNumber)
            .Select(worksheetQuestion => FindQuestionCorrespondingToQuestionDbo(worksheetQuestion.Question))
            .ToList());
 }
 public WorksheetQuestionDbo(QuestionDbo question, WorksheetDbo worksheet, int questionNumber)
 {
     Question       = question;
     Worksheet      = worksheet;
     QuestionNumber = questionNumber;
 }