public ActionResult DelRate(RatingViewModel s) { foreach (Rating r in db.Ratings) { if (r.UserId == s.UserId && r.WorkerId == Convert.ToInt32(s.WorkerId)) { db.Ratings.Remove(r); break; } } db.SaveChanges(); return GetRate(s); }
public ActionResult GetRate(RatingViewModel s) { lock (locker) { bool t = false; List<Rating> ratingLst = db.Ratings.ToList(); foreach (Rating r in ratingLst) { if (r.UserId == s.UserId && r.WorkerId == Convert.ToInt32(s.WorkerId)) { t = true; } } if (t == true) { double res = 0; int i = 0; foreach (Rating f in db.Ratings) { if (f.WorkerId == Convert.ToInt32(s.WorkerId)) { res += f.Mark; i++; } } res = Math.Round(res / i, 1); s.Mark = Convert.ToString(res); } else { s.Mark = "-1"; } string q = ""; for (int i = 0; i < s.Mark.Length; i++) { if (s.Mark[i] == ',') { q += '.'; } else { q += s.Mark[i]; } } s.Mark = q; return Json(s, JsonRequestBehavior.AllowGet); } return new EmptyResult(); }
public ActionResult AddRate(RatingViewModel s) { lock (locker) { bool IsNew = true; int rateId = -1; List<Rating> ratingLst = db.Ratings.ToList(); foreach (Rating r in ratingLst) { if (r.UserId == s.UserId && r.WorkerId == Convert.ToInt32(s.WorkerId)) { IsNew = false; rateId = r.Id; break; } } string w = ""; for (int i = 0; i < s.Mark.Length; i++) { if (s.Mark[i] == '.') { w += ','; } else { w += s.Mark[i]; } } s.Mark = w; if(IsNew) { Rating rat = new Rating(); rat.UserId = s.UserId; rat.WorkerId = Convert.ToInt32(s.WorkerId); rat.Mark = Convert.ToDouble(s.Mark); db.Ratings.Add(rat); } else if(!IsNew) { db.Ratings.Find(rateId).Mark = Convert.ToDouble(s.Mark); } db.SaveChanges(); return GetRate(s); } return new EmptyResult(); }