Ejemplo n.º 1
0
        protected override async void OnAppearing()
        {
            base.OnAppearing();
            userList = await Trado.serviceMobile.GetTable <TradoUsager>().ToListAsync();

            echangeList = await Trado.serviceMobile.GetTable <TradoÉchange>().ToListAsync();

            me                      = userList.Where(x => x.Courriel.ToUpper().Equals(Courriel.ToUpper())).Single();
            echanges                = echangeList.Where(x => x.Usager2.Equals(me) || x.UsagerInitial.Equals(me)).ToList();
            echangesTermine         = echanges.Where(x => x.termine.Equals(false)).ToList();
            EchangeList.ItemsSource = echanges;
        }
Ejemplo n.º 2
0
        protected override async void OnAppearing()
        {
            base.OnAppearing();
            userList = await Trado.serviceMobile.GetTable <TradoUsager>().ToListAsync();

            offreList = await Trado.serviceMobile.GetTable <TradoÉchange>().ToListAsync();

            me       = userList.Where(X => X.Courriel.ToUpper().Equals(MyCourriel.ToUpper())).Single();
            offreMoi = offreList.Where(X => X.UsagerInitial.Equals(me)).ToList();
            offreMe  = offreMoi.Where(x => x.acceptation.Equals(false)).ToList();
            offreToi = offreList.Where(x => x.Usager2.Equals(me)).ToList();
            offreYou = offreToi.Where(x => x.acceptation.Equals(false)).ToList();
            OfferList.ItemsSource = offreMe;
        }
Ejemplo n.º 3
0
        private async void ToolbarItem_Clicked(object sender, EventArgs e)
        {
            var userList = await Trado.serviceMobile.GetTable <TradoUsager>().ToListAsync();

            TradoUsager userInitial = userList.Where(X => X.Courriel.ToUpper().Equals(MyCourriel.ToUpper())).Single();
            TradoUsager user2       = userList.Where(x => x.Courriel.ToUpper().Equals(HisCourriel.ToUpper())).Single();

            if (tradoObjetGet.Length >= 1 && tradoObjetGive.Length >= 1)
            {
                TradoÉchange tradoÉchange = new TradoÉchange
                {
                    tradoObjetsGet     = tradoObjetGet,
                    tradoObjetsGive    = tradoObjetGive,
                    UsagerInitial      = userInitial,
                    Usager2            = user2,
                    acceptationInitial = true,
                    acceptation2       = false,
                    acceptation        = false
                };

                await Trado.serviceMobile.GetTable <TradoÉchange>().InsertAsync(tradoÉchange);
            }
            else if (tradoObjetGet.Length < 1)
            {
                var reponse = await DisplayAlert("Erreur", "Est-ce que tu veux donner un objet sans en recevoir un?", "Oui", "Non");

                if (reponse == true)
                {
                    TradoÉchange tradoÉchange = new TradoÉchange
                    {
                        tradoObjetsGet     = tradoObjetGet,
                        tradoObjetsGive    = tradoObjetGive,
                        UsagerInitial      = userInitial,
                        Usager2            = user2,
                        acceptationInitial = true,
                        acceptation2       = false
                    };

                    await Trado.serviceMobile.GetTable <TradoÉchange>().InsertAsync(tradoÉchange);
                }
            }
            else if (tradoObjetGive.Length < 1)
            {
                await DisplayAlert("Erreur", "Tu ne peux pas faire une offre sans donner quelque chose.", "Ok");
            }
        }
