You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.01-QCM_MuscuMaths/WebApi/Model/Answer.cs

58 lines
1.7 KiB

using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Model
{
/// <summary>
/// define an answer for a Question with Mutiple Choice
/// attributes :
/// id : identifier in the database
/// content : content of the answer
/// idQuestion : the id of the question which it answer to
/// question : the question which it answer to
/// </summary>
public class Answer
{
private uint id;
private string? content;
private uint idQuestion;
public Question? question;
// getters and setters for attributes
public uint Id
{
get => id;
private set { id = value; }
}
public string Content
{
get => content == null ? "" : content;
set { content = value == "" ? null : value; }
}
public uint IdQuestion
{
get => idQuestion; // null = no idQuestion
private set { idQuestion = value; }
}
public Question? Question
{
get => question;
private set { question = value; IdQuestion = value == null ? 0 : value.Id; }
}
/// <summary>
/// constructor of an answer
/// </summary>
/// <param name="content">the content of the answer</param>
/// <param name="id">the id in the database</param>
/// <param name="question">the question which it answer to</param>
public Answer(string content, Question? question = null, uint id = 0)
{
Content = content;
Id = id;
Question = question;
}
}
}