Exemple #1
0
        private void UpcomingReservation_ItemSelected(object sender, SelectedItemChangedEventArgs e)
        {
            GetReservationByIDMobileResponse reservationModel = upcomingReservation.SelectedItem as GetReservationByIDMobileResponse;

            ((ListView)sender).SelectedItem = null;
            if (Navigation.NavigationStack[Navigation.NavigationStack.Count - 1].GetType() != typeof(ViewReservation))
            {
                Constants.IsHome = false;
                Navigation.PushAsync(new ViewReservation(reservationModel.reservationData.Reservationview.ReserveId));
            }
        }
Exemple #2
0
        private GetReservationByIDMobileResponse getReservationByID(GetReservationByIDMobileRequest reservationByIDMobileRequest, string token)
        {
            GetReservationByIDMobileResponse getReservationByID = null;
            RegisterController register = new RegisterController();

            try
            {
                getReservationByID = register.getReservationByID(reservationByIDMobileRequest, token);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(getReservationByID);
        }
Exemple #3
0
        public GetReservationByIDMobileResponse getReservationByID(GetReservationByIDMobileRequest reservationByIDMobileRequest, string token)
        {
            GetReservationByIDMobileResponse getReservationByID = null;

            try
            {
                getReservationByID = registerservice.getReservationByID(reservationByIDMobileRequest, token);
                if (getReservationByID.reservationData.Reservationview.VehicleTypeID > 0)
                {
                    getReservationByID.vehicleTypeModel = registerservice.GetVehicleTypesWithRates(getReservationByID.reservationData.Reservationview.VehicleTypeID, token);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(getReservationByID);
        }
Exemple #4
0
        public GetReservationByIDMobileResponse getReservationByID(GetReservationByIDMobileRequest reservationByIDMobileRequest, string token)
        {
            GetReservationByIDMobileResponse resp = null;

            try
            {
                using (HttpClient client = new HttpClient())
                {
                    client.BaseAddress = new Uri(ConstantData.ApiURL.ToString() + "ReservationMobile/GetReservationByIDMobile");
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);

                    var myContent   = JsonConvert.SerializeObject(reservationByIDMobileRequest);
                    var buffer      = System.Text.Encoding.UTF8.GetBytes(myContent);
                    var byteContent = new ByteArrayContent(buffer);
                    byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");

                    var response = client.PostAsync(client.BaseAddress, byteContent).Result;
                    if (response.IsSuccessStatusCode)
                    {
                        var responseStream = response.Content.ReadAsStringAsync().Result;
                        resp = JsonConvert.DeserializeObject <GetReservationByIDMobileResponse>(responseStream);
                    }
                    else
                    {
                        ApiMessage mes = new ApiMessage();

                        mes.ErrorCode    = response.StatusCode.ToString();
                        mes.ErrorMessage = response.ReasonPhrase.ToString();
                        mes.Status       = response.IsSuccessStatusCode.ToString();
                        resp.message     = mes;
                    }
                }
            }

            catch (Exception ex)
            {
                throw ex;
            }
            return(resp);
        }
Exemple #5
0
 private GetReservationByIDMobileResponse FixAsResponsibleToReservationByVehicle(GetReservationByIDMobileResponse reservationByIDMobileResponse)
 {
     if (reservationByIDMobileResponse.vehicleModel != null)
     {
         reservationByIDMobileResponse.vehicleTypeModel                 = new VehicleTypeWithRatesViewModel();
         reservationByIDMobileResponse.vehicleTypeModel.ImageUrl        = reservationByIDMobileResponse.vehicleModel.ImageUrl;
         reservationByIDMobileResponse.vehicleTypeModel.Seats           = reservationByIDMobileResponse.vehicleModel.Seats;
         reservationByIDMobileResponse.vehicleTypeModel.Baggages        = reservationByIDMobileResponse.vehicleModel.Baggages;
         reservationByIDMobileResponse.vehicleTypeModel.Transmission    = reservationByIDMobileResponse.vehicleModel.Transmission;
         reservationByIDMobileResponse.vehicleTypeModel.VehicleTypeName = reservationByIDMobileResponse.vehicleModel.VehicleType;
         reservationByIDMobileResponse.vehicleTypeModel.Sample          = reservationByIDMobileResponse.vehicleModel.Year.ToString() + " " + reservationByIDMobileResponse.vehicleModel.Make + " " + reservationByIDMobileResponse.vehicleModel.Model;
     }
     return(reservationByIDMobileResponse);
 }
Exemple #6
0
        private async void ViewReservation(RegistrationDBModel registrationDBModel)
        {
            isreservation = true;
            isAgreement   = false;
            reservationByIDMobileRequest.ReservationID = registrationDBModel.Reservations[0].ReservationId;

            busy = false;
            if (!busy)
            {
                try
                {
                    busy = true;
                    grdRentals.IsVisible         = false;
                    lastAgreementStack.IsVisible = false;
                    LoadingStack.IsVisible       = true;
                    await Task.Run(() =>
                    {
                        try
                        {
                            reservationByIDMobileResponse = getReservationByID(reservationByIDMobileRequest, _token);
                        }
                        catch (Exception ex)
                        {
                            PopupNavigation.Instance.PushAsync(new ErrorWithClosePagePopup(ex.Message));
                        }
                    });
                }
                finally
                {
                    busy = false;
                    grdRentals.IsVisible         = true;
                    LoadingStack.IsVisible       = false;
                    lastAgreementStack.IsVisible = false;
                    reservationByIDMobileResponse.reservationData.Reservationview.StartDateStr = ((DateTime)reservationByIDMobileResponse.reservationData.Reservationview.StartDate).ToString("dddd, dd MMMM yyyy hh:mm tt");
                    reservationByIDMobileResponse.reservationData.Reservationview.EndDateStr   = ((DateTime)reservationByIDMobileResponse.reservationData.Reservationview.EndDate).ToString("dddd, dd MMMM yyyy hh:mm tt");
                    reservationByIDMobileResponse.reservationData.Reservationview.PageTitle    = Enum.GetName(typeof(ReservationStatuses), reservationByIDMobileResponse.reservationData.Reservationview.Status);
                    if (reservationByIDMobileResponse.reservationData.Reservationview.Status == (short)ReservationStatuses.Quote)
                    {
                        reservationByIDMobileResponse.reservationData.Reservationview.PageTitle = "Pending";
                    }
                    if (reservationByIDMobileResponse.reservationData.Reservationview.Status == (short)ReservationStatuses.Open)
                    {
                        reservationByIDMobileResponse.reservationData.Reservationview.PageTitle = "Active";
                    }
                    if (reservationByIDMobileResponse.vehicleTypeModel == null)
                    {
                        reservationByIDMobileResponse = FixAsResponsibleToReservationByVehicle(reservationByIDMobileResponse);
                    }

                    reservationByIDMobileResponse.isTimerVisible = false;
                    List <GetReservationByIDMobileResponse> upreserItemSource = new List <GetReservationByIDMobileResponse>();
                    upreserItemSource.Add(reservationByIDMobileResponse);
                    upcomingReservation.ItemsSource   = upreserItemSource;
                    upcomingReservation.HeightRequest = 400;
                    //if (reservationByIDMobileResponse.reservationData.Reservationview.Status == (short)ReservationStatuses.Canceled)
                    //{
                    //    BooknowBtn.IsVisible = true;
                    //    isbookingBtnVisible = true;
                    //}
                    //else
                    //{
                    //    BooknowBtn.IsVisible = false;
                    //    isbookingBtnVisible = false ;
                    //}
                }
            }
        }
        protected override async void OnAppearing()
        {
            base.OnAppearing();
            MessagingCenter.Subscribe <Error_popup>(this, "reservationCancelled", sender =>
            {
                OnAppearing();
            });

            MessagingCenter.Subscribe <ExtendPopup>(this, "reservationUpdated", sender =>
            {
                OnAppearing();
            });

            //if (Navigation.NavigationStack[Navigation.NavigationStack.Count - 2].GetType() == typeof(SummaryOfChargesPage)) {
            //    int c = Navigation.NavigationStack.Count;
            //    for (var counter = 1; counter < c - 2; counter++)
            //    {
            //        Navigation.RemovePage(Navigation.NavigationStack[Navigation.NavigationStack.Count - 2]);

            //    }
            if (Navigation.NavigationStack.Count > 2)
            {
                if (Navigation.NavigationStack[Navigation.NavigationStack.Count - 2].GetType() == typeof(SummaryOfChargesPage))
                {
                    int c = Navigation.NavigationStack.Count;
                    for (var counter = 1; counter < c - 2; counter++)
                    {
                        Navigation.RemovePage(Navigation.NavigationStack[Navigation.NavigationStack.Count - 2]);
                    }
                }
            }



            if (PopupNavigation.Instance.PopupStack.Count > 0)
            {
                if (PopupNavigation.Instance.PopupStack[PopupNavigation.Instance.PopupStack.Count - 1].GetType() == typeof(ErrorWithClosePagePopup))
                {
                    await PopupNavigation.Instance.PopAllAsync();
                }
            }

            bool busy = false;

            if (!busy)
            {
                try
                {
                    busy = true;
                    await PopupNavigation.Instance.PushAsync(new LoadingPopup("Getting reservation details..."));

                    await Task.Run(() =>
                    {
                        try
                        {
                            reservationByIDMobileResponse = getReservationByID(reservationByIDMobileRequest, token);
                            //reservationModel = getReservation(reservationId,token);
                        }
                        catch (Exception ex)
                        {
                            PopupNavigation.Instance.PushAsync(new ErrorWithClosePagePopup(ex.Message));
                        }
                    });
                }
                finally
                {
                    busy = false;

                    if (PopupNavigation.Instance.PopupStack.Count == 1)
                    {
                        await PopupNavigation.Instance.PopAllAsync();
                    }
                    if (PopupNavigation.Instance.PopupStack.Count > 1)
                    {
                        if (PopupNavigation.Instance.PopupStack[PopupNavigation.Instance.PopupStack.Count - 1].GetType() != typeof(ErrorWithClosePagePopup) || PopupNavigation.Instance.PopupStack[PopupNavigation.Instance.PopupStack.Count - 1].GetType() == typeof(ReservationSavedPopup))
                        {
                            await PopupNavigation.Instance.PopAllAsync();
                        }
                    }
                }
            }
            if (reservationByIDMobileResponse != null)
            {
                if (reservationByIDMobileResponse.reservationData != null)
                {
                    ReservationId.Text = reservationByIDMobileResponse.reservationData.Reservationview.ReservationNumber.ToString();
                    string statusString = Enum.GetName(typeof(ReservationStatuses), reservationByIDMobileResponse.reservationData.Reservationview.Status);
                    status.Text = statusString;
                    if (reservationByIDMobileResponse.reservationData.Reservationview.Status == (short)ReservationStatuses.Quote)
                    {
                        status.Text = "Pending";
                    }


                    CheckOutLocation.Text = "Pivet Atlanta 2244 Metropolitan Pkwy SW, Atlanta, GA 30315";
                    CheckOutDate.Text     = reservationByIDMobileResponse.reservationData.Reservationview.StartDateStr;
                    CheckInLocation.Text  = "Pivet Atlanta 2244 Metropolitan Pkwy SW, Atlanta, GA 30315";
                    CheckInDate.Text      = reservationByIDMobileResponse.reservationData.Reservationview.EndDateStr;
                    VehicleType.Text      = reservationByIDMobileResponse.reservationData.Reservationview.VehicleType;
                    NoOfDays.Text         = reservationByIDMobileResponse.reservationData.Reservationview.TotalDays.ToString("00");
                    CreateDate.Text       = String.Format("{0: MM/dd/yyyy hh:mm tt}", reservationByIDMobileResponse.reservationData.Reservationview.createdDate);
                    //CreateDate.Text = reservationByIDMobileResponse.reservationData.Reservationview.createdDate.ToString("yyyy-MM-dd'T'HH:mm:ss'Z'", CultureInfo.InvariantCulture);
                    //Discount.Text = "[$" + reservationByIDMobileResponse.reservationData.Reservationview.TotalDiscount.ToString("0.00")+"]";
                    baseRate.Text = "$" + ((decimal)reservationByIDMobileResponse.reservationData.ReservationTotal.BaseCharge).ToString("0.00");
                    //finalBaseRate.Text = "$" + ((decimal)reservationByIDMobileResponse.reservationData.ReservationTotal.FinalBaseCharge).ToString("0.00");
                    //TotalMiscCharge.Text = "$" + ((decimal)reservationByIDMobileResponse.reservationData.ReservationTotal.TotalMiscCharge + (decimal)reservationByIDMobileResponse.reservationData.ReservationTotal.TotalMischargeWithOutTax).ToString("0.00");
                    //subTotal.Text = "$" + ((decimal)reservationByIDMobileResponse.reservationData.ReservationTotal.SubTotal).ToString("0.00");
                    //totalTax.Text = "$" + ((decimal)reservationByIDMobileResponse.reservationData.ReservationTotal.TotalTax).ToString("0.00");
                    //miscChargeNotax.Text = "$" + ((decimal)reservationByIDMobileResponse.reservationData.ReservationTotal.TotalMischargeWithOutTax).ToString("0.00");
                    estmateTotal.Text = "$" + ((decimal)reservationByIDMobileResponse.reservationData.ReservationTotal.TotalAmount).ToString("0.00");
                    amountPaid.Text   = "$" + ((decimal)reservationByIDMobileResponse.reservationData.ReservationTotal.AmountPaid).ToString("0.00");
                    balancedue.Text   = "$" + ((decimal)reservationByIDMobileResponse.reservationData.ReservationTotal.BalanceDue).ToString("0.00");
                    if (reservationByIDMobileResponse.vehicleTypeModel == null)
                    {
                        reservationByIDMobileResponse = FixAsResponsibleToReservationByVehicle(reservationByIDMobileResponse);
                    }

                    vehicleSampleEntry.Text = reservationByIDMobileResponse.vehicleTypeModel.Sample;
                    seatCount.Text          = reservationByIDMobileResponse.vehicleTypeModel.Seats;
                    bagCount.Text           = reservationByIDMobileResponse.vehicleTypeModel.Baggages.ToString();
                    transLabel.Text         = reservationByIDMobileResponse.vehicleTypeModel.Transmission;
                    carImage.Source         = ImageSource.FromUri(new Uri(reservationByIDMobileResponse.vehicleTypeModel.ImageUrl));

                    if (reservationByIDMobileResponse.reservationData.Reservationview.CustomerDriverList != null)
                    {
                        if (reservationByIDMobileResponse.reservationData.Reservationview.CustomerDriverList.Count > 0)
                        {
                            additionalDriverList.IsVisible     = true;
                            additionalDriverList.ItemsSource   = reservationByIDMobileResponse.reservationData.Reservationview.CustomerDriverList;
                            additionalDriverList.HeightRequest = (reservationByIDMobileResponse.reservationData.Reservationview.CustomerDriverList.Count) * 130;
                        }
                        else
                        {
                            additionalDriverList.IsVisible = false;
                        }
                    }
                    else
                    {
                        additionalDriverList.IsVisible = false;
                    }


                    cancelReservationMobileRequest.reservationNo = reservationByIDMobileResponse.reservationData.Reservationview.ReservationNumber.ToString();


                    if (reservationByIDMobileResponse.reservationData.Reservationview.Status == 2 || reservationByIDMobileResponse.reservationData.Reservationview.Status == (short)ReservationStatuses.Quote || reservationByIDMobileResponse.reservationData.Reservationview.Status == (short)ReservationStatuses.New)
                    {
                        cancelBtn.IsVisible = true;
                        ExtendBtn.IsVisible = true;
                    }

                    string         nodeValue = reservationByIDMobileResponse.reservationData.Reservationview.StartDateStr;
                    DateTimeOffset dtOffset;

                    if (DateTimeOffset.TryParse(nodeValue, null, DateTimeStyles.None, out dtOffset))
                    {
                        DateTime checkOutDatetime     = dtOffset.DateTime;
                        DateTime timeAfter1dayFromNow = DateTime.Now.AddHours(24);
                        int      result = DateTime.Compare(checkOutDatetime, timeAfter1dayFromNow);
                        if (result < 0)
                        {
                            //editBtn.IsVisible = false;
                        }
                    }
                }
                else
                {
                    await PopupNavigation.Instance.PushAsync(new Error_popup(reservationByIDMobileResponse.message.ErrorMessage));
                }
            }
        }
Exemple #8
0
        protected override async void OnAppearing()
        {
            base.OnAppearing();

            Constants.IsHomeDetail = true;
            DateTime     timeUtc = DateTime.UtcNow;
            TimeZoneInfo estZone = TimeZoneInfo.FindSystemTimeZoneById("America/New_York");

            estTime  = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, estZone);
            dateDiff = DateTime.Now - estTime;

            unSelectedTab();
            btnMyRentals.BackgroundColor = Color.FromHex("#DD0803");
            btnMyRentals.TextColor       = Color.White;
            grdRentals.IsVisible         = true;
            lastAgreementStack.IsVisible = false;
            Constants.IsHome             = true;
            bool canRun = true;

            if (PopupNavigation.Instance.PopupStack.Count > 0)
            {
                if (PopupNavigation.Instance.PopupStack[PopupNavigation.Instance.PopupStack.Count - 1] is editPrrofilePhotoPage || PopupNavigation.Instance.PopupStack[PopupNavigation.Instance.PopupStack.Count - 1] is AddCustomerPhotoPopup)
                {
                    canRun = false;
                }
                if (PopupNavigation.Instance.PopupStack[PopupNavigation.Instance.PopupStack.Count - 1].GetType() == typeof(ErrorWithClosePagePopup))
                {
                    await PopupNavigation.Instance.PopAllAsync();
                }
            }

            if (canRun)
            {
                Common.mMasterPage.Master      = new HomePageMaster();
                Common.mMasterPage.IsPresented = false;

                bool busy = false;
                if (!busy)
                {
                    try
                    {
                        busy = true;
                        await PopupNavigation.Instance.PushAsync(new LoadingPopup("Loading home.."));

                        await Task.Run(async() =>
                        {
                            try
                            {
                                //registrationDBModel = getRegistrationDBModel(customerId, _token);
                                registrationDBModelResponse = getMobileRegistrationDBModel(registrationDBModelRequest, _token);


                                if (!isAgreeRefreshed)
                                {
                                    customerAgreementModels = getReservations(customerId, _token);
                                }
                                isAgreeRefreshed = true;
                            }

                            //registrationDBModel.Reservations[0].ReservationId
                            catch (Exception ex)
                            {
                                App.Current.Properties["CustomerId"] = 0;
                                await PopupNavigation.Instance.PushAsync(new ErrorWithClosePagePopup(ex.Message));
                            }
                        });
                    }
                    finally
                    {
                        busy = false;
                        if (PopupNavigation.Instance.PopupStack.Count == 1)
                        {
                            await PopupNavigation.Instance.PopAllAsync();
                        }
                        else if (PopupNavigation.Instance.PopupStack.Count > 1)
                        {
                            if (PopupNavigation.Instance.PopupStack[PopupNavigation.Instance.PopupStack.Count - 1].GetType() != typeof(ErrorWithClosePagePopup))
                            {
                                await PopupNavigation.Instance.PopAllAsync();
                            }
                        }
                    }

                    if (registrationDBModelResponse != null)
                    {
                        if (registrationDBModelResponse.message.ErrorCode == "200")
                        {
                            registrationDBModel = registrationDBModelResponse.regDB;
                        }
                        else
                        {
                            await PopupNavigation.Instance.PushAsync(new ErrorWithClosePagePopup(registrationDBModelResponse.message.ErrorMessage));
                        }
                    }
                }
                if (registrationDBModel != null)
                {
                    if (registrationDBModel.Reservations.Count > 0)
                    {
                        if (registrationDBModel.Reservations[0].Status == "Open" || registrationDBModel.Reservations[0].Status == "New" || registrationDBModel.Reservations[0].Status == "Quote" || registrationDBModel.Reservations[0].Status == "Canceled")
                        {
                            isreservation = true;
                            isAgreement   = false;
                            reservationByIDMobileRequest.ReservationID = registrationDBModel.Reservations[0].ReservationId;

                            busy = false;
                            if (!busy)
                            {
                                try
                                {
                                    busy = true;
                                    grdRentals.IsVisible         = false;
                                    lastAgreementStack.IsVisible = false;
                                    LoadingStack.IsVisible       = true;
                                    await Task.Run(() =>
                                    {
                                        try
                                        {
                                            reservationByIDMobileResponse = getReservationByID(reservationByIDMobileRequest, _token);
                                        }
                                        catch (Exception ex)
                                        {
                                            PopupNavigation.Instance.PushAsync(new ErrorWithClosePagePopup(ex.Message));
                                        }
                                    });
                                }
                                finally
                                {
                                    busy = false;
                                    grdRentals.IsVisible         = true;
                                    LoadingStack.IsVisible       = false;
                                    lastAgreementStack.IsVisible = false;
                                    //reservationByIDMobileResponse.reservationData.Reservationview.StartDateStrForView = ((DateTime)reservationByIDMobileResponse.reservationData.Reservationview.StartDate).ToString("dddd, dd MMMM yyyy hh:mm tt");
                                    //reservationByIDMobileResponse.reservationData.Reservationview.EndDateStrForView = ((DateTime)reservationByIDMobileResponse.reservationData.Reservationview.EndDate).ToString("dddd, dd MMMM yyyy hh:mm tt");
                                    reservationByIDMobileResponse.reservationData.Reservationview.PageTitle = Enum.GetName(typeof(ReservationStatuses), reservationByIDMobileResponse.reservationData.Reservationview.Status);
                                    if (reservationByIDMobileResponse.reservationData.Reservationview.Status == (short)ReservationStatuses.Quote)
                                    {
                                        reservationByIDMobileResponse.reservationData.Reservationview.PageTitle     = "Pending";
                                        reservationByIDMobileResponse.reservationData.Reservationview.ExtendVisible = true;
                                    }
                                    if (reservationByIDMobileResponse.reservationData.Reservationview.Status == (short)ReservationStatuses.Open)
                                    {
                                        reservationByIDMobileResponse.reservationData.Reservationview.PageTitle     = "Pending Pickup";
                                        reservationByIDMobileResponse.reservationData.Reservationview.ExtendVisible = true;
                                    }
                                    if (reservationByIDMobileResponse.reservationData.Reservationview.Status == (short)ReservationStatuses.Canceled)
                                    {
                                        reservationByIDMobileResponse.reservationData.Reservationview.ExtendVisible = false;
                                    }

                                    if (reservationByIDMobileResponse.vehicleTypeModel == null)
                                    {
                                        reservationByIDMobileResponse = FixAsResponsibleToReservationByVehicle(reservationByIDMobileResponse);
                                    }



                                    reservationByIDMobileResponse.isTimerVisible = false;
                                    List <GetReservationByIDMobileResponse> upreserItemSource = new List <GetReservationByIDMobileResponse>();
                                    upreserItemSource.Add(reservationByIDMobileResponse);
                                    upcomingReservation.ItemsSource   = upreserItemSource;
                                    upcomingReservation.HeightRequest = upcomingReservation.RowHeight;
                                    if (reservationByIDMobileResponse.reservationData.Reservationview.Status == (short)ReservationStatuses.Canceled)
                                    {
                                        BooknowBtn.IsVisible = true;
                                        isbookingBtnVisible  = true;
                                    }
                                    else
                                    {
                                        BooknowBtn.IsVisible = false;
                                        isbookingBtnVisible  = false;
                                    }
                                }
                            }
                            //if(registrationDBModel.Reservations[0].Status == "Canceled")
                            //{
                            //    BooknowBtn.IsVisible = true;
                            //}
                        }
                        else if (registrationDBModel.Reservations[0].Status == "CheckOut")
                        {
                            isreservation = false;
                            isAgreement   = true;
                            if (registrationDBModel.Agreements.Count > 0)
                            {
                                if (registrationDBModel.Agreements[0].Status == "Open")
                                {
                                    isAgreement        = true;
                                    agreementTimerList = new ObservableCollection <Event>()
                                    {
                                        new Event {
                                            Date = registrationDBModel.Agreements[0].CheckinDate
                                        }
                                    };


                                    Setup();
                                    agreementIdMobileRequest.agreementId = registrationDBModel.Agreements[0].AgreementId;
                                    agreementId = registrationDBModel.Agreements[0].AgreementId;
                                    int vehicleID = registrationDBModel.Agreements[0].VehicleId;
                                    vehicleId           = vehicleID;
                                    request.agreementId = agreementId;

                                    busy = false;
                                    if (!busy)
                                    {
                                        try
                                        {
                                            busy = true;
                                            grdRentals.IsVisible         = false;
                                            lastAgreementStack.IsVisible = false;
                                            LoadingStack.IsVisible       = true;
                                            await Task.Run(() =>
                                            {
                                                try
                                                {
                                                    agreementIdMobileResponse = getAgreement(agreementIdMobileRequest, _token, vehicleID);
                                                }
                                                catch (Exception ex)
                                                {
                                                    PopupNavigation.Instance.PushAsync(new ErrorWithClosePagePopup(ex.Message));
                                                }
                                            });
                                        }
                                        finally
                                        {
                                            busy = false;
                                            grdRentals.IsVisible         = false;
                                            LoadingStack.IsVisible       = false;
                                            lastAgreementStack.IsVisible = true;
                                            AgreementNumberLabel.Text    = agreementIdMobileResponse.custAgreement.AgreementDetail.AgreementNumber;
                                            AgreementReviewDetailSet agreement = agreementIdMobileResponse.custAgreement;
                                            string agrStatus = Enum.GetName(typeof(AgreementStatusConst), agreementIdMobileResponse.custAgreement.AgreementDetail.Status);
                                            statusLabel.Text = Enum.GetName(typeof(AgreementStatusConst), agreementIdMobileResponse.custAgreement.AgreementDetail.Status);
                                            if (agrStatus == "Open")
                                            {
                                                statusLabel.Text = "Active";
                                            }
                                            vehicleNameLabel.Text     = agreement.AgreementDetail.Year + " " + agreement.AgreementDetail.VehicleMakeName + " " + agreement.AgreementDetail.ModelName;
                                            VehicleTypeLabel.Text     = agreement.AgreementDetail.VehicleType;
                                            seatsCount.Text           = agreementIdMobileResponse.agreementVehicle.Seats;
                                            bagsCount.Text            = agreementIdMobileResponse.agreementVehicle.Baggages.ToString();
                                            TransType.Text            = agreementIdMobileResponse.agreementVehicle.Transmission;
                                            totalAmountLabel.Text     = "Days: " + agreement.AgreementDetail.TotalDays.ToString();
                                            pickUpLocationLabel.Text  = "Pivet Atlanta 2244 Metropolitan Pkwy SW, Atlanta, GA 30315";
                                            pickUpDateLabel.Text      = agreement.AgreementDetail.CheckoutDate.ToString("dddd, dd MMMM yyyy hh:mm tt");
                                            dropOffLocationLabel.Text = "Pivet Atlanta 2244 Metropolitan Pkwy SW, Atlanta, GA 30315";
                                            dropOffDateLabel.Text     = agreement.AgreementDetail.CheckinDate.ToString("dddd, dd MMMM yyyy hh:mm tt");
                                            VehicleImage.Source       = ImageSource.FromUri(new Uri(agreementIdMobileResponse.agreementVehicle.ImageUrl));



                                            if (estTime > agreement.AgreementDetail.CheckinDate)
                                            {
                                                setUpOverDueBalance();
                                            }
                                        }
                                    }
                                }
                                else
                                {
                                    isAgreement   = false;
                                    isreservation = false;
                                    upcomingReservation.IsVisible = false;
                                    emptyReservation.IsVisible    = true;
                                    BooknowBtn.IsVisible          = true;
                                }
                            }
                        }
                    }
                    else
                    {
                        upcomingReservation.IsVisible = false;
                        emptyReservation.IsVisible    = true;
                        BooknowBtn.IsVisible          = true;
                        // upReserveFrame.HeightRequest = 290;
                    }


                    if (customerAgreementModels != null)
                    {
                        if (customerAgreementModels.Count > 0)
                        {
                            lastAgreementId     = registrationDBModel.Agreements[0].AgreementId;
                            lastAgreementStatus = registrationDBModel.Agreements[0].Status;
                            if (customerAgreementModels[customerAgreementModels.Count - 1].Status == "Open")
                            {
                                customerAgreementModels.RemoveAt(customerAgreementModels.Count - 1);
                            }

                            List <CustomerAgreementModel> agreementItemSource = new List <CustomerAgreementModel>();

                            foreach (CustomerAgreementModel camfl in customerAgreementModels)
                            {
                                if (camfl.Status != null)
                                {
                                    if (camfl.Status == "Close" || camfl.Status == "Pending_Payment")
                                    {
                                        camfl.custAgreement.AgreementTotal.totalAmountStr = ((decimal)camfl.custAgreement.AgreementTotal.TotalAmount).ToString("0.00");
                                        if (camfl.Status == "Pending_Payment")
                                        {
                                            camfl.Status = "Pending Payment";
                                        }

                                        agreementItemSource.Add(camfl);
                                    }
                                }
                            }
                            agreementItemSource.Reverse();

                            myRentals.ItemsSource    = agreementItemSource;
                            myRentals.HeightRequest  = agreementItemSource.Count * 400;
                            emptyMyrentals.IsVisible = false;
                            myRentals.IsVisible      = true;
                        }
                        else
                        {
                            emptyMyrentals.IsVisible = true;
                            myRentals.IsVisible      = false;
                        }
                    }

                    else
                    {
                        myRentals.IsVisible = false;
                        // emptyMyrentals.IsVisible = true;
                        // myRentFrame.HeightRequest = 290;
                    }


                    var AllReservationTap = new TapGestureRecognizer();
                    AllReservationTap.Tapped += async(s, e) =>
                    {
                        Constants.IsHome = false;
                        if (Navigation.NavigationStack[Navigation.NavigationStack.Count - 1].GetType() != typeof(UpcomingReservations))
                        {
                            await Navigation.PushAsync(new UpcomingReservations());
                        }
                    };
                    //allReservationLabel.GestureRecognizers.Add(AllReservationTap);

                    var AllmyrentalsTap = new TapGestureRecognizer();
                    AllmyrentalsTap.Tapped += async(s, e) =>
                    {
                        Constants.IsHome = false;
                        if (Navigation.NavigationStack[Navigation.NavigationStack.Count - 1].GetType() != typeof(MyRentals))
                        {
                            await Navigation.PushAsync(new MyRentals());
                        }
                    };
                    //allAgreementLabel.GestureRecognizers.Add(AllmyrentalsTap);
                }
            }
        }