fix : conflit et acces a ajouter

Multiplayer_Php
Maxence GUITARD 1 year ago
commit a602557620

@ -19,14 +19,15 @@ steps:
commands:
- cd Blazor/
- dotnet restore Blazor.sln
- dotnet test Blazor.sln --no-restore
- dotnet sonarscanner begin /k:MuscuMaths /d:sonar.host.url=$${PLUGIN_SONAR_HOST} /d:sonar.login=$${PLUGIN_SONAR_TOKEN}
- dotnet test Blazor.sln --logger trx --no-restore /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura --collect "XPlat Code Coverage"
- reportgenerator -reports:"/coverage.cobertura.xml" -reporttypes:SonarQube -targetdir:"coveragereport" -verbosity:Verbose
depends_on: [build]
- name: code-analysis
image: hub.codefirst.iut.uca.fr/marc.chevaldonne/codefirst-dronesonarplugin-dotnet7
commands:
- echo $$PLUGIN_SONAR_TOKEN
- echo $$PLUGIN_SONAR_HOST
- cd Blazor/
- dotnet restore Blazor.sln
- dotnet sonarscanner begin /k:MuscuMaths /d:sonar.host.url=$${PLUGIN_SONAR_HOST} /d:sonar.login=$${PLUGIN_SONAR_TOKEN}

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

