diff --git a/Blazor/Blazor/Pages/Questions/AddQuestion.razor.cs b/Blazor/Blazor/Pages/Questions/AddQuestion.razor.cs index 41becb5..638269b 100644 --- a/Blazor/Blazor/Pages/Questions/AddQuestion.razor.cs +++ b/Blazor/Blazor/Pages/Questions/AddQuestion.razor.cs @@ -62,27 +62,25 @@ namespace Blazor.Pages.Questions { if (questionModel != null) { - await DataService.Add(questionModel); - - var formData = new List>(); - formData.Add(new KeyValuePair("content", questionModel.Content)); - formData.Add(new KeyValuePair("idchapter", questionModel.IdChapter.ToString())); - foreach (var answerModel in answerModels) - { - var answercontent = $"answerContent{answerModel.Id + 1}"; - formData.Add(new KeyValuePair(answercontent, answerModel.Content)); - } - foreach (var checkbox in checkboxs) - { - if (checkbox.IsCorrect != false) + var formData = new List>(); + formData.Add(new KeyValuePair("content", questionModel.Content)); + formData.Add(new KeyValuePair("idchapter", questionModel.IdChapter.ToString())); + foreach (var answerModel in answerModels) { - var idgood = checkbox.Id + 1; - IdAgood = idgood; - formData.Add(new KeyValuePair("idanswergood", idgood.ToString())); + var answercontent = $"answerContent{answerModel.Id + 1}"; + formData.Add(new KeyValuePair(answercontent, answerModel.Content)); + } + foreach (var checkbox in checkboxs) + { + if (checkbox.IsCorrect != false) + { + var idgood = checkbox.Id + 1; + IdAgood = idgood; + formData.Add(new KeyValuePair("idanswergood", idgood.ToString())); + } } - } - var formContent = new FormUrlEncodedContent(formData); + var formContent = new FormUrlEncodedContent(formData); string apiUri = API.API_URL + "add/question/" + API.TOKEN; diff --git a/Blazor/Blazor/Services/DataLocalService.cs b/Blazor/Blazor/Services/DataLocalService.cs index 569b011..35eb111 100644 --- a/Blazor/Blazor/Services/DataLocalService.cs +++ b/Blazor/Blazor/Services/DataLocalService.cs @@ -39,96 +39,6 @@ namespace Blazor.Services return chapter; } - public async Task Update(int id, ChapterModel model) - { - // Get the current data - var currentData = await _localStorage.GetItemAsync>("data"); - - // Get the chapter int the list - var chapter = currentData.FirstOrDefault(w => w.Id == id); - - // Check if chapter exist - if (chapter == null) - { - throw new Exception($"Unable to found the item with ID: {id}"); - } - - // Modify the content of the chapter - chapter.Name = model.Name; - - // Save the data - await _localStorage.SetItemAsync("data", currentData); - } - - - public async Task Add(ChapterModel model) - { - // Get the current data - var currentData = await _localStorage.GetItemAsync>("data"); - - // Simulate the Id - model.Id = currentData.Max(s => s.Id) + 1; - - // Add the chapter to the current data - currentData.Add(new Chapter - { - Id = model.Id, - Name = model.Name - }); - - - // Save the data - await _localStorage.SetItemAsync("data", currentData); - } - - public async Task Delete(int id) - { - // Get the current data - //var currentData = await _localStorage.GetItemAsync>("data"); - var currentData = _http.GetFromJsonAsync>(API.API_URL+"chapters/"+API.TOKEN).Result; - - // Get the chapter int the list - var chapter = currentData.FirstOrDefault(w => w.Id == id); - - // Delete chapter in - currentData.Remove(chapter); - - // Save the data - await _localStorage.SetItemAsync("data", currentData); - } - - public async Task Count() - { - // Load data from the local storage - var currentData = await _localStorage.GetItemAsync("data"); - - // Check if data exist in the local storage - if (currentData == null) - { - // this code add in the local storage the fake data - var originalData = await _http.GetFromJsonAsync($"{_navigationManager.BaseUri}fake-data.json"); - await _localStorage.SetItemAsync("data", originalData); - } - - return (await _localStorage.GetItemAsync("data")).Length; - } - - public async Task> List(int currentPage, int pageSize) - { - // Load data from the local storage - var currentData = await _localStorage.GetItemAsync("data"); - - // Check if data exist in the local storage - if (currentData == null) - { - // this code add in the local storage the fake data - var originalData = await _http.GetFromJsonAsync($"{_navigationManager.BaseUri}fake-data.json"); - await _localStorage.SetItemAsync("data", originalData); - } - - return (await _localStorage.GetItemAsync("data")).Skip((currentPage - 1) * pageSize).Take(pageSize).ToList(); - } - public async Task GetAdminById(int id) { // Get the current data @@ -144,82 +54,6 @@ namespace Blazor.Services return admin; } - public async Task Update(int id, AdministratorModel model) - { - // Get the current data - var currentData = await _localStorage.GetItemAsync>("data"); - - // Get the admin int the list - var admin = currentData.FirstOrDefault(w => w.Id == id); - - // Check if admin exist - if (admin == null) - { - throw new Exception($"Unable to found the item with ID: {id}"); - } - - // Modify the content of the adminnistrator - admin.Username = model.Username; - admin.HashedPassword = model.HashedPassword; - - // Save the data - await _localStorage.SetItemAsync("data", currentData); - } - - public async Task Add(AdministratorModel model) - { - // Get the current data - var currentData = await _localStorage.GetItemAsync>("data"); - - // Simulate the Id - model.Id = currentData.Max(s => s.Id) + 1; - - // Add the admin to the current data - currentData.Add(new Administrator - { - Id = model.Id, - Username = model.Username, - HashedPassword = model.HashedPassword - }); - - - // Save the data - await _localStorage.SetItemAsync("data", currentData); - } - - public async Task CountAdmin() - { - // Load data from the local storage - var currentData = await _localStorage.GetItemAsync("data"); - - // Check if data exist in the local storage - if (currentData == null) - { - // this code add in the local storage the fake data - var originalData = await _http.GetFromJsonAsync($"{_navigationManager.BaseUri}fake-administrator.json"); - await _localStorage.SetItemAsync("data", originalData); - } - - return (await _localStorage.GetItemAsync("data")).Length; - } - - public async Task> ListAdmin(int currentPage, int pageSize) - { - // Load data from the local storage - var currentData = await _localStorage.GetItemAsync("data"); - - // Check if data exist in the local storage - if (currentData == null) - { - // this code add in the local storage the fake data - var originalData = await _http.GetFromJsonAsync($"{_navigationManager.BaseUri}fake-administrator.json"); - await _localStorage.SetItemAsync("data", originalData); - } - - return (await _localStorage.GetItemAsync("data")).Skip((currentPage - 1) * pageSize).Take(pageSize).ToList(); - } - - public async Task GetQuestionById(int id) { // Get the current data @@ -254,81 +88,6 @@ namespace Blazor.Services return questions; } - public async Task Update(int id, QuestionModel model) - { - // Get the current data - var currentData = await _localStorage.GetItemAsync>("data"); - - // Get the admin int the list - var question = currentData.FirstOrDefault(w => w.Id == id); - - // Check if admin exist - if (question == null) - { - throw new Exception($"Unable to found the item with ID: {id}"); - } - - // Modify the content of the adminnistrator - question.Content = model.Content; - - // Save the data - await _localStorage.SetItemAsync("data", currentData); - } - - public async Task Add(QuestionModel model) - { - // Get the current data - var currentData = await _localStorage.GetItemAsync>("data"); - - // Simulate the Id - model.Id = currentData.Max(s => s.Id) + 1; - - // Add the admin to the current data - currentData.Add(new Question - { - Id = model.Id, - Content = model.Content - }); - - - // Save the data - await _localStorage.SetItemAsync("data", currentData); - } - - public async Task CountQuestion() - { - // Load data from the local storage - var currentData = await _localStorage.GetItemAsync("data"); - - // Check if data exist in the local storage - if (currentData == null) - { - // this code add in the local storage the fake data - var originalData = await _http.GetFromJsonAsync($"{_navigationManager.BaseUri}fake-question.json"); - await _localStorage.SetItemAsync("data", originalData); - } - - return (await _localStorage.GetItemAsync("data")).Length; - } - - public async Task> ListQuestion(int currentPage, int pageSize) - { - // Load data from the local storage - var currentData = await _localStorage.GetItemAsync("data"); - - // Check if data exist in the local storage - if (currentData == null) - { - // this code add in the local storage the fake data - var originalData = await _http.GetFromJsonAsync($"{_navigationManager.BaseUri}fake-question.json"); - await _localStorage.SetItemAsync("data", originalData); - } - - return (await _localStorage.GetItemAsync("data")).Skip((currentPage - 1) * pageSize).Take(pageSize).ToList(); - } - - - public async Task GetPlayerById(int id) { // Get the current data @@ -344,81 +103,6 @@ namespace Blazor.Services return player; } - public async Task Update(int id, PlayerModel model) - { - // Get the current data - var currentData = await _localStorage.GetItemAsync>("data"); - - // Get the admin int the list - var player = currentData.FirstOrDefault(w => w.Id == id); - - // Check if admin exist - if (player == null) - { - throw new Exception($"Unable to found the item with ID: {id}"); - } - - // Modify the content of the adminnistrator - player.Nickname = model.Nickname; - player.HashedPassword = model.HashedPassword; - - // Save the data - await _localStorage.SetItemAsync("data", currentData); - } - - public async Task Add(PlayerModel model) - { - // Get the current data - var currentData = await _localStorage.GetItemAsync>("data"); - - // Simulate the Id - model.Id = currentData.Max(s => s.Id) + 1; - - // Add the admin to the current data - currentData.Add(new Player - { - Id = model.Id, - Nickname = model.Nickname, - HashedPassword = model.HashedPassword - }); - - - // Save the data - await _localStorage.SetItemAsync("data", currentData); - } - - public async Task CountPlayer() - { - // Load data from the local storage - var currentData = await _localStorage.GetItemAsync("data"); - - // Check if data exist in the local storage - if (currentData == null) - { - // this code add in the local storage the fake data - var originalData = await _http.GetFromJsonAsync($"{_navigationManager.BaseUri}fake-administrator.json"); - await _localStorage.SetItemAsync("data", originalData); - } - - return (await _localStorage.GetItemAsync("data")).Length; - } - - public async Task> ListPlayer(int currentPage, int pageSize) - { - // Load data from the local storage - var currentData = await _localStorage.GetItemAsync("data"); - - // Check if data exist in the local storage - if (currentData == null) - { - // this code add in the local storage the fake data - var originalData = await _http.GetFromJsonAsync($"{_navigationManager.BaseUri}fake-administrator.json"); - await _localStorage.SetItemAsync("data", originalData); - } - - return (await _localStorage.GetItemAsync("data")).Skip((currentPage - 1) * pageSize).Take(pageSize).ToList(); - } - public async Task GetAnswerByIdQuestion(int id) { // Get the current data diff --git a/Blazor/Blazor/Services/IDataService.cs b/Blazor/Blazor/Services/IDataService.cs index b5afc9e..e3af0a0 100644 --- a/Blazor/Blazor/Services/IDataService.cs +++ b/Blazor/Blazor/Services/IDataService.cs @@ -5,45 +5,14 @@ namespace Blazor.Services { public interface IDataService { - Task Add(ChapterModel model); - - Task Count(); - - Task> List(int currentPage, int pageSize); - Task GetById(int id); - Task Update(int id, ChapterModel model); - - Task Add(AdministratorModel model); - - Task Update(int id, AdministratorModel model); - Task GetAdminById(int id); - Task CountAdmin(); - Task> ListAdmin(int currentPage, int pageSize); - - Task Add(QuestionModel model); - - Task Update(int id, QuestionModel model); - Task GetQuestionById(int id); Task> GetQuestionsById(int id); - Task CountQuestion(); - Task> ListQuestion(int currentPage, int pageSize); - - Task Delete(int id); - - Task Add(PlayerModel model); - - Task Update(int id, PlayerModel model); - Task GetPlayerById(int id); - Task CountPlayer(); - Task> ListPlayer(int currentPage, int pageSize); - Task GetAnswerByIdQuestion(int id); } }