private void RequestCabButton_TouchUpInside(object sender, EventArgs e)
        {
            newTripDetails = new NewTripDetails();
            newTripDetails.DestinationAddress = destinationAddress;
            newTripDetails.PickupAddress      = pickupAddress;
            newTripDetails.PickupLat          = pickuplocationLatLng.Latitude;
            newTripDetails.PickupLng          = pickuplocationLatLng.Longitude;
            newTripDetails.DestinationLat     = destinationLatLng.Latitude;
            newTripDetails.DestinationLng     = destinationLatLng.Longitude;
            newTripDetails.DistanceString     = mapHelper.distanceString;
            newTripDetails.DistanceValue      = mapHelper.distance;
            newTripDetails.DurationString     = mapHelper.durationString;
            newTripDetails.DurationValue      = mapHelper.duration;
            newTripDetails.EstimateFare       = mapHelper.EstimateFares();
            newTripDetails.TimeStamp          = DateTime.Now;
            newTripDetails.PaymentMethod      = "cash";

            estimateFaresRequestText.Text = "$" + mapHelper.EstimateFares().ToString();

            overlay.Hidden        = false;
            requestCabView.Hidden = false;

            requestListener = new CreateRequestEventListener(newTripDetails);
            requestListener.NoDriverAcceptedRequest += RequestListener_NoDriverAcceptedRequest;
            requestListener.DriverAccepted          += RequestListener_DriverAccepted;
            requestListener.TripUpdates             += RequestListener_TripUpdates;
            requestListener.CreateRequest();

            findDriverListener = new FindDriverListener(pickuplocationLatLng);
            findDriverListener.FindDrivers();
            findDriverListener.DriversFound   += FindDriverListener_DriversFound;
            findDriverListener.DriverNotFound += FindDriverListener_DriverNotFound;
        }
