//icon in screen and decide what to do by check the call uri
        async void IconTapped(object sender, EventArgs e)
        {
            loading.IsVisible = true;
            try
            {
                if (menuItems.Id == "FuelCost")
                {
                    await Navigation.PushAsync(new RefuelEntry(menuItems.Name));
                }
                else if (menuItems.Id == "LogBook")
                {
                    await Navigation.PushAsync(new LogEntry("", menuItems.Name));
                }
                else
                {
                    var scanPage = new ZXingScannerPage();
                    await Navigation.PushAsync(scanPage);

                    scanPage.OnScanResult += (result) =>
                    {
                        Device.BeginInvokeOnMainThread(async() =>
                        {
                            if (menuItems.Id == "JobList" && Ultis.Settings.App == "asolute.Mobile.AILSHaulage")
                            {
                                scanPage.PauseAnalysis();
                                var content          = await CommonFunction.CallWebService(0, null, Ultis.Settings.SessionBaseURI, ControllerUtil.addJobURL(result.Text), this);
                                clsResponse response = JsonConvert.DeserializeObject <clsResponse>(content);
                                if (response.IsGood)
                                {
                                    Ultis.Settings.RefreshListView = "Yes";
                                    GetListData();
                                    displayToast("Job added to job list.");
                                }
                                scanPage.ResumeAnalysis();
                            }
                            else
                            {
                                await Navigation.PopAsync();
                                searchBar.Text = result.Text;
                            }
                        });
                    };
                }
                loading.IsVisible = false;
            }
            catch (Exception ex)
            {
                await DisplayAlert("Error", ex.Message, "OK");
            }
        }
        async void ScanBarCode()
        {
            try
            {
                dataGrid.IsVisible   = false;
                dataGrid.ItemsSource = null;

                var scanPage = new ZXingScannerPage();
                await Navigation.PushAsync(scanPage);

                scanPage.OnScanResult += (result) =>
                {
                    scanPage.PauseAnalysis();

                    TallyOut(result.Text);

                    scanPage.ResumeAnalysis();
                };
            }
            catch
            {
            }
        }