Esempio n. 1
0
        // Gets vehicle images data from the passed URL.
        private async Task <VehicleUKData> GetVehicleImagesfromAPIAsync(string url)
        {
            try
            {
                // Create an HTTP web request using the URL:
                HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(new Uri(url));
                request.ContentType = "application/json";
                request.Method      = "GET";

                // Send the request to the server and wait for the response:
                using (WebResponse response = await request.GetResponseAsync())
                {
                    // Get a stream representation of the HTTP web response:
                    using (Stream stream = response.GetResponseStream())
                    {
                        string       responseString = string.Empty;
                        StreamReader reader         = new StreamReader(stream);
                        responseString = reader.ReadToEnd();
                        stream.Flush();

                        VehicleUKData obj = null;
                        if (responseString != "")
                        {
                            //Converting JSON Array Objects into generic list
                            obj = JsonConvert.DeserializeObject <VehicleUKData>(responseString);
                        }

                        return(obj);
                    }
                }
            }
            catch (Exception ex)
            {
            }
            finally
            {
                //return null;
            }
            return(null);
        }
Esempio n. 2
0
        private async void DownLoadVehicleImages(string strRegNo)
        {
            if (CommonFunctions.IsNetworkConnected())
            {
                //km12akk
                // Get the latitude and longitude entered by the user and create a query.km12akk";//
                string url = "https://uk1.ukvehicledata.co.uk/api/datapackage/VehicleImageData?v=2&api_nullitems=1&auth_apikey=a418b0ad-33ab-4953-9a00-9d3ea8a12319&key_VRM=" + strRegNo;

                // Fetch the vehicle information asynchronously,
                // parse the results, then update the screen:
                objVehicleImageList = await GetVehicleImagesfromAPIAsync(url);

                if (objVehicleImageList != null)
                {
                    if (objVehicleImageList.Response.StatusCode.Equals("Success"))
                    {
                        if (CheckSelfPermission(permission) == (int)Permission.Granted)
                        {
                            CommonFunctions.CreateDirectoryForApp();
                            CommonFunctions.CreateDirectoryForRegNo(strRegNo);

                            //Needed to uncommment
                            for (int i = 0; i < objVehicleImageList.Response.DataItems.VehicleImages.ImageDetailsList.Count(); i++)
                            {
                                try
                                {
                                    string _RealVehicleImageName = String.Format("_{0}.png", i + 1);
                                    string _RealVehicleImagePath = Android.OS.Environment.ExternalStorageDirectory + "/RentACar" + "/" + strRegNo + "/" + _RealVehicleImageName;
                                    // Load image synchronously
                                    //// Bitmap bmp = imageLoader.LoadImageSync(objVehicleImageList.Response.DataItems.VehicleImages.ImageDetailsList[i].ImageUrl);
                                    Bitmap imageBitmap = CommonFunctions.GetBitmapFromUrl(objVehicleImageList.Response.DataItems.VehicleImages.ImageDetailsList[i].ImageUrl);
                                    var    stream      = new System.IO.FileStream(_RealVehicleImagePath, System.IO.FileMode.Create);
                                    imageBitmap.Compress(Bitmap.CompressFormat.Png, 100, stream);
                                    stream.Flush();
                                    stream.Close();
                                }
                                catch (Exception ex)
                                {
                                    // TODO: handle exception
                                }
                                finally
                                {
                                }
                            }
                        }
                        else
                        {
                            GetExternalStoragePermissionAsync();
                        }
                    }
                    else
                    {
                    }
                }
            }
            else
            {
                AlertDialog.Builder alert = new AlertDialog.Builder(this);
                alert.SetMessage("Please enable internet to get vehicle images from API.");
                alert.SetNeutralButton("OK", delegate { });
                alert.Create().Show();
            }
            //this.progressLayout.Visibility = ViewStates.Gone;
        }