示例#1
0
        private async Task Register()
        {
            try
            {
                var isUserExist = await CloudService.CheckUserExist(Email, CTSFactory.MakeCTS(10000).Token);

                isUserExist.ParseAPIResult();
                if (!isUserExist.IsSuccessful)
                {
                    throw new ArgumentException();
                }
                var json    = JsonObject.Parse(isUserExist.JsonSrc);
                var isExist = JsonParser.GetBooleanFromJsonObj(json, "isExist", false);
                if (isExist)
                {
                    throw new ArgumentException("The email has been used.");
                }

                var registerResult = await CloudService.Register(Email, MD5.GetMd5String(Password), CTSFactory.MakeCTS(100000).Token);

                registerResult.ParseAPIResult();
                if (!registerResult.IsSuccessful)
                {
                    throw new ArgumentException();
                }
                await Login();
            }
            catch (ArgumentException e)
            {
                ToastService.SendToast(e.Message.IsNotNullOrEmpty() ? e.Message : "Fail to register");
            }
            catch (TaskCanceledException e)
            {
            }
            catch (Exception e)
            {
            }
            finally
            {
                ShowLoading = Visibility.Collapsed;
            }
        }