private async void SetPosition()
        {
            try
            {
                var locator = CrossGeolocator.Current;
                locator.DesiredAccuracy = 50;
                //var position = await locator.GetPositionAsync(TimeSpan.FromTicks(10000), null, false);
                var position = await locator.GetPositionAsync(TimeSpan.FromMilliseconds(10000));

                setPositionRequest.lat         = position.Latitude;
                setPositionRequest.lon         = position.Longitude;
                Settings.SourceLat             = position.Latitude.ToString();
                Settings.SourceLon             = position.Longitude.ToString();
                Settings.CurrentLat            = position.Latitude.ToString();
                Settings.CurrentLon            = position.Longitude.ToString();
                setPositionRequest.scancode    = Settings.QRCode;
                XFActIndicatorLoader.IsVisible = true;
                setPositionResponse            = await _apiServices.SetPositionAsync(new Get_API_Url().SetCurrentPosition(_baseUrl), false, new HeaderModel(), setPositionRequest);

                if (setPositionResponse.status == "Success")
                {
                    XFActIndicatorLoader.IsVisible = false;
                }
            }
            catch (Exception ex)
            {
                XFActIndicatorLoader.IsVisible = false;
                //await DisplayAlert("Alert", "Unable to get location,may need to increase timeout:" + ex, "OK");
                //await DisplayAlert("Alert", "Please turn on the GPS", "OK");
                await App.NavigationPage.Navigation.PopAsync();
            }
        }
 public WaitingScreen(StarHaulingResponseModel startHaulingResponse)
 {
     InitializeComponent();
     _apiServices          = new RestApi();
     _baseUrl              = Domain.Url + Domain.SetCurrentPositionApiConstant;
     getStatusResponse     = new GetStatusResponseModel();
     getStatusRequest      = new GetStatusRequestModel();
     setPositionRequest    = new SetPositionRequestModel();
     setPositionResponse   = new SetPositionResponseModel();
     getLoadInfoResponse   = new GetLoadInfoResponseModel();
     Settings.LicensePlate = startHaulingResponse.LicensePlate;
     Settings.ProjectName  = startHaulingResponse.ProjectName;
     this.BindingContext   = startHaulingResponse;
     GetPermission();
     GetLoadInfo();
     GetStatusReady();
     SetPositionReady();
     //GetPermission();
 }
Example #3
0
 public CurrentTrip()
 {
     InitializeComponent();
     _apiServices            = new RestApi();
     _baseUrl                = Domain.Url + Domain.SetCurrentPositionApiConstant;
     _baseUrl2               = Domain.Url + Domain.SetStatusApiConstant;
     setStatusRequest        = new SetStatusRequest();
     setStatusResponse       = new SetStatusResponse();
     getLoadInfoResponse     = new GetLoadInfoResponseModel();
     setPositionRequest      = new SetPositionRequestModel();
     setPositionResponse     = new SetPositionResponseModel();
     startHaulingResponse    = new StarHaulingResponseModel();
     getStatusResponse       = new GetStatusResponseModel();
     getStatusRequest        = new GetStatusRequestModel();
     XFLabelCurrentTrip.Text = "STATUS - HAULING";
     XFDestinationLbl.Text   = Settings.AddressName;
     //GetLoadInfo();
     SetPositionReady();
     GetStatusReady();
 }
