|
|
- using GMCabsDriverAssistant.Models;
- using GMCabsDriverAssistant.Services;
- using GMCabsDriverAssistantSolution.Models.Rydo;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Net;
- using System.Text;
- using System.Threading.Tasks;
-
- namespace GMCabsDriverAssistantSolution.ViewModels
- {
- [QueryProperty(nameof(BookingId), nameof(BookingId))]
- [QueryProperty(nameof(PickUpAddress), nameof(PickUpAddress))]
- [QueryProperty(nameof(DropUpAddress), nameof(DropUpAddress))]
- [QueryProperty(nameof(IsFutureBooking), nameof(IsFutureBooking))]
- [Obsolete]
- public class AcceptBookingViewModel : BaseViewModel
- {
- #region Constants
-
- private const int ASSISTANT_DRIVER_SOURCE = 4;
-
- #endregion Constants
-
- #region Fields
- public int seconds = 180;
- private string timerSeconds = "3:00";
- private string bookingId = "";
- public string pickUpAddress = "";
- public string dropUpAddress = "";
- private string errorMessage = "";
- private bool isProcessing = true;
- private bool isBookingConfirmed = false;
- public bool isBookingUnavailable = false;
- public bool isFutureBooking = false;
- private bool isBookingConfirmedAndOnDemand = false;
- #endregion
-
- #region Properties
- public string TimerSeconds
- {
- get => timerSeconds;
- set
- {
- SetProperty(ref timerSeconds, value);
- }
- }
- public string ErrorMessage
- {
- get => errorMessage;
- set
- {
- SetProperty(ref errorMessage, value);
- }
- }
-
- [Obsolete]
- public string BookingId
- {
- get => bookingId;
- set
- {
- SetProperty(ref bookingId, value);
- Processing(value);
- }
- }
- public string PickUpAddress
- {
- get => pickUpAddress;
- set
- {
- SetProperty(ref pickUpAddress, value);
- }
- }
- public string DropUpAddress
- {
- get => dropUpAddress;
- set
- {
- SetProperty(ref dropUpAddress, value);
- }
- }
- public bool IsProcessing
- {
- get => isProcessing;
- set => SetProperty(ref isProcessing, value);
- }
- public bool IsBookingConfirmed
- {
- get => isBookingConfirmed;
- set => SetProperty(ref isBookingConfirmed, value);
- }
- public bool IsBookingUnavailable
- {
- get => isBookingUnavailable;
- set => SetProperty(ref isBookingUnavailable, value);
- }
- public bool IsFutureBooking
- {
- get => isFutureBooking;
- set => SetProperty(ref isFutureBooking, value);
- }
- public bool IsBookingConfirmedAndOnDemand
- {
- get => isBookingConfirmedAndOnDemand;
- set => SetProperty(ref isBookingConfirmedAndOnDemand, value);
- }
- #endregion
-
- #region Constructor
- public AcceptBookingViewModel()
- {
- Title = "Processing";
- }
- #endregion
-
- #region Methods
- [Obsolete]
- private async void Processing(string booking_Id)
- {
- string rydoAccessToken = Preferences.Get(EftposLoginResponse.RYDO_ACCESS_TOKEN, "");
- Guid driverId = Guid.Parse(Preferences.Get(LoginResponseDto.USER_CODE, ""));
- GMCabsDriverService gmCabsDriverService = new GMCabsDriverService();
- AcceptDeclineBookingRequest acceptBookingRequest = new AcceptDeclineBookingRequest();
-
- var location = await Geolocation.GetLastKnownLocationAsync();
-
- acceptBookingRequest.DriverId = driverId;
- acceptBookingRequest.DriverSource = ASSISTANT_DRIVER_SOURCE;
- acceptBookingRequest.DriverLatitude = location.Latitude;
- acceptBookingRequest.DriverLongitude = location.Longitude;
-
- var res = await gmCabsDriverService.AcceptBooking(acceptBookingRequest, rydoAccessToken, booking_Id);
- if (res.StatusCode == (int)HttpStatusCode.OK)
- {
- Title = "Booking Confirmed";
- IsProcessing = false;
- IsBookingConfirmed = true;
-
- if (!IsFutureBooking)
- {
- IsBookingConfirmedAndOnDemand = true;
- Device.StartTimer(TimeSpan.FromSeconds(1), () =>
- {
- if (seconds > 0)
- {
- --seconds;
- TimerSeconds = seconds / 60 + ":" + (seconds % 60 <= 9 ? "0" + seconds % 60 : "" + seconds % 60);
- return true;
- }
- else
- {
- return false;
- }
-
- });
- }
- else
- {
- IsBookingConfirmedAndOnDemand = false;
- }
- }
- else
- {
- Title = "Booking Unavailable";
- ErrorMessage = res.Message;
- IsProcessing = false;
- IsBookingConfirmed = false;
- IsBookingUnavailable = true;
- }
-
- }
- #endregion
- }
- }
|