Exemplo n.º 1
0
        public GetReservationConfigurationResponse getVehicleTypesMobileNew(GetReservationConfigurationMobileRequest vehicleMobileRequest, string token)
        {
            GetReservationConfigurationResponse result = null;

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

                    var myContent   = JsonConvert.SerializeObject(vehicleMobileRequest);
                    var buffer      = 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;
                        result = JsonConvert.DeserializeObject <GetReservationConfigurationResponse>(responseStream);
                    }
                }
            }

            catch (Exception ex)
            {
                throw ex;
            }
            return(result);
        }
Exemplo n.º 2
0
        public VehicleDetailPage(ReservationView reservationView)
        {
            InitializeComponent();
            this.reservationView = reservationView;
            search = new ReservationConfigurationVehicleSearch();
            vehicleMobileRequest  = new GetReservationConfigurationMobileRequest();
            vehicleMobileResponse = null;
            search.ClientId       = Constants.ClientId;
            //search.LocationId = (int)reservationView.StartLocationId;
            //search.CheckInLocationId = (int)reservationView.EndLocationId;
            search.IsOnline = true;
            //search.StartDate = (DateTime)reservationView.StartDate;
            //search.EndDate = (DateTime)reservationView.EndDate;

            search.StartDate = DateTime.Now;
            search.EndDate   = DateTime.Now.AddDays(3);

            search.VehicleCategoryId = 0;
            search.VehicleMakeID     = 0;
            search.ModelId           = 0;
            search.NumberOfSeats     = 0;
            search.RentalPeriod      = 0;
            search.VehicleId         = 0;
            lblLocation.Text         = reservationView.StartLocationName;
            //startDateLabel.Text = ((DateTime)reservationView.StartDate).ToString("ddd,MM/dd/yyyy");
            //endDateLabel.Text = ((DateTime)reservationView.EndDate).ToString("ddd,MM/dd/yyyy");
            //startTimeLabel.Text = ((DateTime)reservationView.StartDate).ToString("hh:mm tt");
            //endTimeLabel.Text = ((DateTime)reservationView.EndDate).ToString("hh:mm tt");
            vehicletypeList = new List <string>();
            VehicleFilter   = new VehicleFilterSearch();


            vehicleMobileRequest.search = search;
        }
        public GetReservationConfigurationResponse getVehicleTypesMobileNew(GetReservationConfigurationMobileRequest vehicleMobileRequest, string token)
        {
            GetReservationConfigurationResponse vehicleTypeResults = null;

            try
            {
                vehicleTypeResults = vehicleService.getVehicleTypesMobileNew(vehicleMobileRequest, token);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(vehicleTypeResults);
        }
Exemplo n.º 4
0
        private GetReservationConfigurationResponse getVehicleTypesMobileNew(GetReservationConfigurationMobileRequest vehicleMobileRequest, string token)
        {
            GetReservationConfigurationResponse vehicleTypeResults = null;
            VehicleController vehicle = new VehicleController();

            try
            {
                vehicleTypeResults = vehicle.getVehicleTypesMobileNew(vehicleMobileRequest, token);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(vehicleTypeResults);
        }
 public BookNow(ReservationView reservationView, VehicleViewByTypeForMobile selectedVehicle, List <int> locationIdList)
 {
     InitializeComponent();
     vehicleMobileRequest  = new GetReservationConfigurationMobileRequest();
     vehicleMobileResponse = null;
     search = new ReservationConfigurationVehicleSearch();
     //locationModels = null;
     locationResponse            = null;
     getStoreHoursMobileResponse = null;
     getStoreHoursMobileRequest  = new GetStoreHoursMobileRequest();
     reservationView             = new ReservationView();
     customerId           = 0;
     isBookable           = true;
     this.reservationView = reservationView;
     this.selectedVehicle = selectedVehicle;
     this.locationIdList  = locationIdList;
 }
Exemplo n.º 6
0
        public ExtendPopup(ReservationViewModel reservationData)
        {
            InitializeComponent();
            _token = App.Current.Properties["currentToken"].ToString();
            this.reservationData            = reservationData;
            reservationView                 = new ReservationView();
            reservationView                 = reservationData.Reservationview;
            reservationView.RateDetailsList = reservationData.RateDetailsList;
            reservationView.MiscList2       = reservationData.MiscChargeList;
            reservationView.TaxList2        = reservationData.TaxList;
            extendedDate.MinimumDate        = ((DateTime)reservationView.EndDate).AddHours(24);
            extendedDate.Format             = "dddd, MMMM d, yyyy";
            extendedTime.Time               = new TimeSpan(((DateTime)reservationView.EndDate).Hour, ((DateTime)reservationView.EndDate).Minute, ((DateTime)reservationView.EndDate).Second);
            extendedTime.Format             = "hh mm tt";
            ReservationMobileRequest        = new UpdateReservationMobileRequest();
            response = null;


            search = new ReservationConfigurationVehicleSearch();
            vehicleMobileRequest     = new GetReservationConfigurationMobileRequest();
            vehicleMobileResponse    = null;
            search.ClientId          = Constants.ClientId;
            search.LocationId        = (int)reservationView.StartLocationId;
            search.CheckInLocationId = (int)reservationView.EndLocationId;
            search.IsOnline          = true;
            search.StartDate         = (DateTime)reservationView.StartDate;
            search.EndDate           = (DateTime)reservationView.EndDate;
            search.VehicleTypeId     = (int)reservationView.VehicleTypeID;
            search.VehicleCategoryId = 0;
            search.VehicleMakeID     = 0;
            search.ModelId           = 0;
            search.NumberOfSeats     = 0;
            search.RentalPeriod      = 0;
            search.VehicleId         = 0;

            vehicleMobileRequest.search = search;


            type = ReferenceType.Reservation;
            summaryMobileRequest    = new GetCalculateSummaryMobileRequest();
            summaryMobileResponsecs = null;
            paidAmmount             = (decimal)reservationData.ReservationTotal.AmountPaid;
        }
        public EditVehicleDetail(ReservationView reservationView, ReservationViewModel reservationData)
        {
            InitializeComponent();
            this.reservationView = reservationView;
            search = new ReservationConfigurationVehicleSearch();
            vehicleMobileRequest     = new GetReservationConfigurationMobileRequest();
            vehicleMobileResponse    = null;
            search.ClientId          = Constants.ClientId;
            search.LocationId        = (int)reservationView.StartLocationId;
            search.CheckInLocationId = (int)reservationView.EndLocationId;
            search.IsOnline          = true;
            search.StartDate         = (DateTime)reservationView.StartDate;
            search.EndDate           = (DateTime)reservationView.EndDate;
            search.VehicleCategoryId = 0;
            search.VehicleMakeID     = 0;
            search.ModelId           = 0;
            search.NumberOfSeats     = 0;
            search.RentalPeriod      = 0;
            search.VehicleId         = 0;

            vehicleMobileRequest.search = search;
            this.reservationData        = reservationData;
        }
Exemplo n.º 8
0
        private async void updateReservation()
        {
            DateTime endDate    = ((DateTime)reservationView.EndDate).AddDays(int.Parse(NumberOfDays.SelectedItem.ToString()));
            string   endDateStr = endDate.ToString("MM/dd/yyyy hh:mm tt").Replace("-", "/");

            reservationView.EndDate             = endDate;
            reservationView.EndDateStr          = endDateStr;
            vehicleMobileRequest.search.EndDate = endDate;
            if (reservationView.VehicleId > 0)
            {
                vehicleMobileRequest.search.VehicleId = reservationView.VehicleId;
            }
            ;



            bool busy = false;

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

                    await Task.Run(() =>
                    {
                        try
                        {
                            vehicleMobileResponse = getVehicleTypesMobileNew(vehicleMobileRequest, _token);
                        }
                        catch (Exception ex)
                        {
                            PopupNavigation.Instance.PushAsync(new ErrorWithClosePagePopup(ex.Message));
                        }
                    });
                }
                finally
                {
                    busy = false;
                    await PopupNavigation.Instance.PopAsync();

                    if (vehicleMobileResponse != null)
                    {
                        if (vehicleMobileResponse.listVehicle != null)
                        {
                            if (vehicleMobileResponse.listVehicle.Count > 0)
                            {
                                if (reservationView.VehicleId > 0)
                                {
                                    foreach (ReservationVehicleSearchViewModel rvsvm in vehicleMobileResponse.listVehicle)
                                    {
                                        if (rvsvm.vehicleId == reservationView.VehicleId)
                                        {
                                            Rates rates = JsonConvert.DeserializeObject <Rates>(JsonConvert.SerializeObject(rvsvm.RateDetail));
                                            rates.RateId = rvsvm.RateDetail.RateID;
                                            List <Rates> rateDewtails = new List <Rates>();
                                            rates.StartDateStr = reservationView.StartDateStr;
                                            rates.EndDateStr   = reservationView.EndDateStr;
                                            rateDewtails.Add(rates);
                                            reservationView.RateDetailsList = rateDewtails;
                                            reservationView.TotalDays       = rates.TotalDays;
                                            reservationView.RateTotal       = (decimal)rates.RateTotal;
                                            break;
                                        }
                                    }
                                }
                                else
                                {
                                    foreach (ReservationVehicleSearchViewModel rvsvm in vehicleMobileResponse.listVehicle)
                                    {
                                        if (rvsvm.VehicleTypeId == reservationView.VehicleTypeID)
                                        {
                                            Rates rates = JsonConvert.DeserializeObject <Rates>(JsonConvert.SerializeObject(rvsvm.RateDetail));
                                            rates.RateId = rvsvm.RateDetail.RateID;
                                            List <Rates> rateDewtails = new List <Rates>();
                                            rates.StartDateStr = reservationView.StartDateStr;
                                            rates.EndDateStr   = reservationView.EndDateStr;
                                            rateDewtails.Add(rates);
                                            reservationView.RateDetailsList = rateDewtails;
                                            reservationView.TotalDays       = rates.TotalDays;
                                            reservationView.RateTotal       = (decimal)rates.RateTotal;
                                            break;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }

            if (reservationView.MiscList2 != null)
            {
                foreach (MiscChargeSearchReview msv in reservationView.MiscList2)
                {
                    msv.EndDate         = endDate;
                    msv.StartDateString = reservationView.StartDateStr;
                    msv.EndDateString   = endDateStr;
                    msv.IsSelected      = true;
                }
            }

            if (reservationView.TaxList2 != null)
            {
                foreach (LocationTaxModel ltm in reservationView.TaxList2)
                {
                    ltm.IsSelected = true;
                }
            }

            //ReservationMobileRequest.reservationData = reservationView;
            //ReservationController reservationController = new ReservationController();
            //try
            //{
            //    response = reservationController.updateReservationMobile(ReservationMobileRequest, _token);
            //}
            //catch (Exception ex)
            //{
            //    throw ex;
            //}
            //if (response != null)
            //{
            //    if (response.message.ErrorCode == "200")
            //    {
            //        MessagingCenter.Send(this, "reservationUpdated");
            //        await PopupNavigation.Instance.PopAllAsync();
            //    }
            //    else
            //    {
            //        await PopupNavigation.Instance.PushAsync(new Error_popup(response.message.ErrorMessage));
            //    }
            //}

            ReservationMobileRequest.reservationData = reservationView;
            ReservationController reservationController = new ReservationController();

            bool isbusy = false;

            if (!isbusy)
            {
                try
                {
                    isbusy = true;
                    await PopupNavigation.Instance.PushAsync(new LoadingPopup("checking bookable..."));

                    await Task.Run(() =>
                    {
                        //update reservation in database
                        try
                        {
                            response = reservationController.updateReservationMobile(ReservationMobileRequest, _token);
                        }
                        catch (Exception ex)
                        {
                            PopupNavigation.Instance.PushAsync(new ErrorWithClosePagePopup(ex.Message));
                        }
                    });
                }
                finally
                {
                    isbusy = false;


                    if (response != null)
                    {
                        if (response.message.ErrorCode == "200")
                        {
                            MessagingCenter.Send(this, "reservationUpdated");
                            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))
                                {
                                    await PopupNavigation.Instance.PopAsync();
                                }
                            }
                        }
                        else
                        {
                            await PopupNavigation.Instance.PushAsync(new Error_popup(response.message.ErrorMessage));
                        }
                    }
                    else
                    {
                        await PopupNavigation.Instance.PushAsync(new Error_popup("Update failed"));
                    }
                }
            }
        }
        private async void navigateNextPage()
        {
            DateTime sDate = pickUpDate.Date + pickUpTime.Time;
            DateTime eDate = sDate.AddDays(int.Parse(NumberOfDays.SelectedItem.ToString()));

            reservationView.StartLocationName = pickUpLocation.SelectedItem.ToString();
            reservationView.EndLocationName   = pickUpLocation.SelectedItem.ToString();
            reservationView.StartLocationId   = getLocationIdByName(pickUpLocation.SelectedItem.ToString());
            reservationView.EndLocationId     = getLocationIdByName(pickUpLocation.SelectedItem.ToString());
            reservationView.StartDate         = pickUpDate.Date + pickUpTime.Time;;
            reservationView.EndDate           = sDate.AddDays(int.Parse(NumberOfDays.SelectedItem.ToString()));
            reservationView.StartDateStr      = ((DateTime)reservationView.StartDate).ToString("MM/dd/yyyy hh:mm tt").Replace("-", "/");
            reservationView.EndDateStr        = ((DateTime)reservationView.EndDate).ToString("MM/dd/yyyy hh:mm tt").Replace("-", "/");


            search.LocationId        = (int)reservationView.StartLocationId;
            search.CheckInLocationId = (int)reservationView.EndLocationId;
            search.ClientId          = Constants.ClientId;
            search.IsOnline          = true;
            search.StartDate         = (DateTime)reservationView.StartDate;
            search.EndDate           = (DateTime)reservationView.EndDate;

            search.VehicleCategoryId    = 0;
            search.VehicleMakeID        = 0;
            search.ModelId              = 0;
            search.NumberOfSeats        = 0;
            search.RentalPeriod         = 0;
            search.VehicleId            = 0;
            search.VehicleTypeId        = selectedVehicle.VehicleTypeId;
            vehicleMobileRequest.search = search;



            bool busy = false;

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

                    await Task.Run(() =>
                    {
                        try
                        {
                            vehicleMobileResponse = getVehicleTypesMobileNew(vehicleMobileRequest, _token);
                            //vehicleResults = getVehicleTypes(token);
                            //vehicleResponse= getVehicleTypesMobile(token);
                        }
                        catch (Exception ex)
                        {
                            PopupNavigation.Instance.PushAsync(new ErrorWithClosePagePopup(ex.Message));
                        }
                    });
                }
                finally
                {
                    isVehicleAvailableOnThoseDays = false;
                    if (vehicleMobileResponse != null)
                    {
                        foreach (ReservationVehicleSearchViewModel rvsv in vehicleMobileResponse.listVehicle)
                        {
                            if (selectedVehicle.VehicleTypeId == rvsv.VehicleTypeId)
                            {
                                isVehicleAvailableOnThoseDays = true;
                                reservationView.VehicleTypeID = rvsv.VehicleTypeId;
                                reservationView.VehicleType   = rvsv.VehicleType;
                                Rates rates = JsonConvert.DeserializeObject <Rates>(JsonConvert.SerializeObject(rvsv.RateDetail));
                                rates.RateId = rvsv.RateDetail.RateID;
                                List <Rates> rateDewtails = new List <Rates>();
                                //rates.StartDateStr = reservationView.StartDateStr;
                                //rates.EndDateStr = reservationView.EndDateStr;
                                rateDewtails.Add(rates);
                                reservationView.RateDetailsList = rateDewtails;
                                reservationView.TotalDays       = rates.TotalDays;
                                selectedVehicle.RateDetail      = rvsv.RateDetail;
                                break;
                            }
                        }
                    }
                }
            }



            //reservationView.TotalDays =(int)((eDate - sDate).TotalDays);
            reservationView.ClientId = Constants.ClientId;
            if (isVehicleAvailableOnThoseDays)
            {
                await Navigation.PushAsync(new VechicleInformationPage(reservationView, selectedVehicle));
            }
            else
            {
                await PopupNavigation.Instance.PushAsync(new Error_popup("Sorry, Selected vehicle not available on those days, Please select a different vehicle. ", 1));
            }
        }
Exemplo n.º 10
0
        protected override async void OnAppearing()
        {
            base.OnAppearing();
            var assembly = typeof(BookNow);

            token                 = App.Current.Properties["currentToken"].ToString();
            customerId            = (int)App.Current.Properties["CustomerId"];
            forlistViewItemSource = new List <VehicleViewByTypeForMobile>();

            MessagingCenter.Subscribe <FilterPopup>(this, "FilterUpdated", sender =>
            {
                if (forlistViewItemSource != null)
                {
                    if (forlistViewItemSource.Count > 0)
                    {
                        forlistViewItemSourceWithFiter = new List <VehicleViewByTypeForMobile>();
                        forlistViewItemSourceWithFiter = forlistViewItemSource;
                        if (VehicleFilter.Price > 0)
                        {
                            forlistViewItemSourceWithFiter = filterbyPrice();
                        }
                        if (VehicleFilter.MinPrice > 0)
                        {
                            forlistViewItemSourceWithFiter = filterbyPriceMin();
                        }
                        if (VehicleFilter.VehicleType != null && forlistViewItemSourceWithFiter.Count > 0)
                        {
                            forlistViewItemSourceWithFiter = filterByVehType();
                        }

                        if (VehicleFilter.seatsCount > 0 && forlistViewItemSourceWithFiter.Count > 0)
                        {
                            forlistViewItemSourceWithFiter = filterbySeatCount();
                        }
                        if (VehicleFilter.buggageCount > 0 && forlistViewItemSourceWithFiter.Count > 0)
                        {
                            forlistViewItemSourceWithFiter = filterbyBAgCount();
                        }
                        if (VehicleFilter.DoorsCount > 0 && forlistViewItemSourceWithFiter.Count > 0)
                        {
                            forlistViewItemSourceWithFiter = filterbyDoorCount();
                        }
                        if (VehicleFilter.SortingOrder > -1 && forlistViewItemSourceWithFiter.Count > 0)
                        {
                            forlistViewItemSourceWithFiter = filterbySortingOrder();
                        }
                        if (forlistViewItemSourceWithFiter.Count > 0)
                        {
                            vehicleDetailList.ItemsSource   = null;
                            vehicleDetailList.ItemsSource   = forlistViewItemSourceWithFiter;
                            vehicleDetailList.HeightRequest = forlistViewItemSourceWithFiter.Count * 295;
                            noVehicleLabel.IsVisible        = false;
                            vehicleDetailList.IsVisible     = true;
                            VehicleFilter = null;
                            VehicleFilter = new VehicleFilterSearch();
                        }
                        else
                        {
                            vehicleDetailList.IsVisible = false;
                            //noVehicleLabel.IsVisible = true;
                            // buttonGrid.IsVisible = true;
                            noVehicleLabel.IsVisible = true;
                            VehicleFilter            = null;
                            VehicleFilter            = new VehicleFilterSearch();
                        }
                    }
                }
            });



            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 vehicles informations..."));

                    await Task.Run(() =>
                    {
                        try
                        {
                            vehicleMobileResponse = getVehicleTypesMobileNew(vehicleMobileRequest, token);
                            //vehicleResults = getVehicleTypes(token);
                            //vehicleResponse= getVehicleTypesMobile(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))
                        {
                            await PopupNavigation.Instance.PopAllAsync();
                        }
                    }
                }
                if (vehicleMobileResponse != null)
                {
                    if (vehicleMobileResponse.message.ErrorCode == "200")
                    {
                        if (vehicleMobileResponse.listVehicle.Count > 0)
                        {
                            List <int> vehicleTypeIds = new List <int>();

                            foreach (ReservationVehicleSearchViewModel rvsv in vehicleMobileResponse.listVehicle)
                            {
                                if ((!vehicleTypeIds.Contains(rvsv.VehicleTypeId)))
                                {
                                    vehicleTypeIds.Add(rvsv.VehicleTypeId);
                                    VehicleViewByTypeForMobile typeForMobile = new VehicleViewByTypeForMobile();
                                    typeForMobile.VehicleTypeId                 = rvsv.VehicleTypeId;
                                    typeForMobile.VehicleType                   = rvsv.VehicleType;
                                    typeForMobile.Transmission                  = rvsv.Transmission;
                                    typeForMobile.Seats                         = rvsv.Seats;
                                    typeForMobile.NoOfLuggage                   = rvsv.Baggages;
                                    typeForMobile.DailyRate                     = decimal.Round((decimal)rvsv.RateDetail.DailyRate, 2);
                                    typeForMobile.VehicleTypeImageUrl           = rvsv.VehicleTypeImage;
                                    typeForMobile.RateDetail                    = rvsv.RateDetail;
                                    typeForMobile.MileagePerDay                 = rvsv.MileagePerDay;
                                    typeForMobile.doors                         = rvsv.Doors;
                                    typeForMobile.IsVehicleAvailableDescription = rvsv.IsVehicleAvailableDescription;
                                    typeForMobile.HtmlContent                   = rvsv.HtmlContent;
                                    typeForMobile.SharableLink                  = rvsv.SharableLink;

                                    typeForMobile.sample         = rvsv.Sample;
                                    typeForMobile.locationIdList = new List <int>();
                                    typeForMobile.locationIdList.Add(rvsv.LocationId);

                                    forlistViewItemSource.Add(typeForMobile);

                                    vehicletypeList.Add(rvsv.VehicleType);
                                }
                                else
                                {
                                    foreach (VehicleViewByTypeForMobile listIntype in forlistViewItemSource)
                                    {
                                        if (rvsv.VehicleTypeId == listIntype.VehicleTypeId)
                                        {
                                            if (rvsv.Transmission != listIntype.Transmission)
                                            {
                                                listIntype.Transmission = "Auto, Manual";
                                            }
                                        }

                                        if (!listIntype.locationIdList.Contains(rvsv.LocationId))
                                        {
                                            listIntype.locationIdList.Add(rvsv.LocationId);
                                        }
                                    }
                                }
                            }
                            if (forlistViewItemSource.Count > 0)
                            {
                                vehicleDetailList.ItemsSource   = forlistViewItemSource;
                                vehicleDetailList.HeightRequest = forlistViewItemSource.Count * 290;
                                vehicleDetailList.IsVisible     = true;
                            }
                            else
                            {
                                vehicleDetailList.IsVisible = false;
                                //noVehicleLabel.IsVisible = true;
                                // buttonGrid.IsVisible = true;
                                noVehicleLabel.IsVisible = true;
                            }
                        }
                    }
                    else
                    {
                        await PopupNavigation.Instance.PushAsync(new ErrorWithClosePagePopup(vehicleMobileResponse.message.ErrorMessage));
                    }
                }
            }
        }
Exemplo n.º 11
0
        protected override async void OnAppearing()
        {
            base.OnAppearing();
            var assembly = typeof(BookNow);

            token                 = App.Current.Properties["currentToken"].ToString();
            customerId            = (int)App.Current.Properties["CustomerId"];
            forlistViewItemSource = new List <VehicleViewByTypeForMobile>();


            if (customerId == 0)
            {
                loginIcon.IconImageSource = ImageSource.FromResource("MaxVonGrafKftMobile.Assets.LogInTool.png", assembly);
            }
            else
            {
                loginIcon.IconImageSource = ImageSource.FromResource("MaxVonGrafKftMobile.Assets.logOutTool.png", assembly);
            }

            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 vehicles informations..."));

                    await Task.Run(() =>
                    {
                        try
                        {
                            vehicleMobileResponse = getVehicleTypesMobileNew(vehicleMobileRequest, token);
                            //vehicleResults = getVehicleTypes(token);
                            //vehicleResponse= getVehicleTypesMobile(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))
                        {
                            await PopupNavigation.Instance.PopAllAsync();
                        }
                    }
                }
                if (vehicleMobileResponse != null)
                {
                    if (vehicleMobileResponse.message.ErrorCode == "200")
                    {
                        if (vehicleMobileResponse.listVehicle.Count > 0)
                        {
                            List <int> vehicleTypeIds = new List <int>();

                            foreach (ReservationVehicleSearchViewModel rvsv in vehicleMobileResponse.listVehicle)
                            {
                                if (!vehicleTypeIds.Contains(rvsv.VehicleTypeId))
                                {
                                    vehicleTypeIds.Add(rvsv.VehicleTypeId);
                                    VehicleViewByTypeForMobile typeForMobile = new VehicleViewByTypeForMobile();
                                    typeForMobile.VehicleTypeId   = rvsv.VehicleTypeId;
                                    typeForMobile.VehicleType     = rvsv.VehicleType;
                                    typeForMobile.Transmission    = rvsv.Transmission;
                                    typeForMobile.Seats           = rvsv.Seats;
                                    typeForMobile.NoOfLuggage     = rvsv.NoOfLuggage;
                                    typeForMobile.DailyRate       = rvsv.RateDetail.DailyRate;
                                    typeForMobile.VehicleImageUrl = rvsv.VehicleImageUrl;
                                    typeForMobile.RateDetail      = rvsv.RateDetail;
                                    typeForMobile.sample          = rvsv.Sample;
                                    forlistViewItemSource.Add(typeForMobile);
                                }
                            }

                            vehicleDetailList.ItemsSource   = forlistViewItemSource;
                            vehicleDetailList.HeightRequest = forlistViewItemSource.Count * 290;
                            vehicleDetailList.IsVisible     = true;
                        }
                        else
                        {
                            vehicleDetailList.IsVisible = false;
                            //noVehicleLabel.IsVisible = true;
                            buttonGrid.IsVisible     = true;
                            noVehicleLabel.IsVisible = true;
                        }
                    }
                    else
                    {
                        await PopupNavigation.Instance.PushAsync(new ErrorWithClosePagePopup(vehicleMobileResponse.message.ErrorMessage));
                    }
                }
            }
        }
Exemplo n.º 12
0
        protected override async void OnAppearing()
        {
            customerId = (int)App.Current.Properties["CustomerId"];
            base.OnAppearing();
            var assembly = typeof(BookNow);

            token = App.Current.Properties["currentToken"].ToString();
            customerId = (int)App.Current.Properties["CustomerId"];
            forlistViewItemSource = new List<VehicleViewByTypeForMobile>();

            MessagingCenter.Subscribe<FilterPopup>(this, "FilterUpdated", sender =>
            {
                refreshVehicleList();
                
            });




            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 vehicles informations..."));

                    await Task.Run(() =>
                    {

                        try
                        {
                            vehicleMobileResponse = getVehicleTypesMobileNew(vehicleMobileRequest, token);
                            //vehicleResults = getVehicleTypes(token);
                            //vehicleResponse= getVehicleTypesMobile(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))
                        {
                            await PopupNavigation.Instance.PopAllAsync();
                        }
                    }
                }
                if (vehicleMobileResponse != null)
                {
                    if (vehicleMobileResponse.message.ErrorCode == "200")
                    {
                        if (vehicleMobileResponse.listVehicle.Count > 0)
                        {
                            vehicleFilterMenus.vehicleTypes = new List<string>();
                            vehicleFilterMenus.vehicleMakes = new List<string>();
                            vehicleFilterMenus.vehicleModels = new List<string>();
                            vehicleFilterMenus.VehicleYear = new List<int>();
                            vehicleFilterMenus.NumberOfseats = new List<int>();
                            vehicleFilterMenus.Colors = new List<string>();

                            List<int> vehicleTypeIds = new List<int>();

                            foreach (ReservationVehicleSearchViewModel rvsv in vehicleMobileResponse.listVehicle)
                            {
                                if (rvsv.VehicleStatusId == (int)VehicleStatus.Available)
                                {
                                    vehicleTypeIds.Add(rvsv.VehicleTypeId);
                                    VehicleViewByTypeForMobile typeForMobile = new VehicleViewByTypeForMobile();
                                    typeForMobile.VehicleTypeId = rvsv.VehicleTypeId;
                                    typeForMobile.VehicleType = rvsv.VehicleType;
                                    typeForMobile.vehicleMakeName = rvsv.VehicleMakeName;
                                    typeForMobile.vehicleModelName = rvsv.ModelName;
                                    typeForMobile.vehicleYear = (int)rvsv.Year;
                                    typeForMobile.Transmission = rvsv.Transmission;
                                    typeForMobile.Seats = rvsv.Seats;
                                    typeForMobile.NoOfLuggage = rvsv.Baggages;
                                    typeForMobile.DailyRate = decimal.Round(((decimal)rvsv.RateDetail.DailyRate + calculateMantatryCharges(rvsv.mantatoryMiscChargeDetails, 1)), 2);
                                    typeForMobile.DailyRateWithInsurance = decimal.Round(((decimal)rvsv.RateDetail.DailyRate + calculateMantatryChargesWithInsurance(rvsv.mantatoryMiscChargeDetails, 1)), 2); 
                                    typeForMobile.VehicleTypeImageUrl = rvsv.VehicleTypeImage;
                                    typeForMobile.RateDetail = rvsv.RateDetail;
                                    typeForMobile.MileagePerDay = rvsv.MileagePerDay;
                                    typeForMobile.doors = rvsv.Doors;
                                    typeForMobile.IsVehicleAvailableDescription = rvsv.IsVehicleAvailableDescription;
                                    typeForMobile.HtmlContent = rvsv.HtmlContent;
                                    typeForMobile.SharableLink = rvsv.SharableLink;
                                    typeForMobile.VehicleImageUrl = rvsv.VehicleImageUrl;
                                    typeForMobile.mantatoryMiscChargeDetails = rvsv.mantatoryMiscChargeDetails;
                                    typeForMobile.mantatoryMiscChargeNonTaxableTotalForOneDay = rvsv.mantatoryMiscChargeNonTaxableTotalForOneDay;
                                    typeForMobile.mantatoryMiscChargeTotalForOneDay = rvsv.mantatoryMiscChargeTotalForOneDay;
                                    typeForMobile.color = rvsv.Color;
                                    

                                    typeForMobile.sample = rvsv.Sample;
                                    typeForMobile.locationIdList = new List<int>();
                                    if (!typeForMobile.locationIdList.Contains(rvsv.LocationId))
                                    {
                                        typeForMobile.locationIdList.Add(rvsv.LocationId);
                                    }
                                    typeForMobile.vehicleId = rvsv.vehicleId;
                                    typeForMobile.vehicleName = rvsv.Year + " " + rvsv.VehicleMakeName + " " + rvsv.ModelName;

                                    forlistViewItemSource.Add(typeForMobile);
                                    if (!vehicleFilterMenus.vehicleTypes.Contains(rvsv.VehicleType))
                                    {
                                        vehicleFilterMenus.vehicleTypes.Add(rvsv.VehicleType);
                                    }
                                    if (!vehicleFilterMenus.vehicleMakes.Contains(rvsv.VehicleMakeName))
                                    {
                                        vehicleFilterMenus.vehicleMakes.Add(rvsv.VehicleMakeName);
                                    }
                                    if (!vehicleFilterMenus.vehicleModels.Contains(rvsv.ModelName))
                                    {
                                        vehicleFilterMenus.vehicleModels.Add(rvsv.ModelName);
                                    }
                                    if (!vehicleFilterMenus.VehicleYear.Contains((int)rvsv.Year))
                                    {
                                        vehicleFilterMenus.VehicleYear.Add((int)rvsv.Year);
                                    }
                                    if (!vehicleFilterMenus.NumberOfseats.Contains(rvsv.Seats))
                                    {
                                        vehicleFilterMenus.NumberOfseats.Add(rvsv.Seats);
                                    }
                                    if (!vehicleFilterMenus.Colors.Contains(rvsv.Color.ToLower().Trim()))
                                    {
                                        vehicleFilterMenus.Colors.Add(rvsv.Color.ToLower().Trim());
                                    }
                                }
                                //else
                                //{

                                //    foreach (VehicleViewByTypeForMobile listIntype in forlistViewItemSource)
                                //    {
                                //        if (rvsv.VehicleTypeId == listIntype.VehicleTypeId)
                                //        {
                                //            if (rvsv.Transmission != listIntype.Transmission)
                                //            {
                                //                listIntype.Transmission = "Auto, Manual";
                                //            }
                                //        }

                                //        if (!listIntype.locationIdList.Contains(rvsv.LocationId))
                                //        {
                                //            listIntype.locationIdList.Add(rvsv.LocationId);
                                //        }
                                //    }

                                //}

                            }
                            if (forlistViewItemSource.Count > 0)
                            {
                                vehicleDetailList.ItemsSource = forlistViewItemSource;
                                vehicleDetailList.HeightRequest = (forlistViewItemSource.Count * 320);
                                vehicleDetailList.IsVisible = true;

                            }
                            else
                            {
                                vehicleDetailList.IsVisible = false;
                                //noVehicleLabel.IsVisible = true;
                                // buttonGrid.IsVisible = true;
                                noVehicleLabel.IsVisible = true;
                                filterbuttonGrid.IsVisible = false;

                            }

                        }

                    }
                    else
                    {
                        await PopupNavigation.Instance.PushAsync(new ErrorWithClosePagePopup(vehicleMobileResponse.message.ErrorMessage));
                    }
                }
            }
        }