コード例 #1
0
        //GetClient Información del Usuario
        public async Task <Response> GetClientInfo(
            string accessToken,
            string GetClientServicePrefix,
            Models.Request.Client.getClientRequest model)
        {
            try
            {
                var request = JsonConvert.SerializeObject(model);
                var content = new StringContent(request, Encoding.UTF8, "application/json");
                var client  = new HttpClient();
                client.BaseAddress = new Uri(Constants.Url.BaseAdressBluemix);
                var url      = GetClientServicePrefix;
                var response = await client.PostAsync(Constants.Url.BaseAdressBluemix + GetClientServicePrefix, content);

                if (!response.IsSuccessStatusCode)
                {
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = response.StatusCode.ToString(),
                    });
                }

                var result = await response.Content.ReadAsStringAsync();

                var newRecord = JsonConvert.DeserializeObject <Models.Responses.Client.getClientResponse>(result);

                return(new Response
                {
                    IsSuccess = true,
                    Message = "OK",
                    Result = newRecord,
                });
            }
            catch (Exception ex)
            {
                return(new Response
                {
                    IsSuccess = false,
                    Message = ex.Message,
                });
            }
        }
コード例 #2
0
        public void CallApi(string code)
        {
            progressbar.Visibility    = ViewStates.Visible;
            contentWebview.Visibility = ViewStates.Gone;
            Task.Factory.StartNew(() =>
            {
                var response = ApiService.PostGetToken(code);

                if (!response.Result.IsSuccess)
                {
                    mActivity.RunOnUiThread(() =>
                    {
                        progressbar.Visibility     = ViewStates.Gone;
                        contentWebview.Visibility  = ViewStates.Visible;
                        AlertDialog.Builder dialog = new AlertDialog.Builder(mActivity);
                        AlertDialog alert          = dialog.Create();
                        alert.SetTitle("ALERTA");
                        alert.SetMessage("Hubo un error inesperado");
                        alert.SetButton("ACEPTAR", (c, ev) =>
                                        { });
                        alert.SetButton2("CANCEL", (c, ev) => { });
                        alert.Show();
                    });
                }

                var access_token = ((GetTokenResponse)response.Result.Result).access_token;

                //GetClient
                /*Init: Creating object to request*/
                var header = new Models.Request.Client.Header
                {
                    token = access_token,
                };

                var datum = new Models.Request.Client.Datum
                {
                    header = header,
                };

                var requestModel = new Models.Request.Client.getClientRequest
                {
                    data = new List <Models.Request.Client.Datum>()
                };
                requestModel.data.Add(datum);
                /*Finish: Creating object to request*/
                var ResponseClientInfo = ApiService.GetClientInfo(
                    access_token,
                    Constants.Url.GetClientServicePrefix,
                    requestModel).Result;

                if (!ResponseClientInfo.IsSuccess)
                {
                    mActivity.RunOnUiThread(() =>
                    {
                        progressbar.Visibility = Android.Views.ViewStates.Gone;
                        Android.App.AlertDialog.Builder dialog = new AlertDialog.Builder(mActivity);
                        AlertDialog alert = dialog.Create();
                        alert.SetTitle("Lo sentimos");
                        alert.SetMessage("Su autenticación ha fallado");
                        alert.SetButton("ACEPTAR", (c, ev) =>
                        {
                            var intent2 = new Intent(mActivity, typeof(MainActivity));
                            mActivity.StartActivity(intent2);
                            mActivity.Finish();
                        });
                        alert.SetButton2("CANCEL", (c, ev) => {
                            mActivity.Finish();
                        });
                        alert.Show();
                        return;
                    });
                }

                mActivity.RunOnUiThread(() =>
                {
                    progressbar.Visibility    = Android.Views.ViewStates.Gone;
                    contentWebview.Visibility = Android.Views.ViewStates.Visible;
                });
                var Client = (Models.Responses.Client.getClientResponse)ResponseClientInfo.Result;

                mActivity.RunOnUiThread(() =>
                {
                    Intent intent = new Intent(mActivity, typeof(HomeActivity));
                    intent.AddFlags(ActivityFlags.ClearTop | ActivityFlags.SingleTop);
                    intent.PutExtra("ClientInfo", JsonConvert.SerializeObject(Client));
                    intent.PutExtra("token", access_token);
                    mActivity.StartActivity(intent);
                    mActivity.Finish();
                });
            });
        }