Example #1
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 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;
        }
        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");
            }
        }