@ -9,22 +9,14 @@ namespace Blazor.Modals
public partial class DeleteConfirmation
{
[CascadingParameter]
public BlazoredModalInstance ModalInstance { get; set; }
public required BlazoredModalInstance ModalInstance { get; set; }
[Inject]
public IDataService DataService { get; set; }
public required IDataService DataService { get; set; }
[Parameter]
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()
{
ModalInstance.CloseAsync(ModalResult.Ok(true));

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

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

@ -8,6 +8,6 @@ namespace Blazor.Models
[Required(ErrorMessage = "Name is required")]
[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 int Id { get; set; }
public string Nickname { get; set; }
public string HashedPassword { get; set; }
public required string Nickname { get; set; }
public required string HashedPassword { get; set; }
public void HashPassword(string password)
{

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

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

@ -6,19 +6,21 @@ namespace Blazor.Pages.Admins
{
public partial class AddAdministrator
{
private AdministratorModel administratorModel = new();
private AdministratorModel? administratorModel;
[Inject]
public IDataService DataService { get; set; }
public required IDataService DataService { get; set; }
[Inject]
public NavigationManager NavigationManager { get; set; }
public required NavigationManager NavigationManager { get; set; }
[Inject]
public ILogger<AddAdministrator> Logger { get; set; }
public required ILogger<AddAdministrator> Logger { get; set; }
private async Task HandleValidSubmit()
{
if (administratorModel != null)
{
administratorModel.HashPassword(administratorModel.HashedPassword);
@ -28,7 +30,7 @@ namespace Blazor.Pages.Admins
var formContent = new FormUrlEncodedContent(formData);
string apiUri = API.API_URL+"add/administrator/"+API.TOKEN;
string apiUri = API.API_URL + "add/administrator/" + API.TOKEN;
using (var httpClient = new HttpClient())
{
@ -49,4 +51,5 @@ namespace Blazor.Pages.Admins
NavigationManager.NavigateTo("administrators");
}
}
}
}

@ -11,26 +11,26 @@ namespace Blazor.Pages.Admins;
public partial class Administrators
{
public List<Administrator> administrators;
public List<Administrator> administrators = new();
private int totalItem;
[CascadingParameter]
public IModalService Modal { get; set; }
public required IModalService Modal { get; set; }
[Inject]
public IDataService DataService { get; set; }
public required IDataService DataService { get; set; }
[Inject]
public IWebHostEnvironment WebHostEnvironment { get; set; }
public required IWebHostEnvironment WebHostEnvironment { get; set; }
[Inject]
public ILocalStorageService LocalStorage { get; set; }
public required ILocalStorageService LocalStorage { get; set; }
[Inject]
public HttpClient Http { get; set; }
public required HttpClient Http { get; set; }
[Inject]
public NavigationManager NavigationManager { get; set; }
public required NavigationManager NavigationManager { get; set; }
private async Task OnReadData(DataGridReadDataEventArgs<Administrator> e)
{
@ -41,7 +41,7 @@ public partial class Administrators
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
totalItem = administrators.Count;

@ -10,21 +10,21 @@ namespace Blazor.Pages.Admins
[Parameter]
public int Id { get; set; }
private AdministratorModel administratorModel = new();
private AdministratorModel? administratorModel;
[Inject]
public IDataService DataService { get; set; }
public required IDataService DataService { get; set; }
[Inject]
public NavigationManager NavigationManager { get; set; }
public required NavigationManager NavigationManager { get; set; }
[Inject]
public IWebHostEnvironment WebHostEnvironment { get; set; }
public required IWebHostEnvironment WebHostEnvironment { get; set; }
[Inject]
public ILogger<EditAdministrator> Logger { get; set; }
public required ILogger<EditAdministrator> Logger { get; set; }
private string OldAdminName { get; set; }
private string OldAdminName { get; set; } = "";
protected override async Task OnInitializedAsync()
{
@ -40,6 +40,8 @@ namespace Blazor.Pages.Admins
}
private async Task HandleValidSubmit()
{
if (administratorModel != null)
{
administratorModel.HashPassword(administratorModel.HashedPassword);
@ -49,7 +51,7 @@ namespace Blazor.Pages.Admins
var formContent = new FormUrlEncodedContent(formData);
string apiUri = API.API_URL+"update/administrator/" + administratorModel.Id + "/" + API.TOKEN;
string apiUri = API.API_URL + "update/administrator/" + administratorModel.Id + "/" + API.TOKEN;
using (var httpClient = new HttpClient())
{
@ -65,9 +67,10 @@ namespace Blazor.Pages.Admins
}
}
Logger.LogInformation("Admin '{OldAdminModelName}' edited in '{NewAdminModelName}'",OldAdminName,administratorModel.Username);
Logger.LogInformation("Admin '{OldAdminModelName}' edited in '{NewAdminModelName}'", OldAdminName, administratorModel.Username);
NavigationManager.NavigateTo("administrators");
}
}
}
}

@ -6,20 +6,22 @@ namespace Blazor.Pages.Chapters;
public partial class AddChapter
{
private ChapterModel chapterModel = new();
private ChapterModel? chapterModel;
[Inject]
public IDataService DataService { get; set; }
public required IDataService DataService { get; set; }
[Inject]
public NavigationManager NavigationManager { get; set; }
public required NavigationManager NavigationManager { get; set; }
[Inject]
public ILogger<AddChapter> Logger { get; set; }
public required ILogger<AddChapter> Logger { get; set; }
private async Task HandleValidSubmit()
{
if (chapterModel != null)
{
var formData = new List<KeyValuePair<string, string>>();
formData.Add(new KeyValuePair<string, string>("name", chapterModel.Name));
@ -27,7 +29,7 @@ public partial class AddChapter
var formContent = new FormUrlEncodedContent(formData);
string apiUri = API.API_URL+"add/chapter/"+API.TOKEN;
string apiUri = API.API_URL + "add/chapter/" + API.TOKEN;
using (var httpClient = new HttpClient())
{
@ -43,10 +45,10 @@ public partial class AddChapter
}
}
Logger.LogInformation("Chapter '{chapterModelName}' added",chapterModel.Name);
Logger.LogInformation("Chapter '{chapterModelName}' added", chapterModel.Name);
NavigationManager.NavigateTo("chapters");
}
}
}

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

@ -6,16 +6,18 @@ namespace Blazor.Pages.Players
{
public partial class AddPlayer
{
private PlayerModel playerModel = new();
private PlayerModel? playerModel;
[Inject]
public IDataService DataService { get; set; }
public required IDataService DataService { get; set; }
[Inject]
public NavigationManager NavigationManager { get; set; }
public required NavigationManager NavigationManager { get; set; }
private async Task HandleValidSubmit()
{
if (playerModel != null)
{
playerModel.HashPassword(playerModel.HashedPassword);
@ -25,7 +27,7 @@ namespace Blazor.Pages.Players
var formContent = new FormUrlEncodedContent(formData);
string apiUri =API.API_URL+"add/player/"+API.TOKEN;
string apiUri = API.API_URL + "add/player/" + API.TOKEN;
using (var httpClient = new HttpClient())
{
@ -43,4 +45,5 @@ namespace Blazor.Pages.Players
NavigationManager.NavigateTo("players");
}
}
}
}

@ -10,16 +10,16 @@ namespace Blazor.Pages.Players
[Parameter]
public int Id { get; set; }
private PlayerModel playerModel = new();
private PlayerModel? playerModel;
[Inject]
public IDataService DataService { get; set; }
public required IDataService DataService { get; set; }
[Inject]
public NavigationManager NavigationManager { get; set; }
public required NavigationManager NavigationManager { get; set; }
[Inject]
public IWebHostEnvironment WebHostEnvironment { get; set; }
public required IWebHostEnvironment WebHostEnvironment { get; set; }
protected override async Task OnInitializedAsync()
{

@ -17,23 +17,24 @@ public partial class Players
private int totalPlayer;
[Inject]
public NavigationManager NavigationManager { get; set; }
public required NavigationManager NavigationManager { get; set; }
[CascadingParameter]
public IModalService Modal { get; set; }
public required IModalService Modal { get; set; }
[Inject]
public IDataService DataService { get; set; }
public IWebHostEnvironment WebHostEnvironment { get; set; }
public required IDataService DataService { get; set; }
[Inject]
public required IWebHostEnvironment WebHostEnvironment { get; set; }
[Inject]
public HttpClient Http { get; set; }
public required HttpClient Http { get; set; }
[Inject]
public ILocalStorageService LocalStorage { get; set; }
public required ILocalStorageService LocalStorage { get; set; }
[Inject]
public IJSRuntime IJSRuntime { get; set; }
public required IJSRuntime IJSRuntime { get; set; }
private async void OnDelete(int id)
{

@ -9,13 +9,13 @@ namespace Blazor.Pages.Questions
{
public partial class AddQuestion
{
private QuestionModel questionModel = new();
private QuestionModel? questionModel;
public List<Chapter> chapters;
public List<Chapter> chapters = new();
private List<AnswerModel> answerModels;
private List<AnswerModel> answerModels = new();
private List<Checkbox> checkboxs;
public List<Checkbox> checkboxs = new();
[Inject]
public required IDataService DataService { get; set; }
@ -24,10 +24,10 @@ namespace Blazor.Pages.Questions
public required NavigationManager NavigationManager { get; set; }
[Inject]
public HttpClient Http { get; set; }
public required HttpClient Http { get; set; }
[Inject]
public ILogger<AddAdministrator> Logger { get; set; }
public required ILogger<AddAdministrator> Logger { get; set; }
public class Checkbox
{
public int Id { get; set; }
@ -50,9 +50,17 @@ namespace Blazor.Pages.Questions
checkboxs.Add(new Checkbox(i));
}
}
private async void HandleValidSubmit()
{
protected override async Task OnInitializedAsync()
{
var response = Http.GetFromJsonAsync<Chapter[]>(API.API_URL + "chapters/" + API.TOKEN).Result;
if (response == null) chapters = new List<Chapter>();
else chapters = new List<Chapter>(response);
}
private async Task HandleValidSubmit()
{
if (questionModel != null)
{
await DataService.Add(questionModel);
var formData = new List<KeyValuePair<string, string>>();
@ -75,7 +83,7 @@ namespace Blazor.Pages.Questions
var formContent = new FormUrlEncodedContent(formData);
string apiUri = API.API_URL+"add/question/"+API.TOKEN;
string apiUri = API.API_URL + "add/question/" + API.TOKEN;
using (var httpClient = new HttpClient())
{
@ -94,4 +102,5 @@ namespace Blazor.Pages.Questions
NavigationManager.NavigateTo("questions");
}
}
}
}

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

Loading…
Cancel
Save