Example #1
0
        internal static Distractor ConvertDto(DistractorDTO q, Distractor instance, bool updateQuestionDate,
                                              FileModel fileModel, QuestionModel questionModel, UserModel userModel, SubModuleItemModel subModuleItemModel)
        {
            instance                 = instance ?? new Distractor();
            instance.IsActive        = q.isActive;
            instance.DistractorName  = q.distractor;
            instance.DistractorOrder = q.distractorOrder;
            instance.Score           = q.score;
            instance.IsCorrect       = q.isCorrect;
            if (instance.IsTransient())
            {
                instance.DateCreated = DateTime.Now;
            }

            instance.DateModified   = DateTime.Now;
            instance.Image          = q.imageId.HasValue ? fileModel.GetOneById(q.imageId.Value).Value : null;
            instance.LeftImage      = q.leftImageId.HasValue ? fileModel.GetOneById(q.leftImageId.Value).Value : null;
            instance.RightImage     = q.rightImageId.HasValue ? fileModel.GetOneById(q.rightImageId.Value).Value : null;
            instance.Question       = q.questionId.HasValue ? questionModel.GetOneById(q.questionId.Value).Value : null;
            instance.ModifiedBy     = q.modifiedBy.HasValue ? userModel.GetOneById(q.modifiedBy.Value).Value : null;
            instance.CreatedBy      = q.createdBy.HasValue ? userModel.GetOneById(q.createdBy.Value).Value : null;
            instance.DistractorType = q.distractorType;
            if (instance.Question != null && updateQuestionDate)
            {
                var subModuleItem = instance.Question.SubModuleItem;
                subModuleItem.DateModified = DateTime.Now;
                subModuleItemModel.RegisterSave(subModuleItem);
            }

            return(instance);
        }
Example #2
0
        public IHttpActionResult sendImage([FromBody] string image)
        {
            int userId = TokenHelper.GetUserId(User.Identity);

            try {
                if (_affitsApiAdapter.processImage(image, userId))
                {
                    List <Pad>    lastEmoStates = _affitsApiAdapter.getResults(userId);
                    DistractorDTO distractor    = _eduService.KickTheStudent(userId, lastEmoStates);
                    return(Ok(distractor));
                }

                return(BadRequest("unprocessed"));
            }
            catch (Exception e) {
                return(BadRequest(e.ToString()));
            }
        }
Example #3
0
        /// <summary>
        /// The save update.
        /// </summary>
        /// <param name="resultDto">
        /// The user.
        /// </param>
        /// <returns>
        /// The <see cref="DistractorDTO"/>.
        /// </returns>
        public DistractorDTO Save(DistractorDTO resultDto)
        {
            ValidationResult validationResult;

            if (this.IsValid(resultDto, out validationResult))
            {
                var distractorModel = this.DistractorModel;
                var isTransient     = resultDto.distractorId == 0;
                var entity          = isTransient ? null : distractorModel.GetOneById(resultDto.distractorId).Value;
                entity = ConvertDto(resultDto, entity, true, this.FileModel, this.QuestionModel, this.UserModel, this.SubModuleItemModel);
                distractorModel.RegisterSave(entity);
                return(new DistractorDTO(entity));
            }

            var error = this.GenerateValidationError(validationResult);

            this.LogError("Distractor.Save", error);
            throw new FaultException <Error>(error, error.errorMessage);
        }