예제 #2
0
        private void RequestDriverButton_Click(object sender, System.EventArgs e)
        {
            requestDriverFragment            = new RequestDriver(mapHelper.EstimateFares());
            requestDriverFragment.Cancelable = false;
            var trans = SupportFragmentManager.BeginTransaction();

            requestDriverFragment.Show(trans, "Request");
            requestDriverFragment.CancelRequest += RequestDriverFragment_CancelRequest;

            newTripDetails = new NewTripDetails();
            newTripDetails.DestinationAddress = destinationAddress;
            newTripDetails.PickupAddress      = pickupAddress;
            newTripDetails.DestinationLat     = destinationLatLng.Latitude;
            newTripDetails.DestinationLng     = destinationLatLng.Longitude;
            newTripDetails.DistanceString     = mapHelper.distanceString;
            newTripDetails.DistanceValue      = mapHelper.distance;
            newTripDetails.DurationString     = mapHelper.durationstring;
            newTripDetails.DurationValue      = mapHelper.duration;
            newTripDetails.EstimateFare       = mapHelper.EstimateFares();
            newTripDetails.Paymentmethod      = "cash";
            newTripDetails.PickupLat          = pickupLocationLatlng.Latitude;
            newTripDetails.PickupLng          = pickupLocationLatlng.Longitude;
            newTripDetails.Timestamp          = DateTime.Now;

            requestListener = new CreateRequestEventListener(newTripDetails);
            requestListener.NoDriverAcceptedRequest += RequestListener_NoDriverAcceptedRequest;
            requestListener.DriverAccepted          += RequestListener_DriverAccepted;
            requestListener.TripUpdates             += RequestListener_TripUpdates;
            requestListener.CreateRequest();

            findDriverListener = new FindDriverListener(pickupLocationLatlng, newTripDetails.RideID);
            findDriverListener.DriversFound   += FindDriverListener_DriversFound;
            findDriverListener.DriverNotFound += FindDriverListener_DriverNotFound;
            findDriverListener.Create();
        }
        private void RequestDriverButton_Click(object sender, EventArgs e)
        {
            requestDriverFragment            = new RequestDriver(mapHelper.EstimateFares());
            requestDriverFragment.Cancelable = false;
            var trans = SupportFragmentManager.BeginTransaction();

            requestDriverFragment.Show(trans, "Request");
            requestDriverFragment.CancelRequest += RequestDriverFragment_CancelRequest;

            newTripDetails = new NewTripDetails();
            newTripDetails.DestinationAddress = destinationAddress;
            newTripDetails.PickupAddress      = pickupAddress;
            newTripDetails.DestinationLat     = destinationLatLng.Latitude;
            newTripDetails.DestinationLng     = destinationLatLng.Longitude;
            newTripDetails.DistanceString     = mapHelper.distanceString;
            newTripDetails.DistanceValue      = mapHelper.distance;
            newTripDetails.DurationString     = mapHelper.durationString;
            newTripDetails.DurationValue      = mapHelper.duration;
            newTripDetails.EstimateFare       = mapHelper.EstimateFares();
            newTripDetails.PaymentMethod      = "cash";
            newTripDetails.PickupLat          = pickupLocationLatLng.Latitude;
            newTripDetails.PickupLng          = pickupLocationLatLng.Longitude;
            newTripDetails.TimeStamp          = DateTime.Now;

            requestListener = new CreateRequestEventListener(newTripDetails);
            requestListener.CreateRequest();
        }
        async void RequestListener_NoDriverAcceptedRequest(object sender, EventArgs e)
        {
            try
            {
                RunOnUiThread(() =>
                {
                    if (requestDriverFragment != null && requestListener != null)
                    {
                        requestListener.CancelRequestOnTimeout();
                        requestListener = null;
                        requestDriverFragment.Dismiss();
                        requestDriverFragment = null;

                        Android.Support.V7.App.AlertDialog.Builder alert = new Android.Support.V7.App.AlertDialog.Builder(this);
                        alert.SetTitle("Message");
                        alert.SetMessage("Available Drivers Couldn't Accept Your Ride Request, Try again in a few mnoment");
                        alert.Show();
                    }
                });
                if (!IsConnected)
                {
                    await ConnectAsync();
                }
                await hubConnection.InvokeAsync("CancelRequest", "timeout");
            }
            catch (Exception ex)
            {
                ExceptionDialogue("Error", ex.Message);
            }
        }
        private void RequestDriverbtn_Click(object sender, System.EventArgs e)
        {
            requestDriverFragment            = new RequestDriver(150);
            requestDriverFragment.Cancelable = false;
            var trans = SupportFragmentManager.BeginTransaction();

            requestDriverFragment.Show(trans, "request");
            requestDriverFragment.CancelRequest += RequestDriverFragment_CancelRequest;



            newTripDetails = new NewTripDetails();
            newTripDetails.DestinationAddress = Destinationtext.Text;
            newTripDetails.PickupAddress      = PickUpLocationtext.Text;

            newTripDetails.PickupLat = PickupLocation.Latitude;
            newTripDetails.PickupLng = PickupLocation.Longitude;

            newTripDetails.DestinationLat = DestinationLocation.Latitude;
            newTripDetails.DestinationLng = DestinationLocation.Longitude;
            newTripDetails.DistanceString = "25";
            newTripDetails.DistanceValue  = 150;
            newTripDetails.DurationString = "ss";
            newTripDetails.DurationValue  = 33;
            newTripDetails.EstimateFare   = 150;
            newTripDetails.Paymentmethod  = "cash";
            newTripDetails.Timestamp      = DateTime.Now;

            requestListener = new CreateRequestEventListener(newTripDetails);
            requestListener.CreateRequest();
        }
예제 #6
0
        //SOS button
        private void SosButton_Click(object sender, System.EventArgs e)
        {
            requestGroupFragment            = new RequestGroup(mapHelper.EstimateFares());
            requestGroupFragment.Cancelable = false;
            var trans = SupportFragmentManager.BeginTransaction();



            newTripDetails = new NewTripDetails();
            newTripDetails.DestinationAddress = destinationAddress;
            newTripDetails.PickupAddress      = pickupAddress;
            newTripDetails.DestinationLat     = destinationLatLng.Latitude;
            newTripDetails.DestinationLng     = destinationLatLng.Longitude;
            newTripDetails.DistanceString     = mapHelper.distanceString;
            newTripDetails.DistanceValue      = mapHelper.distance;
            newTripDetails.DurationString     = mapHelper.durationstring;
            newTripDetails.DurationValue      = mapHelper.duration;
            newTripDetails.EstimateFare       = mapHelper.EstimateFares();
            newTripDetails.PickupLat          = pickupLocationLatlng.Latitude;
            newTripDetails.PickupLng          = pickupLocationLatlng.Longitude;
            newTripDetails.Timestamp          = DateTime.Now;
            //group

            requestListener = new CreateRequestEventListener(newTripDetails);
            requestListener.NoDriverAcceptedRequest += RequestListener_NoDriverAcceptedRequest;
            requestListener.DriverAccepted          += RequestListener_DriverAccepted;
            requestListener.TripUpdates             += RequestListener_TripUpdates;
            requestListener.CreateSOSRequest();

            PhoneDialer.Open("10111");
        }
 private void CancelRequestButton_TouchUpInside(object sender, EventArgs e)
 {
     if (requestListener != null)
     {
         requestListener.CancelRequest();
         requestListener       = null;
         requestCabView.Hidden = true;
         overlay.Hidden        = true;
     }
 }
