Exemple #1
0
        public JsonResult RateAnswer(int answerId, int rating)
        {
            try
            {
                var httpCookie = Request.Cookies["LogOnCookie"];
                // var cookieAnswer = new HttpCookie("AnsCookie");
                var answerModel = _unitOfWork.AnswerRepository.GetById(answerId);
                var count       = 0;
                if (rating == Constants.Useful)
                {
                    answerModel.UsefulYes = answerModel.UsefulYes + 1;
                    count = answerModel.UsefulYes;
                }
                if (rating == Constants.Somewhat)
                {
                    answerModel.UserfulSomeWhat = answerModel.UserfulSomeWhat + 1;
                    count = answerModel.UserfulSomeWhat;
                }
                if (rating == Constants.NotUseful)
                {
                    answerModel.UsefulNo = answerModel.UsefulNo + 1;
                    count = answerModel.UsefulNo;
                }
                _unitOfWork.AnswerRepository.Update(answerModel);
                var ansResponseModel = new AnswerResponseModel
                {
                    AnswerAnswerId = answerId,
                    RatedBy        = httpCookie == null ? "Anonymous" : httpCookie.Values["username"],
                    IpAddress      = GetIp(),
                    RatedOn        = DateTime.Now
                };

                // cookieAnswer.Values["Answer"] = "answer_" + answerId + "_" +
                //                               (httpCookie == null ? "Anonymous" : httpCookie.Values["username"]);
                //cookieAnswer.Expires = DateTime.Now.AddDays(365);
                //Response.Cookies.Add(cookieAnswer);
                _unitOfWork.AnswerResponseRepository.Insert(ansResponseModel);
                _unitOfWork.Save();
                return(Json(new { Result = "success", Count = count }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                Elmah.ErrorSignal.FromCurrentContext().Raise(ex);
                return(Json(new { Result = "failed" }, JsonRequestBehavior.AllowGet));
            }
        }
            public static async Task <AnswerResponseModel> SubmitAnswer(string Id, string questionId, string answerId)
            {
                var sb = new StringBuilder();

                sb.Append("{");
                sb.Append("  \"userId\": \"" + Id + "\",");
                sb.Append("  \"questionId\": \"" + questionId + "\",");
                sb.Append("  \"answerId\": \"" + answerId + "\"");
                sb.Append("}");

                var response = await httpClient.PostAsync(apiEndPoint + "/api/trivia/answer",
                                                          new StringContent(sb.ToString(), Encoding.UTF8, "application/json"));

                //response.EnsureSuccessStatusCode();

                string respJson = await response.Content.ReadAsStringAsync();

                AnswerResponseModel jObj = JsonConvert.DeserializeObject <AnswerResponseModel>(respJson);

                return(jObj);
            }