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 })); } }
//用户选择时保存答案的接口 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); }