예제 #8
0
 private void RequestdriverFragment_CancelRequest(object sender, EventArgs e)
 {
     if (requestdriverFragment != null && requestListener != null)
     {
         requestListener.CancelRequest();
         requestListener = null;
         requestdriverFragment.Dismiss();
         requestdriverFragment = null;
     }
 }
예제 #9
0
 void RequestDriverFragment_CancelRequest(object sender, EventArgs e)
 {
     //User cancels request before driver accepts it
     if (requestDriverFragment != null && requestListener != null)
     {
         requestListener.CancelRequest();
         requestListener = null;
         requestDriverFragment.Dismiss();
         requestDriverFragment = null;
     }
 }
예제 #10
0
        private void FindDriverListener_DriverNotFound(object sender, EventArgs e)
        {
            if (requestDriverFragment != null && requestListener != null)
            {
                requestListener.Cancelrequest();
                requestListener = null;
                requestDriverFragment.Dismiss();
                requestDriverFragment = null;

                Android.Support.V7.App.AlertDialog.Builder alert = new Android.Support.V7.App.AlertDialog.Builder(this);
                alert.SetTitle("Message");
                alert.SetMessage("No Available driver found, try again in a few moments");
            }
        }
예제 #11
0
        private void RequestListener_NoDriverAcceptedRequest(object sender, EventArgs e)
        {
            RunOnUiThread(() => {
                if (requestdriverFragment != null && requestListener != null)
                {
                    requestListener.CancelRequestOnTimeOut();
                    requestListener = null;
                    requestdriverFragment.Dismiss();
                    requestdriverFragment = null;

                    Android.Support.V7.App.AlertDialog.Builder alert = new Android.Support.V7.App.AlertDialog.Builder(this);
                    alert.SetTitle("Message");
                    alert.SetMessage("Avaliable drivers couldn't acecept your ride request, try again in a few moments");
                    alert.Show();
                }
            });
        }
예제 #12
0
        void RequestListener_NoDriverAcceptedRequest(object sender, EventArgs e)
        {
            RunOnUiThread(() =>
            {
                if (requestDriverFragment != null && requestListener != null)
                {
                    requestListener.CancelRequestOnTimeout();
                    requestListener = null;
                    requestDriverFragment.Dismiss();
                    requestDriverFragment = null;

                    Android.Support.V7.App.AlertDialog.Builder alert = new Android.Support.V7.App.AlertDialog.Builder(this);
                    alert.SetTitle("Message");
                    alert.SetMessage("Available Drivers Couldn't Accept Your Ride Request, Try again in a few mnoment");
                    alert.Show();
                }
            });
        }
        void RequestListener_TripUpdates(object sender, CreateRequestEventListener.TripUpdatesEventArgs e)
        {
            if (e.Status == "accepted")
            {
                tripStatusText.Text = "Coming";
                mapHelper.UpdateDriverLocationToPickUp(pickupLocationLatlng, e.DriverLocation);
            }

            else if (e.Status == "arrived")
            {
                tripStatusText.Text = "Driver Arrived";
                mapHelper.UpdateDriverArrived();
                MediaPlayer player = MediaPlayer.Create(this, Resource.Raw.alert);
                player.Start();
            }

            else if (e.Status == "ontrip")
            {
                tripStatusText.Text = "On Trip";
                mapHelper.UpdateLocationToDestination(e.DriverLocation, destinationLatLng);
            }

            else if (e.Status == "ended")
            {
                //   requestListener.EndTrip();
                requestListener = null;
                TripLocationUnset();

                driverAssignedBottomSheetBehavior.State = BottomSheetBehavior.StateHidden;

                MakePaymentFragment makePaymentFragment = new MakePaymentFragment(e.Fares, selectedVehicleType.Image);
                makePaymentFragment.Cancelable = false;
                var trans = SupportFragmentManager.BeginTransaction();
                makePaymentFragment.Show(trans, "payment");
                makePaymentFragment.PaymentCompleted += (i, p) =>
                {
                    makePaymentFragment.Dismiss();
                };
            }
        }
