Пример #1
0
        private async void save_Clicked(object sender, EventArgs e)
        {
            string email = Xamarin.Forms.Application.Current.Properties["email"].ToString();

            if (string.IsNullOrEmpty(serialNumber.Text) && string.IsNullOrEmpty(deviceText.Text))
            {
                await DisplayAlert("訊息", "請輸入激活碼或者裝置號碼!", "OK");

                getUserData(email);
                return;
            }
            else if (string.IsNullOrEmpty(serialNumber.Text) && !string.IsNullOrEmpty(deviceText.Text))
            {
                snResult = true;
            }
            else if (!string.IsNullOrEmpty(serialNumber.Text) && string.IsNullOrEmpty(deviceText.Text))
            {
                CheckSN(serialNumber.Text);
            }
            else if (!string.IsNullOrEmpty(serialNumber.Text) && !string.IsNullOrEmpty(deviceText.Text))
            {
                CheckSN(serialNumber.Text);
            }
            if (snResult)
            {
                var isValid = _context.Validate();
                if (isValid)
                {
                    GetUserSerialNumber getSN = new GetUserSerialNumber();
                    string userSerialNumber   = await getSN.getUserSerialNumber(email);

                    if (!string.IsNullOrEmpty(userSerialNumber) && serialNumber.Text != userSerialNumber)
                    {
                        CleanUserTotalPoint cleanPoint = new CleanUserTotalPoint();
                        bool answer = await DisplayAlert("訊息", "注意!!!若修改激活碼則上一場的點數將會全被歸零", "OK", "取消");

                        if (answer == true)
                        {
                            bool cleanResult = await cleanPoint.cleanUserTotalPoint(email);

                            if (cleanResult != true)
                            {
                                await DisplayAlert("訊息", app.errorMessage, "OK");

                                return;
                            }
                        }
                        else
                        {
                            getUserData(email);
                            return;
                        }
                    }

                    if (NetworkCheck.IsInternet())
                    {
                        using (var client = new HttpClient())
                        {
                            var postData = new UserRegister
                            {
                                email          = Xamarin.Forms.Application.Current.Properties["email"].ToString(),
                                userName       = this.userName.Text,
                                birthday       = this.birthday.Text,
                                sex            = this.sex.Text,
                                tall           = this.tall.Text,
                                weight         = this.weight.Text,
                                age            = this.age.Text,
                                serialNumber   = serialNumber.Text,
                                deviceNumber   = deviceText.Text,
                                userPhotoImage = userPhotoImageSN
                            };
                            var json    = JsonConvert.SerializeObject(postData);
                            var content = new StringContent(json, Encoding.UTF8, "application/json");
                            //  send a POST request
                            var uri    = app.url + "/AR_admin/updateUserData";
                            var result = await client.PostAsync(uri, content);

                            if (result.IsSuccessStatusCode)
                            {
                                var resultString = await result.Content.ReadAsStringAsync();

                                var responseData = JsonConvert.DeserializeObject <Result>(resultString);
                                if (responseData != null && responseData.result != "")
                                {
                                    if (responseData.result == "0")
                                    {
                                        await DisplayAlert("訊息", "更新使用者資料成功!", "OK");
                                    }
                                    else if (responseData.result == "1")
                                    {
                                        await DisplayAlert("訊息", app.errorMessage, "OK");
                                    }
                                    else if (responseData.result == "2")
                                    {
                                        await DisplayAlert("訊息", "更新資料失敗!帳號不存在", "OK");
                                    }
                                    else if (responseData.result == "3")
                                    {
                                        await DisplayAlert("訊息", "更新資料失敗!使用者資料為空值", "OK");
                                    }
                                }
                                else
                                {
                                    await DisplayAlert("訊息", "更新資料失敗!請稍候再試", "OK");
                                }
                            }
                            else
                            {
                                await DisplayAlert("訊息", app.errorMessage, "OK");
                            }
                        }
                    }
                    else
                    {
                        await DisplayAlert("訊息", app.networkMessage, "OK");
                    }
                }
                else
                {
                    await DisplayAlert("訊息", "有必填欄位未輸入或格式錯誤!", "OK");
                }
            }
            else
            {
                await DisplayAlert("訊息", "激活碼有誤請重新輸入!", "OK");
            }
        }