public ContestScore(Contest contest, IDbSet<Participant> participantList) { _contest = contest; ContestName = contest.Name; ParticipantList = participantList; AddParticipantScores(); }
public ActionResult Create(Contest contest) { if (ModelState.IsValid){ _db.Contests.Add(contest); _db.SaveChanges(); return RedirectToAction("Index"); } return View(contest); }
public void SetUp() { _contextMock = new Mock<IDbContext>(); _controller = new ScoresController(_contextMock.Object); ICollection<Assignment> col = new Collection<Assignment>(); var ass = new Assignment { Id = 1, Title = "Test", Scores = new Collection<Score>() }; var participant = new Participant { Id = 1, Email = "vin" }; ass.Scores.Add(new Score { Assignment = ass, Id = 1, IsCorrectOutput = true, Participant = participant, TimeSpent = 199 }); col.Add(ass); Contest cont = new Contest{ Assignments = col, Id = 1, IsActive = true, Name = "Contest A" } ; _scoreCalc = new ParticipantScore(cont, participant); FakeDbSet<Contest> condb = new FakeDbSet<Contest>(); condb.Add(cont); FakeDbSet<Participant> pardb = new FakeDbSet<Participant>(); pardb.Add(participant); _leaderboard = new Leaderboard(condb, pardb); }
private void SetScore(Contest contest, int id) { var assignmentsMade = 0; var assignmentsCompleted = 0; var totalTime = 0.0; foreach (var assignment in contest.Assignments) foreach (var score in assignment.Scores) if (id == score.Participant.Id) { assignmentsMade++; totalTime += score.TimeSpent; if (score.IsCorrectOutput) assignmentsCompleted++; } AssignmentsMade = assignmentsMade; AssignmentsCompleted = assignmentsCompleted; AverageTime = totalTime / assignmentsMade + 0.0; CompletePercentage = CalculateCompletePercentage(assignmentsMade, assignmentsCompleted); }
public ParticipantScore(Contest contest, Participant participant) { Email = participant.Email; Name = participant.Name; Functie = participant.Functie; SetScore(contest, participant.Id); }
public ActionResult Edit(Contest contest) { if (ModelState.IsValid){ Contest contestdel = _db.Contests.Find(contest.Id); _db.Contests.Remove(contestdel); _db.Contests.Add(contest); _db.SaveChanges(); return RedirectToAction("Index"); } return View(contest); }