public ApplicationStatsViewModel GetStatsFromApplication(Application app, string competition, User usr) { var tipurl = GetTipUrl(app.RewardWallet); var votes = _context.Votes.Where(r => r.ApplicationId == app.ApplicationId).ToList().Count; var voteState = VoteState.NotVoted; if (usr != null) { var vote = _context.Votes.Where(r => r.VoterUserId == usr.UId && r.CompetitionId == competition).ToList(); if (vote.Count == 1) { voteState = vote[0].ApplicationId == app.ApplicationId ? VoteState.VotedForThis : VoteState.NotVotedForThis; } } var stat = new ApplicationStatsViewModel() { ImageName = app.ImagePath, ImageHeight = app.ImageHeight, ImageWidth = app.ImageWidth, TipUrl = tipurl, Votes = votes, Title = app.Title, CreatedAt = app.ApplicationTime, VoteState = voteState, ApplicationId = app.ApplicationId }; return(stat); }
public async Task <IViewComponentResult> InvokeAsync(ApplicationStatsViewModel model) { return(View(model)); }