public FlaggedSetLink(SetLink setLink, int numFlags, Player winner, Player loser) { this.setLink = setLink; this.numFlags = numFlags; this.winner = winner; this.loser = loser; }
public ActionResult FlaggedSets() { if (!(isAdmin || isMod)) { return(RedirectToAction("Index")); } var flaggedSets = getCharacterFlaggedSets(); var linkFlags = (from slf in db.SetLinkFlags group slf by slf.SetLinkID into g select g); var linkFlaggedSets = new Dictionary <Set, List <FlaggedSetLink> >(); foreach (var lf in linkFlags) { int setLinkId = lf.Key; SetLink setLink = db.SetLinks.Find(setLinkId); Set set = db.Sets.Find(setLink.SetID); Player winner = db.Players.Find(set.WinnerID); Player loser = db.Players.Find(set.LoserID); int count = lf.Count(); if (!linkFlaggedSets.ContainsKey(set)) { linkFlaggedSets[set] = new List <FlaggedSetLink>(); } linkFlaggedSets[set].Add(new FlaggedSetLink(setLink, count, winner, loser)); } db.Dispose(); return(View(new FlaggedSetsViewModel(flaggedSets, linkFlaggedSets))); }
public ActionResult AddVideoLink(int setId) { int userId = Convert.ToInt32(Session["userId"]); if (userId <= 0) { var loggedOutJson = new { response = "Must be logged in to flag sets." }; return(Json(loggedOutJson)); } string videoURL = Request["url"]; string videoTitle = Request["title"]; if (String.IsNullOrWhiteSpace(videoURL)) { var missingJson = new { response = "Please enter a complete url." }; return(Json(missingJson)); } if (String.IsNullOrWhiteSpace(videoTitle)) { var missingJson = new { response = "Please enter a short description." }; return(Json(missingJson)); } if (!URLHelper.validateURL(videoURL)) { var invalidLinkJson = new { response = "Please input a valid link." }; return(Json(invalidLinkJson)); } if (!canUserAddLinks(userId)) { var userErrorJson = new { response = "Sorry, something went wrong. Please try again later." }; return(Json(userErrorJson)); } SetLink newLink = new SetLink(); newLink.Deleted = false; newLink.SetID = setId; newLink.Title = videoTitle; newLink.URL = videoURL; newLink.UserID = userId; db.SetLinks.Add(newLink); db.SaveChanges(); var json = new { response = "Successfully added! Thank you :D" }; return(Json(json)); }