Ejemplo n.º 1
0
 public async Task <ICollection <Answer> > FindAnswersforQuestionById(int id)
 {
     return(await dbcontext.Answers
            .Where(a => a.QuestionId == id)
            .Include(a => a.User)
            .Include(a => a.Moderator)
            .Select(a => DbMapper.MapDbAnswer(a)).ToListAsync());
 }
Ejemplo n.º 2
0
 public async Task <Answer> FindById(int id)
 {
     return(DbMapper.MapDbAnswer(
                await dbcontext.Answers
                .Include(a => a.User)
                .Include(a => a.Moderator)
                .FirstOrDefaultAsync(a => a.Id == id)));
 }
Ejemplo n.º 3
0
        private async Task <Answer> AddAnswerToDbQuestion(DbQuestion question, Answer answer)
        {
            var      now      = DateTime.Now;
            DbAnswer dbAnswer = new DbAnswer()
            {
                Content     = answer.Content,
                Created     = now,
                LastUpdated = now,
                Type        = answer.Type,
            };
            var user = await dbcontext.Users.SingleOrDefaultAsync(u => u.UserName == answer.Author);

            if (question == null || user == null)
            {
                return(null);
            }
            dbAnswer.Question = question;
            dbAnswer.User     = user;
            await dbcontext.Answers.AddAsync(dbAnswer);

            return(DbMapper.MapDbAnswer(dbAnswer));
        }
Ejemplo n.º 4
0
        public async Task <Answer> Update(Answer answer, bool updateTime = true)
        {
            var ans = await dbcontext.Answers.FirstAsync(a => a.Id == answer.Id);

            ans.Content = answer.Content;
            if (updateTime)
            {
                ans.LastUpdated = DateTime.Now;
            }
            var user = await dbcontext.Users.FirstOrDefaultAsync(u => u.UserName == answer.Author);

            if (user != null)
            {
                ans.User = user;
            }
            var moderator = await dbcontext.Users.FirstOrDefaultAsync(u => u.UserName == answer.Moderator);

            ans.Type             = answer.Type;
            ans.Moderator        = moderator;
            ans.ModeratorMessage = answer.ModeratorMessage;
            await dbcontext.SaveChangesAsync();

            return(DbMapper.MapDbAnswer(ans));
        }