Beispiel #1
0
        public async Task <bool> CreateNewCabRequest(CabRequest cabRequest)
        {
            var uri = new Uri(string.Format(AppServerConstants.CabRequestsUrl, string.Empty));
            HttpResponseMessage responseMessage = null;

            try
            {
                var json    = JsonConvert.SerializeObject(cabRequest);
                var content = new StringContent(json, Encoding.UTF8, "application/json");

                responseMessage = await client.PostAsync(uri, content);

                if (responseMessage.IsSuccessStatusCode)
                {
                    Debug.WriteLine("POST 201 OK: Cab request successfully submitted");
                    return(true);
                }
                else
                {
                    Debug.WriteLine(@"POST {0} NOT OK: Cab request failed", responseMessage.StatusCode);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(@"ERROR: {0}", ex.Message);
            }

            return(false);
        }
Beispiel #2
0
        public async Task <bool> CancelCabRequestByPassenger(CabRequest cabRequest)
        {
            var uri = new Uri(string.Format(AppServerConstants.CabRequestsUrl, cabRequest.CabRequestId));
            HttpResponseMessage responseMessage = null;

            try
            {
                responseMessage = await client.DeleteAsync(uri);

                if (responseMessage.IsSuccessStatusCode)
                {
                    Debug.WriteLine("POST 201 OK: Cab request successfully cancelled (passenger)");
                    return(true);
                }
                else
                {
                    Debug.WriteLine(@"POST {0} NOT OK: Cab request cancellation failed", responseMessage.StatusCode);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(@"ERROR: {0}", ex.Message);
            }

            return(false);
        }
Beispiel #3
0
        private async Task <bool> UpdateAcceptedCabRequest(int cabRequestId, CabRequest request)
        {
            request.IsAccepted       = true;
            request.ModifiedDateTime = DateTime.Now;

            var uri = new Uri(string.Format(AppServerConstants.CabRequestsUrl, cabRequestId));
            HttpResponseMessage responseMessage = null;

            try
            {
                var json    = JsonConvert.SerializeObject(request);
                var content = new StringContent(json, Encoding.UTF8, "application/json");

                responseMessage = await client.PutAsync(uri, content);

                if (responseMessage.IsSuccessStatusCode)
                {
                    Debug.WriteLine("POST 201 OK: Cab request successfully updated");
                    return(true);
                }
                else
                {
                    Debug.WriteLine(@"POST {0} NOT OK: Cab request update failed", responseMessage.StatusCode);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(@"ERROR: {0}", ex.Message);
            }

            return(false);
        }
Beispiel #4
0
        public async Task <IActionResult> PutCabRequest([FromRoute] int id, [FromBody] CabRequest cabRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != cabRequest.CabRequestId)
            {
                return(BadRequest());
            }

            _context.Entry(cabRequest).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!CabRequestExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Beispiel #5
0
        public CRSelectedPage(CabRequest cabRequest)
        {
            InitializeComponent();

            selectedRequest = cabRequest;

            BindingContext = selectedRequest;
        }
Beispiel #6
0
        public CRSelectedPage(CabRequest cabRequest)
        {
            InitializeComponent();
            selectedCabRequest = cabRequest;

            BindingContext = selectedCabRequest;

            FullName.Text = string.Format("{0} {1}", cabRequest.Passenger.FirstName, cabRequest.Passenger.LastName);
        }
Beispiel #7
0
        public async Task <IActionResult> PostCabRequest([FromBody] CabRequest cabRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.CabRequests.Add(cabRequest);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetCabRequest", new { id = cabRequest.CabRequestId }, cabRequest));
        }
Beispiel #8
0
        private async void RequestCabBtn_Clicked(object sender, EventArgs e)
        {
            string confirmBookingText = string.Format("Do you wish to confirm your cab request as follows:\n\nPickup Location: {0}\nDropoff Location: {1}\nPickup Date: {2:D}\nPickup Time: {3}\nNo. of Passengers: {4}\nLadies Only?: {5}\nAdditional Notes: {6}",
                                                      (PickUpPicker.SelectedItem as Location).LocationName,
                                                      (DropOffPicker.SelectedItem as Location).LocationName,
                                                      PickUpDatePicker.Date.ToString("ddd, d MMM yyyy"),
                                                      DateTime.Today.Add(PickUpTimePicker.Time).ToString("h:mm tt"),
                                                      NoOfPassengersPicker.SelectedItem,
                                                      LadiesOnlyPicker.SelectedItem,
                                                      AdditionalNotesEditor.Text);

            bool confirmBooking = await DisplayAlert("Request Cab", confirmBookingText, "Yes", "No");

            if (confirmBooking)
            {
                // add operations to book a cab
                DateTime dateTime = PickUpDatePicker.Date + PickUpTimePicker.Time;

                CabRequest cabRequest = new CabRequest
                {
                    PickUpLocationId  = (PickUpPicker.SelectedItem as Location).LocationId,
                    DropOffLocationId = (DropOffPicker.SelectedItem as Location).LocationId,
                    PickUpDateTime    = dateTime,
                    NoOfPassengers    = Convert.ToInt32(NoOfPassengersPicker.SelectedItem),
                    IsLadiesOnly      = (LadiesOnlyPicker.SelectedItem.Equals("Yes")) ? true : false,
                    AdditionalNotes   = AdditionalNotesEditor.Text,
                    PassengerId       = App.CurrentPassenger.PassengerId
                };

                bool IsSubmitted = await App.CabManager.CreateNewCabRequest(cabRequest);

                if (IsSubmitted)
                {
                    await DisplayAlert("Request Cab", "Your cab request is being processed. You will be notified once it is accepted by any of our drivers.", "OK");
                }
                else
                {
                    await DisplayAlert("Request Cab", "Your cab request could not be processed. Please contact technical support.", "OK");
                }
            }
            else
            {
                await DisplayAlert("Request Cab", "You have not proceeded with your cab request.", "OK");
            }

            await Navigation.PopToRootAsync();
        }
Beispiel #9
0
        public async Task <CabRequest> GetCabRequestById(int cabRequestId)
        {
            CabRequest cabRequest = new CabRequest();

            var uri = new Uri(string.Format(AppServerConstants.CabRequestsUrl, cabRequestId));

            try
            {
                var response = await client.GetAsync(uri);

                if (response.IsSuccessStatusCode)
                {
                    var content = await response.Content.ReadAsStringAsync();

                    cabRequest = JsonConvert.DeserializeObject <CabRequest>(content);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(@"ERROR: {0}", ex.Message);
            }

            return(cabRequest);
        }
Beispiel #10
0
 public Task <bool> CancelCabRequestByPassenger(CabRequest fulfillment)
 {
     return(cabService.CancelCabRequestByPassenger(fulfillment));
 }
Beispiel #11
0
 public Task <bool> AcceptCabRequest(CabRequest cabRequest, int driverId)
 {
     return(cabService.AcceptCabRequest(cabRequest, driverId));
 }
Beispiel #12
0
 public Task <bool> CreateNewCabRequest(CabRequest carpoolOffer)
 {
     return(cabService.CreateNewCabRequest(carpoolOffer));
 }