예제 #1
0
        public virtual JsonResult SubmitMoodResponse(string EventName, SubmitResponseModel model)
        {
            try
            {
                if (string.IsNullOrEmpty(EventName))
                {
                    throw new ArgumentException("Invalid event");
                }
                if (model == null)
                {
                    throw new ArgumentException("Invalid model");
                }

                responseSubmissionQueue.Enqueue(new MoodResponseWorkItem
                {
                    EventName     = EventName,
                    ResponderId   = model.rid,
                    Region        = model.reg,
                    DeviceId      = model.apn,
                    MoodResponses = model.r != null ? new MoodResponseUpdateModel[] { model.r } : Enumerable.Empty <MoodResponseUpdateModel>()
                });

                backgroundTaskFactory.StartNew(ProcessQueuedMoodResponseWorkItems);

                return(Json(new { Success = true }));
            }
            catch (Exception ex)
            {
                logger.Error("App", ex, "Failed submitting response from app" + (model == null ? " - model is null" : string.Empty));

                return(Json(new { Success = false }));
            }
        }
예제 #2
0
        //用户选择时保存答案的接口
        public SubmitResponseModel SubmitAnswer(SubmitAnswerParameter parameter)
        {
            SubmitResponseModel model = new SubmitResponseModel();

            try
            {
                var userScore = DataHelp.GetUserScore(parameter.UserId);
                if (userScore.IsSubmit != "1")
                {
                    if (DataHelp.SubmitAnswer(parameter))
                    {
                        var questionList = DataHelp.GetQuestionList();
                        int sum          = 0;
                        foreach (var answer in parameter.UserAnswerList)
                        {
                            var userAnswer = questionList.Where(x => x.Id == answer.QuestionId).FirstOrDefault();
                            if (userAnswer != null)
                            {
                                if (userAnswer.Answer == answer.Answer)
                                {
                                    if (userAnswer.Multi == "1")
                                    {
                                        sum++;
                                    }
                                    else
                                    {
                                        sum = sum + 2;
                                    }
                                }
                            }
                        }
                        if (DataHelp.SubmitScore(parameter.UserId, sum))
                        {
                            model.Score  = sum.ToString();
                            model.Status = "1";
                        }
                        else
                        {
                            model.Status = "0";
                        }
                    }
                }
                else
                {
                    model.Score  = userScore.Score.ToString();
                    model.Status = "1";
                }
            }
            catch
            {
                model.Status = "0";
            }
            return(model);
        }