public RatingValue?RatingFor(StepExercise stepExercise) { var ratings = ExerciseRatings.Where(p => p.StepExercise.Id == stepExercise.Id).ToList(); if (ratings.Count == 0) { return(null); } return((RatingValue)Math.Floor((decimal)ratings.Sum(p => (int)p.RatingValue) / ratings.Count())); }
public ActionResult EditStepExercise(ManageStepExerciseViewModel model) { if (!ModelState.IsValid) { return(View(model)); } StepExercise stepExercise = null; if (model.Id != null) { stepExercise = Db.StepExercises.FirstOrDefault(p => p.Id == model.Id); if (stepExercise != null) { stepExercise.Name = model.Name; stepExercise.Description = model.Description; } } else { var currentUserId = User.Identity.GetUserId(); RoadStep roadStep = null; if (model.RoadStepId != null) { roadStep = Db.RoadSteps.FirstOrDefault(p => p.Id == model.RoadStepId); } stepExercise = new StepExercise(model.Name, model.Description, currentUserId, roadStep); Db.StepExercises.Add(stepExercise); } Db.SaveChanges(); return(RedirectToAction("EditRoadStep", new { @id = model.RoadStepId })); }