2023-04-16 22:36:22 +04:00
|
|
|
|
using ForumContracts.BindingModels;
|
|
|
|
|
using ForumContracts.ViewModels;
|
|
|
|
|
using ForumDataModels.Models;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.ComponentModel.DataAnnotations;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Reflection;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
namespace ForumDatabaseImplement.Models
|
|
|
|
|
{
|
|
|
|
|
public class Answer : IAnswerModel
|
|
|
|
|
{
|
|
|
|
|
[Required]
|
|
|
|
|
public DateTime ResponseDate { get; set; } = DateTime.Now;
|
|
|
|
|
|
|
|
|
|
public int QuestionId { get; set; }
|
|
|
|
|
|
|
|
|
|
public int UserId { get; set; }
|
|
|
|
|
|
|
|
|
|
public int Id { get; set; }
|
|
|
|
|
|
|
|
|
|
[Required]
|
|
|
|
|
public string AnswerDes { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
|
|
public virtual User User { get; set; }
|
|
|
|
|
|
|
|
|
|
public virtual Question Question { get; set; }
|
|
|
|
|
|
|
|
|
|
public static Answer? Create(AnswerBindingModel model)
|
|
|
|
|
{
|
|
|
|
|
if (model == null)
|
|
|
|
|
{
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
return new Answer()
|
|
|
|
|
{
|
|
|
|
|
Id = model.Id,
|
|
|
|
|
ResponseDate = model.ResponseDate,
|
|
|
|
|
UserId = model.UserId,
|
|
|
|
|
QuestionId = model.QuestionId,
|
|
|
|
|
AnswerDes = model.AnswerDes
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
public static Answer Create(AnswerViewModel model)
|
|
|
|
|
{
|
|
|
|
|
return new Answer
|
|
|
|
|
{
|
|
|
|
|
Id = model.Id,
|
|
|
|
|
UserId = model.UserId,
|
|
|
|
|
QuestionId = model.QuestionId,
|
|
|
|
|
ResponseDate = model.ResponseDate,
|
|
|
|
|
AnswerDes = model.AnswerDes
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
public void Update(AnswerBindingModel model)
|
|
|
|
|
{
|
|
|
|
|
if (model == null)
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
UserId = model.UserId;
|
|
|
|
|
QuestionId = model.QuestionId;
|
|
|
|
|
ResponseDate = model.ResponseDate;
|
|
|
|
|
AnswerDes = model.AnswerDes;
|
|
|
|
|
}
|
|
|
|
|
public AnswerViewModel GetViewModel => new()
|
|
|
|
|
{
|
2023-04-30 18:54:20 +04:00
|
|
|
|
AuthorAnswer= User?.Nickname ?? string.Empty,
|
|
|
|
|
QuestionCreateDate =Question?.CreateDate ?? DateTime.Now,
|
|
|
|
|
QuestionText = Question?.QuestionDes ?? string.Empty,
|
2023-04-16 22:36:22 +04:00
|
|
|
|
Id = Id,
|
|
|
|
|
ResponseDate = ResponseDate,
|
|
|
|
|
UserId = UserId,
|
|
|
|
|
QuestionId = QuestionId,
|
|
|
|
|
AnswerDes = AnswerDes
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
}
|