private void AddEvaluation(HttpContext CurrentContext) { if (CurrentUser == null) { CurrentContext.Response.Write(GetJsonResult(false, "请先登录!")); return; } NewsEvaluationModelBll bll = new NewsEvaluationModelBll(); int NewsID = Convert.ToInt32(CurrentContext.Request["nid"]); int Value = Convert.ToInt32(CurrentContext.Request["val"]); if (NewsID == 0 || Value == 0) { CurrentContext.Response.Write(GetJsonResult(false, "参数错误!")); return; } if(bll.Exists(NewsID,GetUserID())) { CurrentContext.Response.Write(GetJsonResult(false, "您已经评价过了,谢谢!")); return; } try { NewsEvaluationModel model = new NewsEvaluationModel() { NewsID = NewsID, UserID = GetUserID(), Evaluation = Value, InsertTime = DateTime.Now }; bll.Add(model); CurrentContext.Response.Write(GetJsonResult(true, String.Empty)); } catch (Exception ex) { CurrentContext.Response.Write(GetJsonResult(false, ex.Message)); } }
private void GetEvaluation(HttpContext CurrentContext) { NewsEvaluationModelBll bll = new NewsEvaluationModelBll(); int NewsID = Convert.ToInt32(CurrentContext.Request["nid"]); if (NewsID == 0) { CurrentContext.Response.Write(GetJsonResult(false, "参数错误!")); return; } DataTable dt = bll.StatisticList(NewsID); int Sum = 0; foreach (DataRow row in dt.Rows) Sum += Convert.ToInt32(row["evaluationcount"]); StringBuilder result = new StringBuilder(); StringWriter sw = new StringWriter(result); JsonWriter writer = new JsonWriter(sw); writer.Formatting = Formatting.Indented; writer.WriteStartObject(); WriteJsonKeyValue(writer, "sum", Sum.ToString()); writer.WritePropertyName("items"); writer.WriteStartArray(); foreach (DataRow row in dt.Rows) { writer.WriteStartObject(); WriteJsonKeyValue(writer, "evaluation", row["evaluation"].ToString()); WriteJsonKeyValue(writer, "count", row["evaluationcount"].ToString()); WriteJsonKeyValue(writer, "percentage", Sum == 0 ? "0" : Convert.ToDouble((Convert.ToInt32(row["evaluationcount"]) * 100) / Sum).ToString("00")); writer.WriteEndObject(); } writer.WriteEndArray(); writer.WriteEndObject(); writer.Close(); CurrentContext.Response.Write("("+result.ToString()+")"); }