From cce3ea2645c9d4735925872acce8936e1b81fa75 Mon Sep 17 00:00:00 2001 From: shept Date: Wed, 16 Apr 2025 16:42:56 +0500 Subject: [PATCH] added more question variants --- SurveyLib.Core/Models/AnswerVariant.cs | 10 ++++++++++ SurveyLib.Core/Models/MultipleAnswerQuestion.cs | 6 ++++++ SurveyLib.Core/Models/QuestionBase.cs | 2 ++ SurveyLib.Core/Models/SingleAnswerQuestion.cs | 6 ++++++ SurveyLib.Core/Models/TextQuestion.cs | 5 +++++ .../Data/SurveyDbContext.cs | 6 +++++- 6 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 SurveyLib.Core/Models/AnswerVariant.cs create mode 100644 SurveyLib.Core/Models/MultipleAnswerQuestion.cs create mode 100644 SurveyLib.Core/Models/SingleAnswerQuestion.cs create mode 100644 SurveyLib.Core/Models/TextQuestion.cs diff --git a/SurveyLib.Core/Models/AnswerVariant.cs b/SurveyLib.Core/Models/AnswerVariant.cs new file mode 100644 index 0000000..9806dd5 --- /dev/null +++ b/SurveyLib.Core/Models/AnswerVariant.cs @@ -0,0 +1,10 @@ +namespace SurveyLib.Core.Models; + +public class AnswerVariant +{ + public int Id { get; set; } + public int QuestionId { get; set; } + public string Text { get; set; } + + public QuestionBase Question { get; set; } +} \ No newline at end of file diff --git a/SurveyLib.Core/Models/MultipleAnswerQuestion.cs b/SurveyLib.Core/Models/MultipleAnswerQuestion.cs new file mode 100644 index 0000000..ec4349c --- /dev/null +++ b/SurveyLib.Core/Models/MultipleAnswerQuestion.cs @@ -0,0 +1,6 @@ +namespace SurveyLib.Core.Models; + +public class MultipleAnswerQuestion : QuestionBase +{ + public ICollection AnswerVariants { get; set; } +} \ No newline at end of file diff --git a/SurveyLib.Core/Models/QuestionBase.cs b/SurveyLib.Core/Models/QuestionBase.cs index 4f2f581..2ca4fa0 100644 --- a/SurveyLib.Core/Models/QuestionBase.cs +++ b/SurveyLib.Core/Models/QuestionBase.cs @@ -6,6 +6,8 @@ public class QuestionBase public int SurveyId { get; set; } public string Title { get; set; } + public string Discriminator { get; set; } + public Survey Survey { get; set; } public ICollection Answers { get; set; } } \ No newline at end of file diff --git a/SurveyLib.Core/Models/SingleAnswerQuestion.cs b/SurveyLib.Core/Models/SingleAnswerQuestion.cs new file mode 100644 index 0000000..d99abe9 --- /dev/null +++ b/SurveyLib.Core/Models/SingleAnswerQuestion.cs @@ -0,0 +1,6 @@ +namespace SurveyLib.Core.Models; + +public class SingleAnswerQuestion : QuestionBase +{ + public ICollection AnswerVariants { get; set; } +} \ No newline at end of file diff --git a/SurveyLib.Core/Models/TextQuestion.cs b/SurveyLib.Core/Models/TextQuestion.cs new file mode 100644 index 0000000..ad05932 --- /dev/null +++ b/SurveyLib.Core/Models/TextQuestion.cs @@ -0,0 +1,5 @@ +namespace SurveyLib.Core.Models; + +public class TextQuestion : QuestionBase +{ +} \ No newline at end of file diff --git a/SurveyLib.Infrastructure.EFCore/Data/SurveyDbContext.cs b/SurveyLib.Infrastructure.EFCore/Data/SurveyDbContext.cs index 5a287c0..f4023de 100644 --- a/SurveyLib.Infrastructure.EFCore/Data/SurveyDbContext.cs +++ b/SurveyLib.Infrastructure.EFCore/Data/SurveyDbContext.cs @@ -6,12 +6,16 @@ namespace SurveyLib.Infrastructure.EFCore.Data; public class SurveyDbContext : DbContext { public DbSet Surveys { get; set; } + public DbSet Questions { get; set; } + public DbSet SingleAnswerQuestions { get; set; } + public DbSet MultipleAnswerQuestions { get; set; } + public DbSet TextQuestions { get; set; } + public DbSet Completions { get; set; } public DbSet Answers { get; set; } public SurveyDbContext(DbContextOptions options) : base(options) { - } } \ No newline at end of file