Gestion de l'inscription

pull/8/head
Yvan CALATAYUD 2 years ago
parent 4f1a8c8cec
commit db94fc7b93

Binary file not shown.

@ -2,8 +2,8 @@
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <PropertyGroup>
<IsFirstTimeProjectOpen>False</IsFirstTimeProjectOpen> <IsFirstTimeProjectOpen>False</IsFirstTimeProjectOpen>
<ActiveDebugFramework>net7.0-android</ActiveDebugFramework> <ActiveDebugFramework>net7.0-windows10.0.19041.0</ActiveDebugFramework>
<ActiveDebugProfile>Google Pixel 6a (Android 13.0 - API 33)</ActiveDebugProfile> <ActiveDebugProfile>Windows Machine</ActiveDebugProfile>
<SelectedPlatformGroup>PhysicalDevice</SelectedPlatformGroup> <SelectedPlatformGroup>PhysicalDevice</SelectedPlatformGroup>
<DefaultDevice>pixel_5_-_api_33</DefaultDevice> <DefaultDevice>pixel_5_-_api_33</DefaultDevice>
</PropertyGroup> </PropertyGroup>
@ -14,6 +14,9 @@
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|net7.0-android|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|net7.0-android|AnyCPU'">
<DebuggerFlavor>ProjectDebugger</DebuggerFlavor> <DebuggerFlavor>ProjectDebugger</DebuggerFlavor>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net7.0-android|AnyCPU'">
<DebuggerFlavor>ProjectDebugger</DebuggerFlavor>
</PropertyGroup>
<ItemGroup> <ItemGroup>
<MauiXaml Update="Views\PageJeu.xaml"> <MauiXaml Update="Views\PageJeu.xaml">
<SubType>Designer</SubType> <SubType>Designer</SubType>

@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GameAtlas.Models
{
public class Admin : Utilisateur
{
public Admin(string mail, string pseudo, string mdp) : base(mail, pseudo, mdp)
{
}
public void AjouterJeu(Jeu jeu) { }
public void SupprimerJeu(Jeu jeu) { }
public void ModifierJeu(Jeu jeu) { }
}
}

@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GameAtlas.Models
{
public class Jeu
{
public string Nom;
public int Note;
public int NbTelechargement;
public string Plateforme;
public string Genre;
public Jeu(string nom, int note, int nbTelechargement, string plateforme, string genre)
{
Nom = nom;
Note = note;
NbTelechargement = nbTelechargement;
Plateforme = plateforme;
Genre = genre;
}
}
}

@ -11,6 +11,7 @@ namespace GameAtlas.Models
{ {
public string Mail { get; private set; } public string Mail { get; private set; }
public string Pseudo { get; private set; } public string Pseudo { get; private set; }
public string Mdp { get; private set; } public string Mdp { get; private set; }
//public List<Jeu> ListePossedes { get; private set; } //public List<Jeu> ListePossedes { get; private set; }
//public List<Jeu> ListeFavoris { get; private set; } //public List<Jeu> ListeFavoris { get; private set; }
@ -21,5 +22,13 @@ namespace GameAtlas.Models
Pseudo = pseudo; Pseudo = pseudo;
Mdp = mdp; Mdp = mdp;
} }
public int Connexion(string pseudo, string mdp) { return 0; }
public int Inscription(string mail, string pseudo, string mdp) { return 0; }
public void AjouterCom(Jeu jeu, string com) { }
public void SupprimerCom(Jeu jeu, string com) { }
public void AjouterEvaluation(Jeu jeu, int nbEtoiles) { }
} }
} }

@ -23,14 +23,14 @@
</Border> </Border>
<Border StrokeShape="RoundRectangle 8" Margin="40,0,40,30"> <Border StrokeShape="RoundRectangle 8" Margin="40,0,40,30">
<Entry x:Name="pseudonyme" Placeholder="Nom d'utilisateur" ClearButtonVisibility="WhileEditing" BackgroundColor="White" PlaceholderColor="#5E5E5E" /> <Entry x:Name="pseudo" Placeholder="Nom d'utilisateur" ClearButtonVisibility="WhileEditing" BackgroundColor="White" PlaceholderColor="#5E5E5E" />
</Border> </Border>
<Border StrokeShape="RoundRectangle 8" Margin="40,0,40,30"> <Border StrokeShape="RoundRectangle 8" Margin="40,0,40,30">
<Entry x:Name="password" Placeholder="Mot de passe" IsPassword="True" ClearButtonVisibility="WhileEditing" BackgroundColor="White" PlaceholderColor="#5E5E5E" /> <Entry x:Name="password" Placeholder="Mot de passe" IsPassword="True" ClearButtonVisibility="WhileEditing" BackgroundColor="White" PlaceholderColor="#5E5E5E" />
</Border> </Border>
<Button Text="S'enregistrer" <Button Text="S'inscrire"
VerticalOptions="Center" VerticalOptions="Center"
HorizontalOptions="Center" HorizontalOptions="Center"
BackgroundColor="#FAD05D" BackgroundColor="#FAD05D"
@ -39,6 +39,7 @@
Margin="0,50,0,10" Margin="0,50,0,10"
Padding="60,0,60,0" Padding="60,0,60,0"
CornerRadius="15" CornerRadius="15"
Clicked="OnSignUpClicked"
/> />
</VerticalStackLayout> </VerticalStackLayout>

@ -1,4 +1,5 @@
namespace GameAtlas.Views; namespace GameAtlas.Views;
using System.Text.RegularExpressions;
public partial class PageInscription : ContentPage public partial class PageInscription : ContentPage
{ {
@ -6,4 +7,68 @@ public partial class PageInscription : ContentPage
{ {
InitializeComponent(); InitializeComponent();
} }
private async void OnSignUpClicked(object sender, EventArgs e)
{
string mail = email.Text;
string username = pseudo.Text;
string mdp = password.Text;
if(string.IsNullOrWhiteSpace(mail) || string.IsNullOrWhiteSpace(username) || string.IsNullOrWhiteSpace(mdp))
{
await DisplayAlert("Erreur", "Entrez tous les champs", "Ok");
return;
}
else if (!Regex.IsMatch(mail, @"^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$"))
{
await DisplayAlert("Erreur","Email non valide","Ok");
return;
}
if (IsPasswordStrong(mdp) == false)
{
await DisplayAlert("Erreur", "Le mot de passe n'est pas assez fort", "OK");
return;
}
await Navigation.PushAsync(new PageAcceuil());
bool IsPasswordStrong(string password)
{
// Vérifier si le mot de passe est assez long
if (password.Length < 8)
{
return false;
}
// Vérifier si le mot de passe contient au moins une majuscule, une minuscule et un chiffre
bool hasUppercase = false;
bool hasLowercase = false;
bool hasDigit = false;
foreach (char c in password)
{
if (char.IsUpper(c))
{
hasUppercase = true;
}
else if (char.IsLower(c))
{
hasLowercase = true;
}
else if (char.IsDigit(c))
{
hasDigit = true;
}
}
return hasUppercase && hasLowercase && hasDigit;
}
}
} }
Loading…
Cancel
Save