private async void ConfirmBtn_Clicked(object sender, EventArgs e)
        {
            if (!CheckValidCode())
            {
                await DisplayAlert("Error", "Your code is wrong, check again!", "OK");

                return;
            }

            if (!emailItem.CheckTime())
            {
                bool result = await DisplayAlert("Error", "Your code is expired!", "Resend", "Cancel");

                if (result)
                {
                    using (UserDialogs.Instance.Loading("Sending code.."))
                    {
                        this.emailItem = EmailService.SendCodeToEmail(this.user.Email);
                    }
                }
                return;
            }

            //CHECK XONG, CHUYỂN QUA MÀN HÌNH RESET PASSWORD
            var resetPage = new ResetPasswordView();
            var ResetVM   = new ResetPasswordViewModel(this.user);

            resetPage.BindingContext = ResetVM;
            await App.Current.MainPage.Navigation.PushAsync(resetPage, true);
        }
Ejemplo n.º 2
0
        public static EmailVerifyItem SendCodeToEmail(string email)
        {
            string code = "";

            using (UserDialogs.Instance.Loading("Sending code.."))
            {
                code = CreateCode();

                string      content = "This is a GroceryApp's automatic email for verification, enter this code to reset your password: "******". The code is valid for 2 minutes.";
                MailMessage mail    = new MailMessage("*****@*****.**", email, "Reset mật khẩu Grocery app", content);
                mail.IsBodyHtml = true;
                SmtpClient client = new SmtpClient("smtp.gmail.com");
                client.Host = "smtp.gmail.com";
                client.UseDefaultCredentials = false;
                client.Port        = 587;
                client.Credentials = new System.Net.NetworkCredential("*****@*****.**", "@quenmkroi");
                client.EnableSsl   = true;
                client.Send(mail);
            }
            EmailVerifyItem emailItem = new EmailVerifyItem
            {
                Code     = code,
                SendTime = DateTime.Now
            };

            return(emailItem);
        }
        private async void Send_Clicked(object sender, EventArgs e)
        {
            if (CheckValidInfor() == false)
            {
                await DisplayAlert("Error", "Your infor is wrong, check again!", "OK");

                return;
            }
            Users = Database.Users;

            User user = CheckExistInfor();

            if (user == null)
            {
                await DisplayAlert("Error", "Username or email is wrong, check again!", "OK");

                return;
            }

            EmailVerifyItem emailItem = null;

            try
            {
                //GỬI CODE QUA MAIL
                using (UserDialogs.Instance.Loading("Sending code.."))
                {
                    emailItem = EmailService.SendCodeToEmail(EmailEntry.Text);
                }
            }
            catch
            {
                await App.Current.MainPage.DisplayAlert("Error", "Action fail, check your internet connection and try again!", "OK");

                return;
            }


            //QUA PAGE NHẬP CODE
            using (UserDialogs.Instance.Loading("Waiting.."))
            {
                var CodeVerifyPage = new CodeVerifyView();
                CodeVerifyPage.SetUserData(user, emailItem);
                await App.Current.MainPage.Navigation.PushAsync(CodeVerifyPage, true);
            }
        }
 public void SetUserData(User user, EmailVerifyItem emailItem)
 {
     this.user      = user;
     this.emailItem = emailItem;
 }