Esempio n. 1
0
        public void SaveSurvey(int userId, SurveySaveDTO survey)
        {
            if (this.HasCompleted(userId))
            {
                // TODO: Handle already saved
                return;
            }

            foreach (var answer in survey.Answers)
            {
                var userAnswer = Mapper.Map <UserAnswer>(answer);
                userAnswer.UserId   = userId;
                userAnswer.SurveyId = survey.Id;
                this.userAnswerRepository.Create(userAnswer);
            }
        }
Esempio n. 2
0
        public ValidateSaveDTO ValidateSave(int userId, SurveySaveDTO surveySave)
        {
            var survey = this.GetSurvey(null);

            // truncate milliseconds
            var created  = survey.CreatedDate.AddMilliseconds(-survey.CreatedDate.Millisecond);
            var modified = surveySave.Modified.AddMilliseconds(-surveySave.Modified.Millisecond);

            var result = new ValidateSaveDTO()
            {
                AlreadyCompleted = this.userAnswerRepository.HasCompleted(surveySave.Id, userId),
                ContentChanged   = created > modified,
            };

            return(result);
        }