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); }