public JsonResult SubmitQuestionnaire(QuestionnaireDTO dto)
        {
            JsonResult result  = new JsonResult();
            var        flag    = false;
            var        message = "";
            var        code    = 0;

            try
            {
                flag = questionnaireService.SubmitQuestionnaire(dto);
                if (flag)
                {
                    message = "提交成功";
                    code    = 0;
                }
                else
                {
                    message = "提交失败";
                    code    = 1;
                }
            }
            catch (Exception e)
            {
                message = "提交失败";
                code    = 1;
            }
            finally
            {
                result = Json(new { code = code, msg = message }, JsonRequestBehavior.AllowGet);
            }
            return(result);
        }
        public int Add(int AssignmentID, QuestionnaireDTO dto, string createdBy)
        {
            Questionnaire entity = _Mapper.Map <QuestionnaireDTO, Questionnaire>(dto);

            entity.AssignmentId = AssignmentID;
            entity.CreatedBy    = createdBy;

            return(Add(entity));
        }
        public async Task <ViewResult> Index()
        {
            QuestionnaireDTO result = await _client.Questions_Get();

            QuestionnaireViewModel viewModel = Mapper.Map <QuestionnaireDTO, QuestionnaireViewModel>(result);

            if (viewModel == null)
            {
                return(View("Error"));
            }
            return(View("View", viewModel));
        }
Пример #4
0
 /// <summary>
 /// Submits the whole compiled questionnaire
 /// </summary>
 /// <param name="compiledQuestionnaire"></param>
 /// <returns></returns>
 public bool Post(QuestionnaireDTO compiledQuestionnaire)
 {
     try
     {
         Questionnaire quest = Mapper.Map <QuestionnaireDTO, Questionnaire>(compiledQuestionnaire);
         return(_questionRepository.SubmitQuestionnaire(quest));
     }
     catch (Exception ex)
     {
         _logger.LogError(ex);
         return(false);
     }
 }
Пример #5
0
        public async Task <IActionResult> Update(string id, [FromBody] QuestionnaireDTO model)
        {
            try
            {
                // update user
                await _questionnaireService.Update(id, model, User.Identity.Name);

                return(Ok());
            }
            catch (AppException ex)
            {
                _response         = new ServiceResponse();
                _response.message = ex.Message;
                return(StatusCode(StatusCodes.Status400BadRequest, _response));
            }
            catch (Exception ex)
            {
                _response         = new ServiceResponse();
                _response.message = "Something went wrong, " + ex.Message.ToString();
                return(StatusCode(StatusCodes.Status500InternalServerError, _response));
            }
        }
        public async Task <ViewResult> Submit(QuestionnaireViewModel questionnaire)
        {
            bool result = false;

            if (ModelState.IsValid)
            {
                QuestionnaireDTO dto = Mapper.Map <QuestionnaireViewModel, QuestionnaireDTO>(questionnaire);
                result = await _client.Questions_Submit(dto);

                if (result)
                {
                    return(View("SubmittedOK", result));
                }
                else
                {
                    return(View("SubmittedKO", result));
                }
            }
            else
            {
                return(View("Error", result));
            }
        }
        public async Task Update(string id, QuestionnaireDTO model, string username)
        {
            if (string.IsNullOrEmpty(id) || model == null)
            {
                throw new AppException("Bad Request, Invalid Model or ID");
            }

            var questionnaire = _questionnaireRepository.Get(x => x.ID == id);

            if (questionnaire == null)
            {
                throw new AppException("No Entity Found For Update");
            }

            var questionnaireDetail = await _questionnaireRepository.GetQuestionnaireDetail(questionnaire.ID);

            questionnaire.Question    = model.Question;
            questionnaire.SubjectCode = model.SubjectCode;
            questionnaire.Answer      = model.Answer;
            questionnaire.IsMock      = model.IsMock;
            questionnaire.UpdatedBy   = username;
            questionnaire.UpdatedDate = DateTime.Now;

            _questionnaireRepository.AddOrUpdate(questionnaire);
            if (questionnaireDetail != null)
            {
                questionnaireDetail.Option1     = model.Option1;
                questionnaireDetail.Option2     = model.Option2;
                questionnaireDetail.Option3     = model.Option3;
                questionnaireDetail.Option4     = model.Option4;
                questionnaireDetail.Explanation = model.Explanation;

                await _questionnaireRepository.UpdateQuestionnaireDetail(questionnaireDetail);
            }
            _unitOfWork.Commit();
        }
 /// <summary>
 /// Submits the compiled questionnaire
 /// </summary>
 /// <param name="DTO"></param>
 /// <returns>Returns result from submitting</returns>
 public async Task <bool> Questions_Submit(QuestionnaireDTO DTO)
 {
     return(await Set("Questions", "Post").Post <bool, QuestionnaireDTO>(DTO));
 }
        public IActionResult AddQuestionnaire([FromRoute] int assignmentId, [FromBody] QuestionnaireDTO dto)
        {
            string username = this.GetUsername();

            return(this.NoContent(() => _QuestionnaireRepo.Add(assignmentId, dto, username) > 0, _Logger));
        }
Пример #10
0
        /// <summary>
        /// 人员提交问卷数据
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public bool SubmitQuestionnaire(QuestionnaireDTO dto)
        {
            using (var transaction = new TransactionScope(TransactionScopeOption.RequiresNew, new TransactionOptions {
                IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted
            }))
            {
                try
                {
                    using (var db = base.GDDSVSPDb)
                    {
                        Guid     id                = Guid.NewGuid();
                        DateTime date              = DateTime.Now;
                        int      isDel             = Convert.ToInt32(IsDel.未删除);
                        Guid?    employeeId        = dto.EmployeeID;
                        Guid     questionnaireId   = dto.QuestionnaireID;
                        Guid     departmentId      = dto.DepartmentID;
                        Guid     functionalGroupId = dto.FunctionalGroupID;
                        int      isRelation        = dto.IsRelation;
                        QuestionnaireSubmission qs = new QuestionnaireSubmission();
                        qs.ID = id;
                        qs.QuestionnaireID = questionnaireId;
                        qs.EmployeeID      = employeeId;
                        qs.IsSubmit        = 1;
                        qs.CreateTime      = date;
                        qs.IsDel           = isDel;
                        db.QuestionnaireSubmission.Add(qs);
                        db.SaveChanges();

                        if (isRelation == Convert.ToInt32(QuestionnaireIsRelation.关联))
                        {
                            employeeId = null;
                        }
                        List <QuestionAnswerMapping> list      = new List <QuestionAnswerMapping>();
                        List <QuestionDTO>           questions = dto.Questions;
                        for (int i = 0; i < questions.Count; i++)
                        {
                            QuestionAnswerMapping obj = new QuestionAnswerMapping();
                            obj.QuestionAnswerID  = Guid.NewGuid();
                            obj.QuestionID        = questions[i].QuestionID;
                            obj.OptionID          = questions[i].OptionID;
                            obj.OptionReason      = questions[i].OptionReason;
                            obj.EmployeeID        = employeeId;
                            obj.QuestionnaireID   = questionnaireId;
                            obj.DepartmentID      = departmentId;
                            obj.FunctionalGroupID = functionalGroupId;
                            obj.CreateTime        = date;
                            obj.IsDel             = isDel;
                            list.Add(obj);
                        }
                        db.QuestionAnswerMapping.AddRange(list);
                        db.SaveChanges();

                        transaction.Complete();
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                    return(false);
                }
            }
            return(true);
        }