Example #4
0
        private async void SetPosition()
        {
            try
            {
                var locator = CrossGeolocator.Current;
                locator.DesiredAccuracy = 50;
                //var position = await locator.GetPositionAsync(TimeSpan.FromTicks(10000), null, false);
                var position = await locator.GetPositionAsync(TimeSpan.FromMilliseconds(10000));

                setPositionRequest.lat         = position.Latitude;
                setPositionRequest.lon         = position.Longitude;
                Settings.SourceLat             = position.Latitude.ToString();
                Settings.SourceLon             = position.Longitude.ToString();
                Settings.CurrentLat            = position.Latitude.ToString();
                Settings.CurrentLon            = position.Longitude.ToString();
                setPositionRequest.scancode    = Settings.QRCode;
                XFActIndicatorLoader.IsVisible = true;
                setPositionResponse            = await _apiServices.SetPositionAsync(new Get_API_Url().SetCurrentPosition(_baseUrl), false, new HeaderModel(), setPositionRequest);

                if (setPositionResponse.status == "Success")
                {
                    XFActIndicatorLoader.IsVisible = false;
                }
            }
            catch (Exception ex)
            {
                XFActIndicatorLoader.IsVisible = false;
                //await DisplayAlert("Alert", "Unable to get location,may need to increase timeout:" + ex, "OK");
                //await DisplayAlert("Permission", "Please turn your GPS on", "OK");
                await App.NavigationPage.Navigation.PopAsync();
            }
            //try
            //{
            //    var locator = CrossGeolocator.Current;
            //    locator.DesiredAccuracy = 50;
            //    var position = await locator.GetPositionAsync(TimeSpan.FromMilliseconds(10000));
            //    setPositionRequest.lat = position.Latitude;
            //    Settings.CurrentLat = position.Latitude.ToString();
            //    setPositionRequest.lon = position.Longitude;
            //    Settings.CurrentLon = position.Longitude.ToString();
            //    setPositionRequest.scancode = Settings.QRCode;
            //    setPositionResponse = await _apiServices.SetPositionAsync(new Get_API_Url().SetCurrentPosition(_baseUrl), false, new HeaderModel(), setPositionRequest);

            //    dest = Settings.CurrentLat;
            //    DestinationLat = Convert.ToDouble(dest);
            //    destlon = Settings.CurrentLon;
            //    DestinationLon = Convert.ToDouble(destlon);
            //    currentLat = Settings.CurrentLat;
            //    CurrentLat = Convert.ToDouble(currentLat);
            //    currentLon = Settings.CurrentLon;
            //    CurrentLon = Convert.ToDouble(currentLon);
            //    sourcelat = Settings.SourceLat;
            //    SourceLat = Convert.ToDouble(sourcelat);
            //    sourcelon = Settings.SourceLon;
            //    SourceLon = Convert.ToDouble(sourcelon);

            //    GeoCoordinate pin1 = new GeoCoordinate(CurrentLat, CurrentLon);
            //    GeoCoordinate pin2 = new GeoCoordinate(DestinationLat, DestinationLon);
            //    double GeofenceRegionDestination = pin1.GetDistanceTo(pin2);


            //    GeoCoordinate pin3 = new GeoCoordinate(CurrentLat, CurrentLon);
            //    GeoCoordinate pin4 = new GeoCoordinate(SourceLat, SourceLon);
            //    double GeofenceRegionSource = pin3.GetDistanceTo(pin4);



            //    if (GeofenceRegionDestination < 250)
            //    {
            //        setStatusRequest.scancode = Settings.QRCode;
            //        setStatusRequest.status = "AR";
            //        Settings.Status = "AR";
            //        XFActIndicatorLoader.IsVisible = true;
            //        setStatusResponse = await _apiServices.SetStatusAsync(new Get_API_Url().CommonBaseApi(_baseUrl2), false, new HeaderModel(), setStatusRequest);
            //        if (setStatusResponse.status == "Success")
            //        {
            //            XFActIndicatorLoader.IsVisible = false;
            //            await DisplayAlert("Message", "Truck has enter Geofence Destination", "OK");
            //            //Settings.Status = setStatusResponse.status;
            //            XFLabelCurrentTrip.Text = "STATUS - ARRIVED";

            //        }
            //        if (setStatusResponse.status == "Error")
            //        {
            //            XFActIndicatorLoader.IsVisible = false;
            //            await DisplayAlert("Message", "No current ticket is found", "OK");

            //        }
            //    }
            //    if(Settings.Status == "AR")
            //    {
            //        if(GeofenceRegionDestination > 250)
            //        {
            //            setStatusRequest.scancode = Settings.QRCode;
            //            setStatusRequest.status = "RE";
            //            Settings.Status = "RE";
            //            XFActIndicatorLoader.IsVisible = true;
            //            setStatusResponse = await _apiServices.SetStatusAsync(new Get_API_Url().CommonBaseApi(_baseUrl2), false, new HeaderModel(), setStatusRequest);
            //            if (setStatusResponse.status == "Success")
            //            {
            //                XFActIndicatorLoader.IsVisible = false;
            //                await DisplayAlert("Message", "Truck has left Destination site geofence", "OK");
            //                //Settings.Status = setStatusResponse.status;
            //                XFLabelCurrentTrip.Text = "STATUS - RETURNING";

            //            }
            //            if(setStatusResponse.status == "Error")
            //            {
            //                XFActIndicatorLoader.IsVisible = false;
            //                await DisplayAlert("Message", "No current ticket is found", "OK");
            //                await App.NavigationPage.Navigation.PushAsync(new Home.HomePage());
            //            }
            //       }
            //    }
            //    if(Settings.Status == "RE")
            //    {
            //        if(GeofenceRegionSource < 250)
            //        {
            //            setStatusRequest.scancode = Settings.QRCode;
            //            setStatusRequest.status = "WA";
            //            Settings.Status ="WA";
            //            XFActIndicatorLoader.IsVisible = true;
            //            setStatusResponse = await _apiServices.SetStatusAsync(new Get_API_Url().CommonBaseApi(_baseUrl2), false, new HeaderModel(), setStatusRequest);
            //            if (setStatusResponse.status == "Success")
            //            {
            //                XFActIndicatorLoader.IsVisible = false;
            //                await DisplayAlert("Message", "Truck has enter source site geofence", "OK");
            //                //Settings.Status = setStatusResponse.status;
            //                startHaulingResponse.ProjectName = Settings.ProjectName;
            //                startHaulingResponse.LicensePlate = Settings.LicensePlate;
            //                await App.NavigationPage.Navigation.PushAsync(new WaitingScreen(startHaulingResponse));

            //            }
            //            if (setStatusResponse.status == "Error")
            //            {
            //                XFActIndicatorLoader.IsVisible = false;
            //                await DisplayAlert("Message", "No current ticket is found", "OK");
            //                await App.NavigationPage.Navigation.PushAsync(new Home.HomePage());
            //            }
            //        }
            //    }
            //}
            //catch (Exception ex)
            //{
            //    XFActIndicatorLoader.IsVisible = false;
            //    await DisplayAlert("Alert", "Server not responding", "OK");
            //    //await App.NavigationPage.Navigation.PopAsync();
            //    //await DisplayAlert("Alert", "Unable to get location,may need to increase timeout:" + ex, "OK");

            //}
        }