BgEngine.Controllers.RatingController.SetRating C# (CSharp) Метод

SetRating() приватный Метод

private SetRating ( Rating rating ) : System.Web.Mvc.JsonResult
rating BgEngine.Domain.EntityModel.Rating
Результат System.Web.Mvc.JsonResult
        public JsonResult SetRating(Rating rating)
        {
            if (Request.Cookies["rating_" + rating.PostId.ToString()] != null)
            {
                double storedrating = Double.Parse(Request.Cookies["rating_" + rating.PostId.ToString()].Value);
                Rating oldrating = RatingServices.FindAllEntities(r => r.PostId == rating.PostId && r.Value == storedrating,null,null).FirstOrDefault();
                if (oldrating != null)
                {
                    RatingServices.DeleteEntity(oldrating);
                }
                RatingServices.AddEntity(rating);
                Response.Cookies["rating_" + rating.PostId.ToString()].Value = rating.Value.ToString();
                Response.Cookies["rating_" + rating.PostId.ToString()].Expires = DateTime.Now.AddYears(5);
            }
            else
            {
                HttpCookie cookie = new HttpCookie("rating_" + rating.PostId.ToString(), rating.Value.ToString());
                cookie.Expires = DateTime.Now.AddYears(5);
                Response.Cookies.Add(cookie);
                RatingServices.AddEntity(rating);
            }
            int totalvotes = RatingServices.FindAllEntities(r => r.PostId == rating.PostId,null,null).Count();
            double average = RatingServices.FindAllEntities(r => r.PostId == rating.PostId,null,null).Average(s => s.Value);
            double roundedaverage = Math.Round(average,1);
            return Json(new { roundedaverage, totalvotes });
        }