CI : code smells
continuous-integration/drone/push Build is passing Details

Multiplayer_Php
Jade VAN BRABANDT 1 year ago
parent 66fbaae2ac
commit fd7a1dcac7

@ -15,10 +15,10 @@ namespace Blazor.Components
public Question question = new(); public Question question = new();
private List<Answer> answers = new(); private List<Answer> answers = new();
public List<Question> questions; public List<Question> questions = new();
[Inject] [Inject]
public HttpClient Http { get; set; } public required HttpClient Http { get; set; }
protected override async Task OnInitializedAsync() protected override async Task OnInitializedAsync()
{ {

@ -9,22 +9,14 @@ namespace Blazor.Modals
public partial class DeleteConfirmation public partial class DeleteConfirmation
{ {
[CascadingParameter] [CascadingParameter]
public BlazoredModalInstance ModalInstance { get; set; } public required BlazoredModalInstance ModalInstance { get; set; }
[Inject] [Inject]
public IDataService DataService { get; set; } public required IDataService DataService { get; set; }
[Parameter] [Parameter]
public int Id { get; set; } public int Id { get; set; }
//private Chapter chapter = new Chapter();
//protected override async Task OnInitializedAsync()
// // Get the chapter
// chapter = await DataService.GetById(Id);
//}
void ConfirmDelete() void ConfirmDelete()
{ {
ModalInstance.CloseAsync(ModalResult.Ok(true)); ModalInstance.CloseAsync(ModalResult.Ok(true));

@ -8,8 +8,8 @@ namespace Blazor.Models;
public class AdministratorModel public class AdministratorModel
{ {
public int Id { get; set; } public int Id { get; set; }
public string Username { get; set; } public required string Username { get; set; }
public string HashedPassword { get; set; } public required string HashedPassword { get; set; }
public void HashPassword(string password) public void HashPassword(string password)
{ {

@ -4,8 +4,8 @@ public class AnswerModel
{ {
public int Id { get; set; } public int Id { get; set; }
public string Content { get; set; } public string? Content { get; set; }
public int IdQuestion { get; set; } public int? IdQuestion { get; set; }
public AnswerModel(int id) public AnswerModel(int id)
{ {
Id = id; Id = id;

@ -8,6 +8,6 @@ namespace Blazor.Models
[Required(ErrorMessage = "Name is required")] [Required(ErrorMessage = "Name is required")]
[StringLength(50, ErrorMessage = "Name is too long.")] [StringLength(50, ErrorMessage = "Name is too long.")]
public string Name { get; set; } public required string Name { get; set; }
} }
} }

@ -7,8 +7,8 @@ namespace Blazor.Models;
public class PlayerModel public class PlayerModel
{ {
public int Id { get; set; } public int Id { get; set; }
public string Nickname { get; set; } public required string Nickname { get; set; }
public string HashedPassword { get; set; } public required string HashedPassword { get; set; }
public void HashPassword(string password) public void HashPassword(string password)
{ {

@ -3,13 +3,12 @@
public class QuestionModel public class QuestionModel
{ {
public int Id { get; set; } public int Id { get; set; }
public string Content { get; set; } public required string Content { get; set; }
public int IdChapter { get; set; } public int IdChapter { get; set; }
public int? IdAnswerGood { get; set; } public int IdAnswerGood { get; set; }
public int Difficulty { get; set; } public int Difficulty { get; set; }
public int NbFails { get; set; } public int NbFails { get; set; }
public void addFails(int nb) { NbFails += nb; } public void addFails(int nb) { NbFails += nb; }
public void removeFails(int nb) { NbFails -= nb; } public void removeFails(int nb) { NbFails -= nb; }
} }

@ -2,7 +2,6 @@
@using Blazor.Models @using Blazor.Models
<h3>AddAdministrator</h3> <h3>AddAdministrator</h3>
<EditForm Model="@administratorModel" OnValidSubmit="@HandleValidSubmit"> <EditForm Model="@administratorModel" OnValidSubmit="@HandleValidSubmit">
<DataAnnotationsValidator /> <DataAnnotationsValidator />
<ValidationSummary /> <ValidationSummary />

@ -6,7 +6,7 @@ namespace Blazor.Pages.Admins
{ {
public partial class AddAdministrator public partial class AddAdministrator
{ {
private AdministratorModel administratorModel = new(); private AdministratorModel? administratorModel;
[Inject] [Inject]
public required IDataService DataService { get; set; } public required IDataService DataService { get; set; }
@ -20,33 +20,36 @@ namespace Blazor.Pages.Admins
private async Task HandleValidSubmit() private async Task HandleValidSubmit()
{ {
administratorModel.HashPassword(administratorModel.HashedPassword); if (administratorModel != null)
{
var formData = new List<KeyValuePair<string, string>>(); administratorModel.HashPassword(administratorModel.HashedPassword);
formData.Add(new KeyValuePair<string, string>("username", administratorModel.Username));
formData.Add(new KeyValuePair<string, string>("password", administratorModel.HashedPassword)); var formData = new List<KeyValuePair<string, string>>();
formData.Add(new KeyValuePair<string, string>("username", administratorModel.Username));
var formContent = new FormUrlEncodedContent(formData); formData.Add(new KeyValuePair<string, string>("password", administratorModel.HashedPassword));
string apiUri = API.API_URL+"add/administrator/"+API.TOKEN; var formContent = new FormUrlEncodedContent(formData);
using (var httpClient = new HttpClient()) string apiUri = API.API_URL + "add/administrator/" + API.TOKEN;
{
var response = await httpClient.PostAsync(apiUri, formContent); using (var httpClient = new HttpClient())
{
if (response.IsSuccessStatusCode) var response = await httpClient.PostAsync(apiUri, formContent);
{
var responseBody = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode)
} {
else var responseBody = await response.Content.ReadAsStringAsync();
{ }
var errorResponse = await response.Content.ReadAsStringAsync(); else
} {
var errorResponse = await response.Content.ReadAsStringAsync();
}
}
Logger.LogInformation("Admin '{administratorsModelName}' added", administratorModel.Username);
NavigationManager.NavigateTo("administrators");
} }
Logger.LogInformation("Admin '{administratorsModelName}' added", administratorModel.Username);
NavigationManager.NavigateTo("administrators");
} }
} }
} }

@ -41,7 +41,7 @@ public partial class Administrators
var response = Http.GetFromJsonAsync<Administrator[]>(API.API_URL+"administrators/"+API.TOKEN).Result; var response = Http.GetFromJsonAsync<Administrator[]>(API.API_URL+"administrators/"+API.TOKEN).Result;
if (!e.CancellationToken.IsCancellationRequested) if (!e.CancellationToken.IsCancellationRequested && response != null)
{ {
administrators = new List<Administrator>(response); // an actual data for the current page administrators = new List<Administrator>(response); // an actual data for the current page
totalItem = administrators.Count; totalItem = administrators.Count;

@ -10,7 +10,7 @@ namespace Blazor.Pages.Admins
[Parameter] [Parameter]
public int Id { get; set; } public int Id { get; set; }
private AdministratorModel administratorModel = new(); private AdministratorModel? administratorModel;
[Inject] [Inject]
public required IDataService DataService { get; set; } public required IDataService DataService { get; set; }
@ -41,33 +41,36 @@ namespace Blazor.Pages.Admins
private async Task HandleValidSubmit() private async Task HandleValidSubmit()
{ {
administratorModel.HashPassword(administratorModel.HashedPassword); if (administratorModel != null)
{
var formData = new List<KeyValuePair<string, string>>(); administratorModel.HashPassword(administratorModel.HashedPassword);
formData.Add(new KeyValuePair<string, string>("username", administratorModel.Username));
formData.Add(new KeyValuePair<string, string>("password", administratorModel.HashedPassword)); var formData = new List<KeyValuePair<string, string>>();
formData.Add(new KeyValuePair<string, string>("username", administratorModel.Username));
var formContent = new FormUrlEncodedContent(formData); formData.Add(new KeyValuePair<string, string>("password", administratorModel.HashedPassword));
string apiUri = API.API_URL+"update/administrator/" + administratorModel.Id + "/" + API.TOKEN; var formContent = new FormUrlEncodedContent(formData);
using (var httpClient = new HttpClient()) string apiUri = API.API_URL + "update/administrator/" + administratorModel.Id + "/" + API.TOKEN;
{
var response = await httpClient.PostAsync(apiUri, formContent); using (var httpClient = new HttpClient())
{
if (response.IsSuccessStatusCode) var response = await httpClient.PostAsync(apiUri, formContent);
{
var responseBody = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode)
} {
else var responseBody = await response.Content.ReadAsStringAsync();
{ }
var errorResponse = await response.Content.ReadAsStringAsync(); else
} {
var errorResponse = await response.Content.ReadAsStringAsync();
}
}
Logger.LogInformation("Admin '{OldAdminModelName}' edited in '{NewAdminModelName}'", OldAdminName, administratorModel.Username);
NavigationManager.NavigateTo("administrators");
} }
Logger.LogInformation("Admin '{OldAdminModelName}' edited in '{NewAdminModelName}'",OldAdminName,administratorModel.Username);
NavigationManager.NavigateTo("administrators");
} }
} }
} }

@ -6,7 +6,7 @@ namespace Blazor.Pages.Chapters;
public partial class AddChapter public partial class AddChapter
{ {
private ChapterModel chapterModel = new(); private ChapterModel? chapterModel;
[Inject] [Inject]
public required IDataService DataService { get; set; } public required IDataService DataService { get; set; }
@ -21,32 +21,34 @@ public partial class AddChapter
private async Task HandleValidSubmit() private async Task HandleValidSubmit()
{ {
var formData = new List<KeyValuePair<string, string>>(); if (chapterModel != null)
formData.Add(new KeyValuePair<string, string>("name", chapterModel.Name)); {
var formData = new List<KeyValuePair<string, string>>();
formData.Add(new KeyValuePair<string, string>("name", chapterModel.Name));
var formContent = new FormUrlEncodedContent(formData);
string apiUri = API.API_URL+"add/chapter/"+API.TOKEN; var formContent = new FormUrlEncodedContent(formData);
using (var httpClient = new HttpClient()) string apiUri = API.API_URL + "add/chapter/" + API.TOKEN;
{
var response = await httpClient.PostAsync(apiUri, formContent); using (var httpClient = new HttpClient())
{
if (response.IsSuccessStatusCode) var response = await httpClient.PostAsync(apiUri, formContent);
{
var responseBody = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode)
} {
else var responseBody = await response.Content.ReadAsStringAsync();
{ }
var errorResponse = await response.Content.ReadAsStringAsync(); else
} {
var errorResponse = await response.Content.ReadAsStringAsync();
}
}
Logger.LogInformation("Chapter '{chapterModelName}' added", chapterModel.Name);
NavigationManager.NavigateTo("chapters");
} }
Logger.LogInformation("Chapter '{chapterModelName}' added",chapterModel.Name);
NavigationManager.NavigateTo("chapters");
} }
} }

@ -9,7 +9,7 @@ public partial class EditChapter
[Parameter] [Parameter]
public int Id { get; set; } public int Id { get; set; }
private ChapterModel chapterModel = new(); private ChapterModel? chapterModel;
[Inject] [Inject]
public IDataService DataService { get; set; } public IDataService DataService { get; set; }

@ -6,7 +6,7 @@ namespace Blazor.Pages.Players
{ {
public partial class AddPlayer public partial class AddPlayer
{ {
private PlayerModel playerModel = new(); private PlayerModel? playerModel;
[Inject] [Inject]
public required IDataService DataService { get; set; } public required IDataService DataService { get; set; }
@ -17,30 +17,33 @@ namespace Blazor.Pages.Players
private async Task HandleValidSubmit() private async Task HandleValidSubmit()
{ {
playerModel.HashPassword(playerModel.HashedPassword); if (playerModel != null)
{
var formData = new List<KeyValuePair<string, string>>(); playerModel.HashPassword(playerModel.HashedPassword);
formData.Add(new KeyValuePair<string, string>("nickname", playerModel.Nickname));
formData.Add(new KeyValuePair<string, string>("password", playerModel.HashedPassword));
var formContent = new FormUrlEncodedContent(formData); var formData = new List<KeyValuePair<string, string>>();
formData.Add(new KeyValuePair<string, string>("nickname", playerModel.Nickname));
formData.Add(new KeyValuePair<string, string>("password", playerModel.HashedPassword));
string apiUri =API.API_URL+"add/player/"+API.TOKEN; var formContent = new FormUrlEncodedContent(formData);
using (var httpClient = new HttpClient()) string apiUri = API.API_URL + "add/player/" + API.TOKEN;
{
var response = await httpClient.PostAsync(apiUri, formContent);
if (response.IsSuccessStatusCode) using (var httpClient = new HttpClient())
{
var responseBody = await response.Content.ReadAsStringAsync();
}
else
{ {
var errorResponse = await response.Content.ReadAsStringAsync(); var response = await httpClient.PostAsync(apiUri, formContent);
if (response.IsSuccessStatusCode)
{
var responseBody = await response.Content.ReadAsStringAsync();
}
else
{
var errorResponse = await response.Content.ReadAsStringAsync();
}
} }
NavigationManager.NavigateTo("players");
} }
NavigationManager.NavigateTo("players");
} }
} }
} }

@ -10,7 +10,7 @@ namespace Blazor.Pages.Players
[Parameter] [Parameter]
public int Id { get; set; } public int Id { get; set; }
private PlayerModel playerModel = new(); private PlayerModel? playerModel;
[Inject] [Inject]
public required IDataService DataService { get; set; } public required IDataService DataService { get; set; }

@ -9,7 +9,7 @@ namespace Blazor.Pages.Questions
{ {
public partial class AddQuestion public partial class AddQuestion
{ {
private QuestionModel questionModel = new(); private QuestionModel? questionModel;
public List<Chapter> chapters = new(); public List<Chapter> chapters = new();
@ -50,50 +50,52 @@ namespace Blazor.Pages.Questions
protected override async Task OnInitializedAsync() protected override async Task OnInitializedAsync()
{ {
var response = Http.GetFromJsonAsync<Chapter[]>(API.API_URL + "chapters/" + API.TOKEN).Result; var response = Http.GetFromJsonAsync<Chapter[]>(API.API_URL + "chapters/" + API.TOKEN).Result;
if (response == null) chapters = new List<Chapter>();
chapters = new List<Chapter>(response); else chapters = new List<Chapter>(response);
} }
private async void HandleValidSubmit() private async void HandleValidSubmit()
{ {
if (questionModel != null)
await DataService.Add(questionModel); {
await DataService.Add(questionModel);
var formData = new List<KeyValuePair<string, string>>();
formData.Add(new KeyValuePair<string, string>("content", questionModel.Content)); var formData = new List<KeyValuePair<string, string>>();
formData.Add(new KeyValuePair<string, string>("idchapter", questionModel.IdChapter.ToString())); formData.Add(new KeyValuePair<string, string>("content", questionModel.Content));
foreach (var answerModel in answerModels) formData.Add(new KeyValuePair<string, string>("idchapter", questionModel.IdChapter.ToString()));
{ foreach (var answerModel in answerModels)
formData.Add(new KeyValuePair<string, string>($"answercontent{answerModel.Id+1}", answerModel.Content)); {
} formData.Add(new KeyValuePair<string, string>($"answercontent{answerModel.Id + 1}", answerModel.Content));
foreach (var checkbox in checkboxs) }
{ foreach (var checkbox in checkboxs)
if (checkbox.IsCorrect == true) {
{ if (checkbox.IsCorrect == true)
var idgood = checkbox.Id + 1; {
formData.Add(new KeyValuePair<string, string>("idanswergood", idgood.ToString())); var idgood = checkbox.Id + 1;
} formData.Add(new KeyValuePair<string, string>("idanswergood", idgood.ToString()));
}
}
var formContent = new FormUrlEncodedContent(formData);
string apiUri = API.API_URL + "add/question/" + API.TOKEN;
using (var httpClient = new HttpClient())
{
var response = await httpClient.PostAsync(apiUri, formContent);
if (response.IsSuccessStatusCode)
{
var responseBody = await response.Content.ReadAsStringAsync();
}
else
{
var errorResponse = await response.Content.ReadAsStringAsync();
}
}
NavigationManager.NavigateTo("questions");
} }
var formContent = new FormUrlEncodedContent(formData);
string apiUri = API.API_URL+"add/question/"+API.TOKEN;
using (var httpClient = new HttpClient())
{
var response = await httpClient.PostAsync(apiUri, formContent);
if (response.IsSuccessStatusCode)
{
var responseBody = await response.Content.ReadAsStringAsync();
}
else
{
var errorResponse = await response.Content.ReadAsStringAsync();
}
}
NavigationManager.NavigateTo("questions");
} }
} }
} }

@ -10,7 +10,7 @@ namespace Blazor.Pages.Questions
[Parameter] [Parameter]
public int Id { get; set; } public int Id { get; set; }
private QuestionModel questionModel = new(); private QuestionModel? questionModel;
[Inject] [Inject]
public required IDataService DataService { get; set; } public required IDataService DataService { get; set; }

Loading…
Cancel
Save