void UpdateSessionResult(int sessionId) { var query = from v in voteRepository.Entities where v.Points > 0 && v.SessionId == sessionId group v by v.Session into s select new ListSessionVotingModel() { Id = s.Key.Id, Name = s.Key.Name, SpeakerId = s.Key.Speaker.Id, SpeakerFirstName = s.Key.Speaker.FirstName, SpeakerLastName = s.Key.Speaker.LastName, Duration = s.Key.Duration, Points = s.Sum(v => v.Points) }; var querycCount = from v in voteRepository.Entities where v.Points > 0 group v by v.Session into s select new ListSessionVotingModel() { Id = s.Key.Id, }; var sessionCount = querycCount.Count(); var result = query.SingleOrDefault(); if (result == null) { result = new ListSessionVotingModel { Id = sessionId, Points = 0 }; } var context = GlobalHost.ConnectionManager.GetHubContext<VotingResultHub>(); context.Clients.All.updateSession(new { Sessions = new[] { result }, SessionCount = sessionCount, Voters = GetSessionVoters() }); }
public void updateSession(ListSessionVotingModel model) { Clients.All.updateSession(model); }