public int StarOrUnstar(Guid projectId, string userId) { Guard.WhenArgument(projectId, "projectId").IsEmptyGuid().Throw(); Guard.WhenArgument(userId, "userId").IsNullOrEmpty().Throw(); var project = this.projectsRepo.GetById(projectId); if (project != null) { var projectStar = project.Stars.FirstOrDefault(s => s.UserId == userId); if (projectStar != null) { project.Stars.Remove(projectStar); this.projectStarsRepo.Delete(projectStar); return(project.Stars.Count); } else { projectStar = new ProjectStar() { Id = Guid.NewGuid(), ProjectId = projectId, UserId = userId }; project.Stars.Add(projectStar); return(project.Stars.Count); } } return(-1); }
public ActionResult AddStar5(int id) { string loggedUserId = User.Identity.GetUserId(); ProjectStar projectStar = db.ProjectStars.Where(x => x.ProjectID == id && x.ApplicationUserID == loggedUserId).FirstOrDefault(); if (projectStar == null) { projectStar = new ProjectStar(); projectStar.ApplicationUserID = User.Identity.GetUserId(); projectStar.ProjectID = id; projectStar.Star = 5; db.ProjectStars.Add(projectStar); db.SaveChanges(); } else { projectStar.Star = 5; db.SaveChanges(); } return(RedirectToAction("Project", "Home", new { id = id })); }