Ejemplo n.º 4
0
        //Une fonction qui marche quand le bouton d'inscription a été pesé
        private async void InscriptionButton_Clicked(object sender, EventArgs e)
        {
            //only gets till here WTF!?
            var  nomUsager              = NomUsagerEntry.Text;
            var  courriel               = CourrielEntry.Text;
            var  prenom                 = PrenomEntry.Text;
            var  motdepasse             = MotDePasseEntry.Text;
            var  confirmeMotdepasse     = ConfirmerMotDePasseEntry.Text;
            var  nomUsagerNull          = string.IsNullOrWhiteSpace(nomUsager);
            var  courrielNull           = string.IsNullOrWhiteSpace(courriel);
            var  motdepasseNull         = string.IsNullOrWhiteSpace(motdepasse);
            var  prenomNull             = string.IsNullOrWhiteSpace(prenom);
            var  confirmeMotdepasseNull = string.IsNullOrWhiteSpace(confirmeMotdepasse);
            var  courrielPattern        = "^([\\w\\.\\-]+)@([\\w\\-]+)((\\.(\\w){2,3})+)$";
            var  nomUsagerPattern       = "^[^\\W](?=.*[a-z]).{4,14}$";
            var  motdepassePattern      = "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d).{5,14}$";
            bool isCourriel             = Regex.IsMatch(courriel, courrielPattern);
            bool isNomUsager            = Regex.IsMatch(nomUsager, nomUsagerPattern);
            var  isCCI                       = courriel.EndsWith("@ccharlemagne.com");
            bool isMotdepasse                = Regex.IsMatch(motdepasse, motdepassePattern);
            bool isNomUsagerCorrect          = false;
            bool isMotdepasseCorrect         = false;
            bool isConfirmeMotdepasseCorrect = false;
            bool isCourrielCorrect           = false;
            bool isPrenomCorrect             = false;

            //On essaille de trouver le même courriel que celui qui veut être inscrit dans la base de données pour ne pas créer deux usagers avec le même
            //courriel et on le met dans une variable nommé usager.
            var usager     = (await Trado.serviceMobile.GetTable <TradoUsager>().Where(u => u.Courriel == CourrielEntry.Text).ToListAsync()).FirstOrDefault();
            var nomDusager = (await Trado.serviceMobile.GetTable <TradoUsager>().Where(n => n.NomDUsager == NomUsagerEntry.Text).ToListAsync());

            if (courrielNull == true)
            {
                CourrielEntryErreurLabel.Text = "Un courriel es nécessaire.";
            }
            else if (isCourriel == false || isCCI == false)
            {
                CourrielEntryErreurLabel.Text = "Ce courriel ne respecte pas un format de courriel. Le courriel doit terminer avec @ccharlemagne.com";
            }
            else if (usager == null)
            {
                isCourrielCorrect             = true;
                CourrielEntryErreurLabel.Text = "";
            }
            else if (usager != null)
            {
                CourrielEntryErreurLabel.Text = "Ce courriel a déjà été utilisé.";
            }

            if (prenomNull == true)
            {
                PrenomEntryErreurLabel.Text = "Ton prénom est necessaire pour les communications par courriel.";
            }
            else
            {
                isPrenomCorrect             = true;
                PrenomEntryErreurLabel.Text = "";
            }

            if (nomUsagerNull == true)
            {
                NomUsagerEntryErreurLabel.Text = "Ton nom d'usager est nécessaire.";
            }
            else if (isNomUsager == false)
            {
                NomUsagerEntryErreurLabel.Text = "Ton nom d'usager doit contenir entre 5 et 15 charactères.";
            }
            else if (nomDusager != null)
            {
                NomUsagerEntryErreurLabel.Text = "Ce nom d'usager a déjà été pris.";
            }
            else
            {
                isNomUsagerCorrect             = true;
                NomUsagerEntryErreurLabel.Text = "";
            }

            if (motdepasseNull == true)
            {
                MotDePasseEntryErreurLabel.Text = "Un mot de passe est nécessaire.";
            }
            else if (isMotdepasse == false)
            {
                MotDePasseEntryErreurLabel.Text = "Le mot de passe doit avoir entre 6 et 15 charactères. Une lettre majuscule, une lettre minuscule et un chiffre est au minimum.";
            }
            else
            {
                isMotdepasseCorrect             = true;
                MotDePasseEntryErreurLabel.Text = "";
            }

            if (isMotdepasseCorrect == true)
            {
                if (confirmeMotdepasseNull == true)
                {
                    ConfirmerMotDePasseEntryErreurLabel.Text = "Reécris ton mot de passe pour le confirmer.";
                }
                else if (confirmeMotdepasse == motdepasse)
                {
                    isConfirmeMotdepasseCorrect = true;
                    ConfirmerMotDePasseEntryErreurLabel.Text = "";
                }
            }

            if (isCourrielCorrect == true && isNomUsagerCorrect == true && isMotdepasseCorrect == true && isPrenomCorrect == true && isConfirmeMotdepasseCorrect == true)
            {
                Random rnd       = new Random();
                int    verifCode = rnd.Next(1000, 10000);

                //Si le mot de passe est égal au mot de passe à confirmer
                //On peut inscrire l'usager
                TradoUsager tradoUsager = new TradoUsager()
                {
                    Courriel   = CourrielEntry.Text,
                    MotDePasse = MotDePasseEntry.Text,
                    Nom        = PrenomEntry.Text,
                    NomDUsager = NomUsagerEntry.Text,
                    code       = verifCode
                };

                await Trado.serviceMobile.GetTable <TradoUsager>().InsertAsync(tradoUsager);

                var apiKey = Environment.GetEnvironmentVariable("TradoAPIKeySENDGRID");
                var client = new SendGridClient(apiKey);

                await DisplayAlert("Succès", "Ton inscription a été faite. Vérifie ton courriel!", "Ok");

                var msg = new SendGridMessage();

                msg.SetFrom(new EmailAddress("*****@*****.**", "Trado"));

                var recipient = new EmailAddress(courriel, prenom);

                msg.AddTo(recipient);

                msg.SetSubject("Vérification de Courriel pour Trado");

                msg.AddContent(MimeType.Html, "<h1>Bienvenue à Trado!</h1>");
                msg.AddContent(MimeType.Text, "Merci pour votre inscription, " + PrenomEntry.Text + "! Copier ce code dans l'application pour valider votre courriel: " + verifCode.ToString());

                var response = await client.SendEmailAsync(msg);

                await Navigation.PushAsync(new PageVerification(tradoUsager));
            }
            ;
        }
Ejemplo n.º 5
0
 public PageVerification(TradoUsager tradoUsager)
 {
     InitializeComponent();
 }