Пример #1
0
        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));
 }