Я делаю онлайн-опрос, прямо сейчас мне нужно посчитать, сколько повторных ответов есть, я хочу показать что-то вроде этого: " Ответ # 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; }
}