Как считать повторные ответы - PullRequest
0 голосов
/ 17 мая 2018

Я делаю онлайн-опрос, прямо сейчас мне нужно посчитать, сколько повторных ответов есть, я хочу показать что-то вроде этого: " Ответ # 1 имеет X голосов " и так далее. Прямо сейчас мой взгляд генерируется по умолчанию. Мой контроллер:

 public async Task<ActionResult> Results(Vote vote, Answer answer)
    {
        using (var poolDbContext = new PoolContext())
        {

            var Answer = poolDbContext.Answers.AsNoTracking().FirstOrDefault(a => a.Id == a.Id);
            var Question = await poolDbContext.Questions.Include(A => A.Answers).AsNoTracking().SingleOrDefaultAsync(r => r.Id == r.Id);
            var Vote = poolDbContext.Votes.AsNoTracking().FirstOrDefault(a => a.Id == a.Id);
            answer.Votes = poolDbContext.Votes.ToList();

            answer.Text =  Answer.Text;
            answer.QuestionId = Question.Id;
            answer.Id = Answer.Id;
            vote.AnswerId = Answer.Id;
            vote.Id = Vote.Id;
            vote.IpAdress = Vote.IpAdress;
            vote.VoteDate = Vote.VoteDate;

            return View(vote);
        }
    }

мои модели:

public class Answer
{
    public int Id { get; set; }
    public string Text { get; set; }
    public int QuestionId { get; set; }
    public List<Vote> Votes { get; set; }
    public Answer()
    {
        Votes = new List<Vote>();
    }
}
public class Question
{
    public Question()
    {
        Answers = new List<Answer>();
    }
    public int Id { get; set; }
    public string Text { get; set; }
    public virtual List<Answer> Answers { get; set; }
    public DateTime StartDate { get; set; }
    public DateTime EndDate { get; set; }
    public Boolean Active { get; set; }
    public string SelectedAnswer { set; get; }
}
 public class Vote
{
    public int Id { get; set; }
    public string IpAdress { get; set; }
    public DateTime VoteDate { get; set; }
    public int AnswerId { get; set; }

}

1 Ответ

0 голосов
/ 22 мая 2018
<div>
    <h4>Vote</h4>
    <hr />
    <dl class="dl-horizontal">
        @Model.Text

        @foreach (var answer in Model.Answers)
        {
            <br />
            <label>
                @answer.Text:   @answer.Votes.Count();
            </label>
        }
    </dl>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...