Ejemplo n.º 1
0
        private async void Signup_Click(object sender, RoutedEventArgs e)
        {
            if (passReg.Password != passCheckReg.Password)
            {
                passCheckReg.Password = "";
                return;
            }

            registerPanel.IsEnabled = false;
            backButton.IsEnabled    = false;

            try
            {
                ReqRegisterModel model = new ReqRegisterModel()
                {
                    Email    = emailReg.Text,
                    Name     = nameReg.Text,
                    Password = passReg.Password
                };
                ResRegisterModel ds = await Account.Register(model);

                NotifyController.Show(PopupNotify.Normal, Res.Successfully, Res.VerifyAccount);
                Clear();
            }
            catch (WebException we)
            {
                WebResponse s = we.Response;
                if (s != null)
                {
                    using (var reader = new StreamReader(s.GetResponseStream()))
                    {
                        string raw = reader.ReadToEnd();
                        try
                        {
                            JArray jObject = JArray.Parse(raw);
                            foreach (JToken par in jObject.Children())
                            {
                                NotifyController.Show(PopupNotify.Error, par.Value <string>("property"), ((JProperty)par.Value <JToken>("constraints").First()).Value.ToString(), 4000);
                            }
                        }
                        catch
                        {
                            NotifyController.Show(PopupNotify.Error, Res.Error, raw, 5000);
                        }
                    }
                }
            }
            catch (Exception err)
            {
                Logger.Error("Auth_Register", err);
            }

            registerPanel.IsEnabled = true;
            backButton.IsEnabled    = true;
        }
Ejemplo n.º 2
0
        public static async Task <ResRegisterModel> Register(ReqRegisterModel model)
        {
            string raw = await Net.Request($"{URL_Api}users", "POST", false, JsonConvert.SerializeObject(model));

            return(JsonConvert.DeserializeObject <ResRegisterModel>(raw));
        }
        private async void Signup_Click(object sender, RoutedEventArgs e)
        {
            registerPanel.IsEnabled = false;
            RegModel reg = FormModel.RegModel;

            reg.Error = "";

            bool can = true;

            if (string.IsNullOrWhiteSpace(reg.Email))
            {
                reg.Error += Res.EmailEmpty + "\n";
                can        = false;
            }
            else if (!Regex.IsMatch(reg.Email, @".+@.+\..+"))
            {
                reg.Error += Res.EmailInvalid + "\n";
                can        = false;
            }
            if (string.IsNullOrWhiteSpace(reg.Login))
            {
                reg.Error += Res.UsernameEmpty + "\n";
                can        = false;
            }
            else if (reg.Login.Length < 2)
            {
                reg.Error += Res.UsernameLonger + "\n";
                can        = false;
            }
            else if (reg.Login.Length > 32)
            {
                reg.Error += Res.UsernameShoter + "\n";
                can        = false;
            }
            if (string.IsNullOrEmpty(passwordBoxReg.Password))
            {
                reg.Error += Res.PasswordEmpty + "\n";
                can        = false;
            }
            else if (passwordBoxReg.Password.Length < 6)
            {
                reg.Error += Res.PasswordLonger + "\n";
                can        = false;
            }
            reg.Error = reg.Error.Trim();

            if (can)
            {
                try
                {
                    ReqRegisterModel model = new ReqRegisterModel()
                    {
                        Email    = reg.Email,
                        Name     = reg.Login,
                        Password = passwordBoxReg.Password
                    };
                    ResRegisterModel ds = await Account.Register(model);

                    Open_AuthPanel(null, null);
                }
                catch (WebException we)
                {
                    reg.Error = GetError(we);
                }
                catch (Exception err)
                {
                    Logger.Error("Auth_Register", err);
                }
            }
            registerPanel.IsEnabled = true;
        }