예제 #14
0
            public void OnDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth)
            {
                string scheduledDate;

                scheduledDate = dayOfMonth + "/" + (monthOfYear + 1) + "/" + year;
                // Note: monthOfYear is a value between 0 and 11, not 1 and 12!
                DateTime selectedDate = new DateTime(year, monthOfYear + 1, dayOfMonth);

                Log.Debug(TAG, selectedDate.ToLongDateString());
                _dateSelectedHandler(selectedDate);


                newTripDetails = new NewTripDetails();
                newTripDetails.DestinationAddress = "Clearwater";
                newTripDetails.PickupAddress      = "Bunting Road Campus";
                newTripDetails.Paymentmethod      = "cash";
                newTripDetails.Timestamp          = DateTime.Now;
                //group
                newTripDetails.ScheduledDate = scheduledDate;
                requestListener = new CreateRequestEventListener(newTripDetails);
                requestListener.CreateGroupRequest();
            }
        async void RequestDriverFragment_CancelRequest(object sender, EventArgs e)
        {
            try
            {
                //User cancels request before driver accepts it
                if (requestDriverFragment != null && requestListener != null)
                {
                    // requestListener.CancelRequest();
                    requestListener = null;
                    requestDriverFragment.Dismiss();
                    requestDriverFragment = null;
                }

                if (!IsConnected)
                {
                    await ConnectAsync();
                }
                await hubConnection.InvokeAsync("CancelRequest", "cancel");
            }
            catch (Exception ex)
            {
                ExceptionDialogue("Error", ex.Message);
            }
        }
        async void RequestDriver()
        {
            try
            {
                if (!IsConnected)
                {
                    await ConnectAsync();
                }

                if (tripDetails == null || (tripDetails != null && tripDetails.Action != "E"))
                {
                    tripDetails = new Rides();
                    RidesLocationInfo locationInfo = new RidesLocationInfo();
                    RidesInfo         ridesInfo    = new RidesInfo();
                    #region location Information
                    locationInfo.PickupDestinationName = destinationAddress;
                    locationInfo.PickupLocationName    = pickupAddress;
                    locationInfo.DestinationLatitude   = Convert.ToDecimal(destinationLatLng.Latitude);
                    locationInfo.DestinationLongitude  = Convert.ToDecimal(destinationLatLng.Longitude);
                    locationInfo.TotalDistance         = Convert.ToDecimal(mapHelper.distance);
                    locationInfo.PickupLatitude        = Convert.ToDecimal(pickupLocationLatlng.Latitude);
                    locationInfo.PickupLongitude       = Convert.ToDecimal(pickupLocationLatlng.Longitude);
                    #endregion
                    #region Rides Information
                    ridesInfo.EstimatedArrivalTime = Convert.ToDecimal(mapHelper.duration);
                    ridesInfo.TotalCost            = Convert.ToDecimal(mapHelper.EstimateFares(selectedVehicleType));
                    ridesInfo.RideBookingTime      = DateTime.Now;
                    #endregion
                    #region tripInformation
                    tripDetails.CustomerId             = new AppData().GetCurrentUser.CustomerId;
                    tripDetails.VehicleTypeId          = selectedVehicleType.TypeId;
                    tripDetails.RideTypeId             = 1;
                    tripDetails.RidesInfo              = ridesInfo;
                    tripDetails.RidesInfo.LocationInfo = locationInfo;
                    #endregion
                }
                requestListener = new CreateRequestEventListener(tripDetails, hubConnection);
                requestListener.NoDriverAcceptedRequest += RequestListener_NoDriverAcceptedRequest;
                requestListener.DriverAccepted          += RequestListener_DriverAccepted;
                requestListener.TripUpdates             += RequestListener_TripUpdates;
                requestListener.SendNotification        += RequestListener_SendNotification;

                ResponseData response = await requestListener.CreateRequest();

                if (response.IsSuccess == false)
                {
                    requestListener.CancelRequest();
                    requestListener = null;
                    requestDriverFragment.Dismiss();
                    requestDriverFragment = null;
                    Android.Support.V7.App.AlertDialog.Builder alert = new Android.Support.V7.App.AlertDialog.Builder(this);
                    alert.SetTitle("Message");
                    alert.SetMessage("Request not Completed. " + response.Message);
                    alert.Show();
                }
                else
                {
                    tripDetails        = FetchInformation(response);
                    findDriverListener = new FindDriverListener(tripDetails, hubConnection);
                    findDriverListener.DriversFound   += FindDriverListener_DriversFound;
                    findDriverListener.DriverNotFound += FindDriverListener_DriverNotFound;
                    requestDriverFragment              = new RequestDriver(Convert.ToDouble(tripDetails.RidesInfo.TotalCost), selectedVehicleType.Image);
                    requestDriverFragment.Cancelable   = false;
                    var trans = SupportFragmentManager.BeginTransaction();
                    requestDriverFragment.Show(trans, "Request");
                    requestDriverFragment.CancelRequest += RequestDriverFragment_CancelRequest;
                    // reqView = requestDriverFragment.View;
                    findDriverListener.Create(activeDrivers);
                }
            }
            catch (Exception ex)
            {
                ExceptionDialogue("Error", "Error in connection please try again");
            }
        }