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(); }
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(); }
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"); //} }