Пример #1
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            SetContentView(Resource.Layout.Register);

            mRegEmail = FindViewById<EditText>(Resource.Id.regEMailEditText);
            mRegPw = FindViewById<EditText>(Resource.Id.regPwEditText);
            mRegPwConfirm = FindViewById<EditText>(Resource.Id.regPwConfirmEditText);
            mRegName = FindViewById<EditText>(Resource.Id.regNameEditText);
            mRegSurname = FindViewById<EditText>(Resource.Id.regSurnameEditText);
            mRegDoB = FindViewById<TextView>(Resource.Id.regDoBTextView);
            mRegButton = FindViewById<Button>(Resource.Id.regButton);

            mDateOfBirth = new DateTime(1970, 1, 1);
            mRegDoB.Click += (object sender, EventArgs e) =>
            {
                var datePickerFragment = new DatePickerDialogFragment(this, mDateOfBirth.AddMonths(-1), this);
                datePickerFragment.Cancelable = false;
                datePickerFragment.Show(FragmentManager, null);
            };

            mRegButton.Click += async (object sender, EventArgs e) =>
            {
                if (AreFieldsFilled())
                    if (Regex.Match(mRegEmail.Text, @"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$").Success)
                        if (IsPasswordMatchingPolicy())
                            if (mRegPw.Text.Equals(mRegPwConfirm.Text))
                            {
                                mEmail = mRegEmail.Text;
                                mPw = mRegPw.Text;
                                mPwConfirm = mRegPwConfirm.Text;
                                mName = mRegName.Text;
                                mSurname = mRegSurname.Text;
                                //ProgressDialog
                                var loadingMessage = ProgressDialog.Show(this,
                                    GetString(Resource.String.SendingUserRegisterTitle
                                        ), GetString(Resource.String.SendingUserRegisterContent), true, false);
                                //nowy u¿ytkownik
                                newUser = new UserRegisterBinding
                                {
                                    Email = mEmail,
                                    Password = mPw,
                                    ConfirmPassword = mPwConfirm
                                };

                                var connectivityManager = (ConnectivityManager) GetSystemService(ConnectivityService);
                                var activeNetworkInfo = connectivityManager.ActiveNetworkInfo;
                                if (activeNetworkInfo == null || !activeNetworkInfo.IsConnected)
                                {
                                    loadingMessage.Dismiss();
                                    Toast.MakeText(this, GetString(Resource.String.NoConnectionInfo), ToastLength.Long)
                                        .Show();
                                    return;
                                }

                                var responseMessage = await RegisterUser(newUser);
                                if (responseMessage.IsSuccessStatusCode)
                                {
                                    var responseMessageContent = await responseMessage.Content.ReadAsStringAsync();
                                    var userId = JsonConvert.DeserializeObject<string>(responseMessageContent);

                                    //nowy podró¿uj¹cy
                                    newTraveler = new Traveler
                                    {
                                        Name = mName,
                                        Surname = mSurname,
                                        DateOfBirth = mDateOfBirth,
                                        UserId = userId
                                    };

                                    responseMessage = await AddTraveler(newTraveler);

                                    if (!responseMessage.IsSuccessStatusCode)
                                        return;
                                    loadingMessage.Dismiss();
                                    SetResult(Result.Ok);
                                    Finish();
                                }
                                else
                                {
                                    loadingMessage.Dismiss();
                                    Toast.MakeText(this, GetString(Resource.String.RegisterUserModelNotOkInfo),
                                        ToastLength.Long).Show();
                                }
                            }
                            else
                                Toast.MakeText(this, GetString(Resource.String.RegisterUserPwsNotEqualInfo),
                                    ToastLength.Long).Show();
                        else
                        {
                            for (var i = 0; i < 2; i++) 
                            Toast.MakeText(this, GetString(Resource.String.RegisterUserPwNotMatchingPolicyInfo),
                                ToastLength.Long).Show();
                        }
                    else
                        Toast.MakeText(this, GetString(Resource.String.RegisterUserEmailNotCorrectInfo),
                            ToastLength.Long).Show();
                else Toast.MakeText(this, GetString(Resource.String.RegisterUserNoDataInfo), ToastLength.Long).Show();
            };
        }
Пример #2
0
        private async Task<HttpResponseMessage> RegisterUser(UserRegisterBinding newUser)
        {
            var url = GetString(Resource.String.ApiLink) + "/api/Account/Register";
            client = new HttpClient();

            var json = JsonConvert.SerializeObject(newUser);
            var content = new StringContent(json, Encoding.UTF8, "application/json");
            var response = await client.PostAsync(new Uri(url), content);
            return response;
        }