public async Task <bool> UpdateExistingRoundAsync(Round round, IDataStore dataStore, string userGettingRound, string roundNotes) { var roundDoneBy = await dataStore.GetUserBySimpleIdAsync(userGettingRound); if (roundDoneBy == null) { return(false); } var roundDetail = new RoundDetail { Id = Guid.NewGuid(), CreatedUtc = DateTime.UtcNow, RoundNotes = roundNotes, Round = round, RoundBy = new RoundUser { Id = Guid.NewGuid(), User = roundDoneBy } }; await dataStore.CreateAsync(roundDetail); var updatedUsers = await UpdateUsersFromNewRound(round, dataStore); updatedUsers.ForEach(x => dataStore.UpdateAsync(x)); return(true); }
public ActionResult PostScorecard([Bind(Exclude = "RoundDetailId")] Scorecard scorecard) { if (ModelState.IsValid) { int totalScore = 0; for (int i = 0; i < scorecard.Details.Count; i++) { var detail = new RoundDetail(); detail.RoundDetailId = db.RoundDetails.Max(x => x.RoundDetailId) + 1; detail.RoundId = scorecard.Round.RoundId; detail.HoleId = scorecard.Holes[i].HoleId; detail.Score = scorecard.Details[i].Score; detail.Putts = scorecard.Details[i].Putts; detail.GIR = scorecard.Details[i].GIR; detail.FIR = scorecard.Details[i].FIR; totalScore += Convert.ToInt32(detail.Score); db.RoundDetails.Add(detail); db.SaveChanges(); } Round round = db.Rounds.Find(scorecard.Round.RoundId); round.RoundId = round.RoundId; round.TotalScore = totalScore; db.SaveChanges(); return(RedirectToAction("Index", "RoundDetails")); } return(View(scorecard)); }
public ActionResult Save(Round round) { if (!ModelState.IsValid) { var viewModel = new RoundViewModel { Categories = _context.Categories.ToList(), Round = round }; } _context.Rounds.Add(round); _context.SaveChanges(); //Prepare details for candidates var lastRound = _context.Rounds.OrderByDescending(r => r.Id).FirstOrDefault(); var candidates = _context.Candidates .Where(r => r.CandidacyId == lastRound.CandidacyId && r.Period == lastRound.Period) .ToList(); foreach (var c in candidates) { var roundDetail = new RoundDetail(); roundDetail.IdHeader = lastRound.Id; roundDetail.CandidateId = c.Id; roundDetail.Votes = 0; _context.RoundsDetail.Add(roundDetail); } _context.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult DeleteConfirmed(int id) { RoundDetail roundDetail = db.RoundDetails.Find(id); db.RoundDetails.Remove(roundDetail); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "RoundDetailId,RoundId,HoleId,Score,Putts,GIR,FIR")] RoundDetail roundDetail) { if (ModelState.IsValid) { db.Entry(roundDetail).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.RoundId = new SelectList(db.Rounds, "RoundId", "RoundId", roundDetail.RoundId); return(View(roundDetail)); }
// GET: RoundDetails/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } RoundDetail roundDetail = db.RoundDetails.Find(id); if (roundDetail == null) { return(HttpNotFound()); } return(View(roundDetail)); }
// GET: RoundDetails/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } RoundDetail roundDetail = db.RoundDetails.Find(id); if (roundDetail == null) { return(HttpNotFound()); } ViewBag.RoundId = new SelectList(db.Rounds, "RoundId", "RoundId", roundDetail.RoundId); return(View(roundDetail)); }