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.
58 lines
1.7 KiB
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;
|
|
}
|
|
|
|
}
|
|
}
|