public ActionResult Complete(string thingID) { if (AccountHelper.CurrentUser.Threads.All(t => t.ThingID != thingID)) { return RedirectToAction("Me", "Account"); } var cpm = new CompletePiFModel { ThingID = AccountHelper.CurrentUser.Threads.Single(t => t.ThingID == thingID) .ThingID }; ViewData["ThreadUsers"] = cpm.ThreadUserList(cpm.ThingID); var db = new PiFDbDataContext(); SessionCompleteGamesRepository.Clear(); foreach (var tg in AccountHelper.CurrentUser.Threads.Single(t => t.ThingID == thingID).ThreadGames) { User user = db.Users.SingleOrDefault(u => u.id == tg.WinnerID); SessionCompleteGamesRepository.Insert( new CompletePiFModel(tg, user != null ? user.Username : string.Empty)); } return View(cpm); }
public static void Delete(CompletePiFModel game) { CompletePiFModel target = One(p => p.ID == game.ID); if (target != null) { All().Remove(target); } }
public ActionResult CggDelete([DataSourceRequest] DataSourceRequest request, CompletePiFModel game) { // Delete the record SessionCompleteGamesRepository.Delete(game); // Rebind the grid return Json(ModelState.ToDataSourceResult()); }
public ActionResult Complete(CompletePiFModel model) { Thread thread = AccountHelper.CurrentUser.Threads.SingleOrDefault(t => t.ThingID == model.ThingID); if (thread == null) { return RedirectToAction("Me", "Account"); } if (ModelState.IsValid) { var db = new PiFDbDataContext(); thread = db.Threads.Single(t => t.ThingID == model.ThingID); db.ThreadGames.DeleteAllOnSubmit(thread.ThreadGames); var newUsers = new List<User>(); foreach (var pifgame in SessionCompleteGamesRepository.All()) { for (int i = 1; i <= pifgame.Count; i++) { if (pifgame.WinnerUserName == string.Empty) { ModelState.AddModelError("Winner", "All entries must have a winner selected"); break; } User user = db.Users.SingleOrDefault(u => u.Username == pifgame.WinnerUserName); if (user == null && newUsers.Exists(u => u.Username == pifgame.WinnerUserName)) { user = newUsers.Single(u => u.Username == pifgame.WinnerUserName); } if (user == null) { user = new User { Username = pifgame.WinnerUserName, RecordCreatedDate = DateTime.UtcNow }; db.Users.InsertOnSubmit(user); newUsers.Add(user); } var tg = new ThreadGame { ThreadID = thread.id, GameID = pifgame.ID, User = user }; db.ThreadGames.InsertOnSubmit(tg); } if (!ModelState.IsValid) { break; } } if (ModelState.IsValid) { db.SubmitChanges(); return RedirectToAction("View", "PiF", new { thread.ThingID }); } } return View(model); }
public ActionResult CggCreate([DataSourceRequest] DataSourceRequest request, CompletePiFModel game) { // FIXME: add code to verify user exists on reddit if they are not in our DB // Rebind the grid if (game != null && ModelState.IsValid) { SessionCompleteGamesRepository.Insert(game); } return Json(new[] { game }.ToDataSourceResult(request, ModelState)); }
/// <summary>Insert a game into the table.</summary> /// <param name="game">The game object to insert.</param> public static void Insert(CompletePiFModel game) { All().Insert(0, game); }
public ActionResult CggUpdate([DataSourceRequest] DataSourceRequest request, CompletePiFModel game) { // CompletePiFModel game = SessionCompleteGamesRepository.One(p => p.ID == id); TryUpdateModel(game); return Json(ModelState.ToDataSourceResult()); }