parent
a572d7e517
commit
016e0e5194
@ -0,0 +1,102 @@
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using VeraxShield.modele.utilisateurs;
|
||||
|
||||
namespace VeraxShield.services.UtilisateursDataService
|
||||
{
|
||||
public class UtilisateursDataServiceApi : IUtilisateursDataService
|
||||
{
|
||||
[Inject]
|
||||
private HttpClient _clientHttp { get; set; }
|
||||
|
||||
[Inject]
|
||||
public NavigationManager _navigationManager { get; set; }
|
||||
|
||||
private string EmplacementModification {get; set;}
|
||||
private string EmplacementRecuperation {get; set;}
|
||||
|
||||
public UtilisateursDataServiceApi(HttpClient clientHttp, NavigationManager navigationManager)
|
||||
{
|
||||
this._clientHttp = clientHttp;
|
||||
this._navigationManager = navigationManager;
|
||||
|
||||
// Le site PHP n'étant pas encore mis en ligne. Ces urls n'existent pas encore à l'heure actuelle...
|
||||
this.EmplacementModification = "https://Verax.com/api/utilisateurs/modifier";
|
||||
this.EmplacementRecuperation = "https://Verax.com/api/utilisateurs/recuperer";
|
||||
}
|
||||
|
||||
|
||||
public async Task AjouterUtilisateur(Utilisateur u)
|
||||
{
|
||||
List<Utilisateur> data = await this.getAllUtilisateurs();
|
||||
data.Add(u);
|
||||
await this.SaveAllUtilisateurs(data);
|
||||
}
|
||||
|
||||
public async Task<List<Utilisateur>> getAllUtilisateurs()
|
||||
{
|
||||
List<Utilisateur> lUtilisateurs = new List<Utilisateur>();
|
||||
var data = await this._clientHttp.GetFromJsonAsync<Utilisateur[]>(this.EmplacementRecuperation);
|
||||
|
||||
if (data != null)
|
||||
{
|
||||
lUtilisateurs = data.ToList();
|
||||
}
|
||||
|
||||
return lUtilisateurs;
|
||||
}
|
||||
|
||||
public async Task<Utilisateur> getUtilisateurFromPseudo(string pseudo)
|
||||
{
|
||||
List<Utilisateur> utilisateurs = await this.getAllUtilisateurs();
|
||||
Utilisateur utilisateurTemporaire = null;
|
||||
|
||||
foreach (Utilisateur u in utilisateurs)
|
||||
{
|
||||
if (u.Pseudo == pseudo)
|
||||
{
|
||||
utilisateurTemporaire = u;
|
||||
}
|
||||
}
|
||||
|
||||
return utilisateurTemporaire;
|
||||
}
|
||||
|
||||
public async Task MettreAJourUtilisateur(Utilisateur u)
|
||||
{
|
||||
await this.SupprimerUtilisateur(u);
|
||||
await this.AjouterUtilisateur(u);
|
||||
}
|
||||
|
||||
public async Task MettreAJourUtilisateur(Utilisateur ancienneVersion, Utilisateur nouvelleVersion)
|
||||
{
|
||||
await this.SupprimerUtilisateur(ancienneVersion);
|
||||
await this.AjouterUtilisateur(nouvelleVersion);
|
||||
}
|
||||
|
||||
public async Task SaveAllUtilisateurs(List<Utilisateur> list)
|
||||
{
|
||||
await this._clientHttp.PutAsJsonAsync(this.EmplacementModification, list);
|
||||
}
|
||||
|
||||
public async Task SupprimerUtilisateur(Utilisateur u)
|
||||
{
|
||||
List<Utilisateur> data = await this.getAllUtilisateurs();
|
||||
int index = -1;
|
||||
|
||||
foreach(Utilisateur temp in data)
|
||||
{
|
||||
if (temp.Pseudo == u.Pseudo)
|
||||
{
|
||||
index = data.IndexOf(temp);
|
||||
}
|
||||
}
|
||||
|
||||
if (index != -1)
|
||||
{
|
||||
data.RemoveAt(index);
|
||||
}
|
||||
|
||||
await this.SaveAllUtilisateurs(data);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in new issue