73 lines
2.4 KiB
73 lines
2.4 KiB
using Model;
|
|
using Email = Model.Email;
|
|
|
|
namespace IHM.Mobile;
|
|
|
|
public partial class Inscription : ContentPage
|
|
{
|
|
private string code;
|
|
public Manager Mgr => (App.Current as App).Manager;
|
|
public Inscription()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
public void InscriptionOnClicked(object sender, EventArgs e)
|
|
{
|
|
if (EntryNewName.Text == null || EntryNewMail.Text == null || EntryConfirmationPassword.Text == null || EntryNewPassword.Text == null ||
|
|
EntryNewSurname.Text == null)
|
|
{
|
|
AffichError("Champ invalide", "Veuillez compléter tout les champs", "OK");
|
|
}
|
|
else
|
|
{
|
|
if(EntryNewPassword.Text.Equals(EntryConfirmationPassword.Text)) {
|
|
if (Mgr.existEmail(EntryNewMail.Text))
|
|
{
|
|
AffichError("Mail existant", "un compte porte déjà cette adresse mail, veuillez en changer", "OK");
|
|
}
|
|
else
|
|
{
|
|
try
|
|
{
|
|
Random generator = new Random();
|
|
code = generator.Next(0, 1000000).ToString("D6");
|
|
Email.CreateMail(EntryNewMail.Text, code);
|
|
ValidateReceptCode.IsVisible = true;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
AffichError("Information invalide", ex.Message, "OK");
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
AffichError("Mot de passe de confirmation invalide", "Veuillez mettre deux mots de passe identiques", "OK");
|
|
}
|
|
}
|
|
}
|
|
private void ValideCode(object sender, EventArgs e)
|
|
{
|
|
if (EntryCodeRecept.Text == code)
|
|
{
|
|
Inscrit inscrit = new Inscrit(Mgr.lastInscrit() + 1, EntryNewName.Text, EntryNewMail.Text, EntryNewSurname.Text, EntryNewPassword.Text);
|
|
Mgr.createInscrit(inscrit);
|
|
AffichError("compte créé", "Compte bien créé", "OK");
|
|
NavigateTo("..");
|
|
}
|
|
else
|
|
{
|
|
AffichError("Code non identique", "Veuillez entrer le même code que celui reçu par mail", "OK");
|
|
}
|
|
}
|
|
|
|
private async void AffichError(string s, string s1, string s2)
|
|
{
|
|
await DisplayAlert(s, s1, s2);
|
|
}
|
|
|
|
private async void NavigateTo(string s)
|
|
{
|
|
await Shell.Current.GoToAsync(s);
|
|
}
|
|
} |