parent
35e33f14fc
commit
944c620e80
@ -0,0 +1,24 @@
|
|||||||
|
using WF_WebAdmin.Model;
|
||||||
|
|
||||||
|
namespace WF_WebAdmin.Service
|
||||||
|
{
|
||||||
|
public interface IQuizService
|
||||||
|
{
|
||||||
|
public Task addQuiz(Quiz quiz);
|
||||||
|
|
||||||
|
public Task updateQuiz(Quiz quiz);
|
||||||
|
|
||||||
|
public Task removeQuiz(int id);
|
||||||
|
|
||||||
|
public Task validateQuiz(int id);
|
||||||
|
|
||||||
|
public Task<List<Quiz>> getQuizzes();
|
||||||
|
|
||||||
|
public Task<List<Quiz>> getQuizzesToValidate();
|
||||||
|
|
||||||
|
public Task<Quiz> getQuiz(int id);
|
||||||
|
|
||||||
|
public Task<int> getNbQuiz();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
|||||||
|
using WF_WebAdmin.Model;
|
||||||
|
|
||||||
|
namespace WF_WebAdmin.Service
|
||||||
|
{
|
||||||
|
public interface IQuizServiceJson
|
||||||
|
{
|
||||||
|
public Task<List<Quiz>> getQuizzesJson();
|
||||||
|
|
||||||
|
public Task<List<Quiz>> getQuizzesToValidateJson();
|
||||||
|
|
||||||
|
public Task removeQuizJson(int id);
|
||||||
|
|
||||||
|
public Task updateQuizJson(Quiz quiz);
|
||||||
|
|
||||||
|
public Task saveQuizJson(List<Quiz> quiz);
|
||||||
|
}
|
||||||
|
}
|
@ -1,25 +0,0 @@
|
|||||||
using WF_WebAdmin.Model;
|
|
||||||
|
|
||||||
namespace WF_WebAdmin.Service;
|
|
||||||
|
|
||||||
public class QuizService
|
|
||||||
{
|
|
||||||
public List<Quiz> GetQuizToConfirm()
|
|
||||||
{
|
|
||||||
var res = new List<Quiz>();
|
|
||||||
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool AddQuiz(Quiz quiz)
|
|
||||||
{
|
|
||||||
var res = false;
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool RemoveQuiz(Quiz quiz)
|
|
||||||
{
|
|
||||||
var res = false;
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
}
|
|
@ -0,0 +1,63 @@
|
|||||||
|
using System.Text.Json;
|
||||||
|
using WF_WebAdmin.Model;
|
||||||
|
|
||||||
|
namespace WF_WebAdmin.Service;
|
||||||
|
|
||||||
|
public class QuizServiceStub: IQuizServiceJson
|
||||||
|
{
|
||||||
|
private readonly string _jsonFilePath =
|
||||||
|
Path.Combine(Environment.CurrentDirectory, "wwwroot", "fake_data_quiz.json");
|
||||||
|
|
||||||
|
public async Task<List<Quiz>> getQuizzesJson()
|
||||||
|
{
|
||||||
|
if (!File.Exists(_jsonFilePath))
|
||||||
|
{
|
||||||
|
Console.Out.WriteLine($"{_jsonFilePath} not found");
|
||||||
|
return new List<Quiz>();
|
||||||
|
}
|
||||||
|
|
||||||
|
var json = await File.ReadAllTextAsync(_jsonFilePath);
|
||||||
|
return JsonSerializer.Deserialize<List<Quiz>>(json) ?? new List<Quiz>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<List<Quiz>> getQuizzesToValidateJson()
|
||||||
|
{
|
||||||
|
var quizzes = await getQuizzesJson();
|
||||||
|
return quizzes.Where(quiz => quiz.IsValid == false).ToList();;
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task removeQuizJson(int id)
|
||||||
|
{
|
||||||
|
var data = await getQuizzesJson();
|
||||||
|
var quiz = data.FirstOrDefault(q => q.Id == id);
|
||||||
|
if (quiz != null)
|
||||||
|
{
|
||||||
|
data.Remove(quiz);
|
||||||
|
await saveQuizJson(data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task updateQuizJson(Quiz quiz)
|
||||||
|
{
|
||||||
|
var data = await getQuizzesJson();
|
||||||
|
var existingQuiz = data.FirstOrDefault(q => q.Id == quiz.Id);
|
||||||
|
if (existingQuiz != null)
|
||||||
|
{
|
||||||
|
existingQuiz.Question = quiz.Question;
|
||||||
|
existingQuiz.AnswerA = quiz.AnswerA;
|
||||||
|
existingQuiz.AnswerB = quiz.AnswerB;
|
||||||
|
existingQuiz.AnswerC = quiz.AnswerC;
|
||||||
|
existingQuiz.AnswerD = quiz.AnswerD;
|
||||||
|
existingQuiz.CAnswer = quiz.CAnswer;
|
||||||
|
existingQuiz.IsValid = quiz.IsValid;
|
||||||
|
existingQuiz.UserProposition = quiz.UserProposition;
|
||||||
|
await saveQuizJson(data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task saveQuizJson(List<Quiz> quizzes)
|
||||||
|
{
|
||||||
|
var json = JsonSerializer.Serialize(quizzes, new JsonSerializerOptions { WriteIndented = true });
|
||||||
|
await File.WriteAllTextAsync(_jsonFilePath, json);
|
||||||
|
}
|
||||||
|
}
|
@ -1,282 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"id": 1,
|
|
||||||
"question": "Voluptate nulla laborum pariatur excepteur consequat officia ea esse ut nisi amet non.",
|
|
||||||
"answerA": "sit ullamco",
|
|
||||||
"answerB": "deserunt reprehenderit",
|
|
||||||
"answerC": "cupidatat deserunt",
|
|
||||||
"answerD": "ullamco aliqua",
|
|
||||||
"cAnswer": "B",
|
|
||||||
"userProposition": "Lori Myers"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 2,
|
|
||||||
"question": "Ea elit esse minim aute aliquip cillum amet cupidatat fugiat exercitation.",
|
|
||||||
"answerA": "ullamco excepteur",
|
|
||||||
"answerB": "aliquip occaecat",
|
|
||||||
"answerC": "incididunt duis",
|
|
||||||
"answerD": "sunt dolor",
|
|
||||||
"cAnswer": "A",
|
|
||||||
"userProposition": "Louella Robinson"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 3,
|
|
||||||
"question": "Aute commodo est proident sunt nulla est cillum eiusmod est voluptate dolore sit aliqua incididunt.",
|
|
||||||
"answerA": "reprehenderit mollit",
|
|
||||||
"answerB": "laboris consectetur",
|
|
||||||
"answerC": "cillum deserunt",
|
|
||||||
"answerD": "deserunt fugiat",
|
|
||||||
"cAnswer": "B",
|
|
||||||
"userProposition": "Richmond Joyner"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 4,
|
|
||||||
"question": "Fugiat duis excepteur non amet tempor deserunt ut occaecat cupidatat eiusmod et amet enim.",
|
|
||||||
"answerA": "amet aute",
|
|
||||||
"answerB": "excepteur ad",
|
|
||||||
"answerC": "laboris veniam",
|
|
||||||
"answerD": "veniam in",
|
|
||||||
"cAnswer": "B",
|
|
||||||
"userProposition": "Brady Patrick"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 5,
|
|
||||||
"question": "Occaecat minim velit dolor est ad ut irure eu labore velit in dolore exercitation.",
|
|
||||||
"answerA": "eu aliqua",
|
|
||||||
"answerB": "labore ipsum",
|
|
||||||
"answerC": "labore reprehenderit",
|
|
||||||
"answerD": "anim excepteur",
|
|
||||||
"cAnswer": "C",
|
|
||||||
"userProposition": "Mavis Boone"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 6,
|
|
||||||
"question": "Non laboris adipisicing anim fugiat labore excepteur tempor elit in.",
|
|
||||||
"answerA": "in excepteur",
|
|
||||||
"answerB": "nostrud dolor",
|
|
||||||
"answerC": "nisi aliqua",
|
|
||||||
"answerD": "sint nisi",
|
|
||||||
"cAnswer": "C",
|
|
||||||
"userProposition": "Douglas Dejesus"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 7,
|
|
||||||
"question": "Lorem proident exercitation elit fugiat do amet aute labore consectetur pariatur consequat.",
|
|
||||||
"answerA": "eiusmod nulla",
|
|
||||||
"answerB": "eu id",
|
|
||||||
"answerC": "proident tempor",
|
|
||||||
"answerD": "amet proident",
|
|
||||||
"cAnswer": "A",
|
|
||||||
"userProposition": "Mia Peterson"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 8,
|
|
||||||
"question": "Incididunt magna commodo laborum do incididunt commodo proident non cillum magna elit irure voluptate.",
|
|
||||||
"answerA": "laborum fugiat",
|
|
||||||
"answerB": "laboris est",
|
|
||||||
"answerC": "in ea",
|
|
||||||
"answerD": "duis ullamco",
|
|
||||||
"cAnswer": "A",
|
|
||||||
"userProposition": "Juliet Fox"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 9,
|
|
||||||
"question": "Qui labore fugiat sint Lorem ut minim in ex dolor.",
|
|
||||||
"answerA": "et deserunt",
|
|
||||||
"answerB": "labore sit",
|
|
||||||
"answerC": "in eiusmod",
|
|
||||||
"answerD": "amet incididunt",
|
|
||||||
"cAnswer": "C",
|
|
||||||
"userProposition": "Earnestine Poole"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 10,
|
|
||||||
"question": "Voluptate pariatur ipsum magna sint Lorem adipisicing.",
|
|
||||||
"answerA": "sint velit",
|
|
||||||
"answerB": "non culpa",
|
|
||||||
"answerC": "nisi ut",
|
|
||||||
"answerD": "excepteur labore",
|
|
||||||
"cAnswer": "B",
|
|
||||||
"userProposition": "Alexis Cross"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 11,
|
|
||||||
"question": "In labore sunt est cupidatat cillum.",
|
|
||||||
"answerA": "ut ad",
|
|
||||||
"answerB": "non deserunt",
|
|
||||||
"answerC": "do officia",
|
|
||||||
"answerD": "ut nostrud",
|
|
||||||
"cAnswer": "C",
|
|
||||||
"userProposition": "Brooks Martinez"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 12,
|
|
||||||
"question": "Irure occaecat sit laborum nulla ea dolore et aliqua sunt Lorem enim esse.",
|
|
||||||
"answerA": "excepteur occaecat",
|
|
||||||
"answerB": "pariatur in",
|
|
||||||
"answerC": "reprehenderit excepteur",
|
|
||||||
"answerD": "laborum adipisicing",
|
|
||||||
"cAnswer": "D",
|
|
||||||
"userProposition": "Shields Roth"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 13,
|
|
||||||
"question": "Laboris sint in sit exercitation nisi id cillum ex ea culpa fugiat in cupidatat.",
|
|
||||||
"answerA": "labore mollit",
|
|
||||||
"answerB": "in veniam",
|
|
||||||
"answerC": "labore eiusmod",
|
|
||||||
"answerD": "consequat veniam",
|
|
||||||
"cAnswer": "B",
|
|
||||||
"userProposition": "Carmella Chase"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 14,
|
|
||||||
"question": "Proident dolor Lorem anim proident laborum sint minim sit laborum aliquip.",
|
|
||||||
"answerA": "velit exercitation",
|
|
||||||
"answerB": "voluptate esse",
|
|
||||||
"answerC": "occaecat cupidatat",
|
|
||||||
"answerD": "enim adipisicing",
|
|
||||||
"cAnswer": "D",
|
|
||||||
"userProposition": "Johns Solomon"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 15,
|
|
||||||
"question": "Do magna dolore enim laborum consequat reprehenderit nisi consequat nostrud.",
|
|
||||||
"answerA": "proident do",
|
|
||||||
"answerB": "labore minim",
|
|
||||||
"answerC": "in elit",
|
|
||||||
"answerD": "in irure",
|
|
||||||
"cAnswer": "A",
|
|
||||||
"userProposition": "Alana Moore"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 16,
|
|
||||||
"question": "Culpa anim id elit dolore veniam.",
|
|
||||||
"answerA": "ipsum nisi",
|
|
||||||
"answerB": "officia voluptate",
|
|
||||||
"answerC": "in excepteur",
|
|
||||||
"answerD": "ullamco non",
|
|
||||||
"cAnswer": "B",
|
|
||||||
"userProposition": "Russo Rios"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 17,
|
|
||||||
"question": "Ea est consectetur exercitation aute ut mollit pariatur irure aute adipisicing dolore.",
|
|
||||||
"answerA": "fugiat elit",
|
|
||||||
"answerB": "pariatur nulla",
|
|
||||||
"answerC": "exercitation ipsum",
|
|
||||||
"answerD": "exercitation laboris",
|
|
||||||
"cAnswer": "A",
|
|
||||||
"userProposition": "Bobbi Lara"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 18,
|
|
||||||
"question": "Laborum consectetur incididunt ad fugiat fugiat proident culpa mollit laborum.",
|
|
||||||
"answerA": "elit duis",
|
|
||||||
"answerB": "amet aute",
|
|
||||||
"answerC": "culpa nostrud",
|
|
||||||
"answerD": "do pariatur",
|
|
||||||
"cAnswer": "D",
|
|
||||||
"userProposition": "Lewis Mullins"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 19,
|
|
||||||
"question": "Culpa anim aliquip mollit non labore.",
|
|
||||||
"answerA": "labore incididunt",
|
|
||||||
"answerB": "laborum non",
|
|
||||||
"answerC": "sunt laborum",
|
|
||||||
"answerD": "est sunt",
|
|
||||||
"cAnswer": "B",
|
|
||||||
"userProposition": "Mccray Mccoy"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 20,
|
|
||||||
"question": "Ex exercitation deserunt aute cillum dolor.",
|
|
||||||
"answerA": "proident magna",
|
|
||||||
"answerB": "pariatur exercitation",
|
|
||||||
"answerC": "ipsum veniam",
|
|
||||||
"answerD": "culpa quis",
|
|
||||||
"cAnswer": "C",
|
|
||||||
"userProposition": "Moss Jefferson"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 21,
|
|
||||||
"question": "Do mollit aute dolore anim id non aliqua.",
|
|
||||||
"answerA": "ipsum aute",
|
|
||||||
"answerB": "irure ex",
|
|
||||||
"answerC": "ex duis",
|
|
||||||
"answerD": "ipsum cupidatat",
|
|
||||||
"cAnswer": "B",
|
|
||||||
"userProposition": "Roth Valdez"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 22,
|
|
||||||
"question": "Commodo sunt reprehenderit tempor sit ut ea Lorem esse minim elit et sunt sint qui.",
|
|
||||||
"answerA": "et do",
|
|
||||||
"answerB": "officia culpa",
|
|
||||||
"answerC": "et commodo",
|
|
||||||
"answerD": "irure tempor",
|
|
||||||
"cAnswer": "D",
|
|
||||||
"userProposition": "Adrienne Carpenter"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 23,
|
|
||||||
"question": "Excepteur cupidatat ut sit commodo magna elit.",
|
|
||||||
"answerA": "pariatur tempor",
|
|
||||||
"answerB": "proident non",
|
|
||||||
"answerC": "velit elit",
|
|
||||||
"answerD": "pariatur fugiat",
|
|
||||||
"cAnswer": "D",
|
|
||||||
"userProposition": "Mcknight Cain"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 24,
|
|
||||||
"question": "Laborum eu nisi consequat voluptate in laboris cillum in aute sint excepteur aliqua Lorem in.",
|
|
||||||
"answerA": "pariatur in",
|
|
||||||
"answerB": "voluptate qui",
|
|
||||||
"answerC": "et cillum",
|
|
||||||
"answerD": "adipisicing id",
|
|
||||||
"cAnswer": "D",
|
|
||||||
"userProposition": "Gay Barlow"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 25,
|
|
||||||
"question": "Laborum ullamco occaecat excepteur deserunt nostrud dolor.",
|
|
||||||
"answerA": "magna labore",
|
|
||||||
"answerB": "ullamco veniam",
|
|
||||||
"answerC": "reprehenderit irure",
|
|
||||||
"answerD": "magna dolore",
|
|
||||||
"cAnswer": "B",
|
|
||||||
"userProposition": "Hannah Battle"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 26,
|
|
||||||
"question": "Commodo in amet laboris Lorem et qui anim ea ullamco dolor dolor commodo.",
|
|
||||||
"answerA": "amet nulla",
|
|
||||||
"answerB": "laborum mollit",
|
|
||||||
"answerC": "amet in",
|
|
||||||
"answerD": "irure amet",
|
|
||||||
"cAnswer": "D",
|
|
||||||
"userProposition": "Dawson Mcpherson"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 27,
|
|
||||||
"question": "Veniam non consectetur sit cillum.",
|
|
||||||
"answerA": "aliqua cupidatat",
|
|
||||||
"answerB": "nostrud culpa",
|
|
||||||
"answerC": "anim ullamco",
|
|
||||||
"answerD": "adipisicing et",
|
|
||||||
"cAnswer": "A",
|
|
||||||
"userProposition": "Reeves Love"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 28,
|
|
||||||
"question": "Ullamco laboris voluptate nostrud commodo Lorem enim ad ipsum.",
|
|
||||||
"answerA": "id aute",
|
|
||||||
"answerB": "aliquip incididunt",
|
|
||||||
"answerC": "duis elit",
|
|
||||||
"answerD": "mollit ad",
|
|
||||||
"cAnswer": "B",
|
|
||||||
"userProposition": "Michael Holmes"
|
|
||||||
}
|
|
||||||
]
|
|
@ -0,0 +1,68 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"Id": 7,
|
||||||
|
"Question": "Lorem proident exercitation elit fugiat do amet aute labore consectetur pariatur consequat.",
|
||||||
|
"AnswerA": "eiusmod nulla",
|
||||||
|
"AnswerB": "eu Id",
|
||||||
|
"AnswerC": "proident tempor",
|
||||||
|
"AnswerD": "amet proident",
|
||||||
|
"CAnswer": "A",
|
||||||
|
"IsValid": false,
|
||||||
|
"UserProposition": "Mia Peterson"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 8,
|
||||||
|
"Question": "Incididunt magna commodo laborum do incididunt commodo proident non cillum magna elit irure voluptate.",
|
||||||
|
"AnswerA": "laborum fugiat",
|
||||||
|
"AnswerB": "laboris est",
|
||||||
|
"AnswerC": "in ea",
|
||||||
|
"AnswerD": "duis ullamco",
|
||||||
|
"CAnswer": "A",
|
||||||
|
"IsValid": false,
|
||||||
|
"UserProposition": "Juliet Fox"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 9,
|
||||||
|
"Question": "Qui labore fugiat sint Lorem ut minim in ex dolor.",
|
||||||
|
"AnswerA": "et deserunt",
|
||||||
|
"AnswerB": "labore sit",
|
||||||
|
"AnswerC": "in eiusmod",
|
||||||
|
"AnswerD": "amet incididunt",
|
||||||
|
"CAnswer": "C",
|
||||||
|
"IsValid": false,
|
||||||
|
"UserProposition": "Earnestine Poole"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 10,
|
||||||
|
"Question": "Voluptate pariatur ipsum magna sint Lorem adipisicing.",
|
||||||
|
"AnswerA": "sint velit",
|
||||||
|
"AnswerB": "non culpa",
|
||||||
|
"AnswerC": "nisi ut",
|
||||||
|
"AnswerD": "excepteur labore",
|
||||||
|
"CAnswer": "B",
|
||||||
|
"IsValid": false,
|
||||||
|
"UserProposition": "Alexis Cross"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 11,
|
||||||
|
"Question": "In labore sunt est cupidatat cillum.",
|
||||||
|
"AnswerA": "ut ad",
|
||||||
|
"AnswerB": "non deserunt",
|
||||||
|
"AnswerC": "do officia",
|
||||||
|
"AnswerD": "ut nostrud",
|
||||||
|
"CAnswer": "C",
|
||||||
|
"IsValid": false,
|
||||||
|
"UserProposition": "Brooks Martinez"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 12,
|
||||||
|
"Question": "Irure occaecat sit laborum nulla ea dolore et aliqua sunt Lorem enim esse.",
|
||||||
|
"AnswerA": "excepteur occaecat",
|
||||||
|
"AnswerB": "pariatur in",
|
||||||
|
"AnswerC": "reprehenderit excepteur",
|
||||||
|
"AnswerD": "laborum adipisicing",
|
||||||
|
"CAnswer": "D",
|
||||||
|
"IsValid": false,
|
||||||
|
"UserProposition": "Shields Roth"
|
||||||
|
}
|
||||||
|
]
|
Loading…
Reference in new issue