示例#1
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;
        }
示例#2
0
 public FilterPopup(VehicleFilterSearch vehicleFilter, List <string> vehicletypeList)
 {
     InitializeComponent();
     this.vehicleFilter        = vehicleFilter;
     this.vehicleFilter        = vehicleFilter;
     this.vehicletypeList      = vehicletypeList;
     vehtypePicker.ItemsSource = vehicletypeList;
 }
示例#3
0
        public FilterPopup(VehicleFilterSearch vehicleFilter, VehicleFilterMenus vehicleFilterMenus)
        {
            InitializeComponent();
            this.vehicleFilter      = vehicleFilter;
            this.vehicleFilterMenus = vehicleFilterMenus;
            this.vehicletypeList    = vehicleFilterMenus.vehicleTypes;
            //           vehtypePicker.ItemsSource = vehicletypeList;

            fixModel(vehicleFilterMenus);
            //vehMakePicker.ItemsSource = vehicleFilterMenus.vehicleMakes;
            //vehModelPicker.ItemsSource = vehicleFilterMenus.vehicleModels;
            //vehYearPicker.ItemsSource = vehicleFilterMenus.VehicleYear;
            //seatPicker.ItemsSource = vehicleFilterMenus.NumberOfseats;
            //colorPicker.ItemsSource = vehicleFilterMenus.Colors;
        }
示例#4
0
 private void cancelBtn_Clicked(object sender, EventArgs e)
 {
     vehicleFilter = new VehicleFilterSearch();
     PopupNavigation.Instance.PopAsync();
 }
示例#5
0
        private void fixModel(VehicleFilterMenus vehicleFilterMenus)
        {
            if (vehicleFilter == null)
            {
                vehicleFilter = new VehicleFilterSearch();
            }

            if (vehicleFilterMenus.vehicleTypes != null)
            {
                List <FilterListViewCells> filterLists = new List <FilterListViewCells>();
                foreach (string s in vehicleFilterMenus.vehicleTypes)
                {
                    if (vehicleFilter.vehicleTypes != null)
                    {
                        if (vehicleFilter.vehicleTypes.Contains(s))
                        {
                            FilterListViewCells viewCells = new FilterListViewCells()
                            {
                                isSelected = true, title = s
                            };
                            filterLists.Add(viewCells);
                        }
                        else
                        {
                            FilterListViewCells viewCells = new FilterListViewCells()
                            {
                                isSelected = false, title = s
                            };
                            filterLists.Add(viewCells);
                        }
                    }
                    else
                    {
                        FilterListViewCells viewCells = new FilterListViewCells()
                        {
                            isSelected = false, title = s
                        };
                        filterLists.Add(viewCells);
                    }
                }
                vehicleTypeList.ItemsSource   = filterLists;
                vehicleTypeList.HeightRequest = filterLists.Count * 35;
            }
            if (vehicleFilterMenus.vehicleMakes != null)
            {
                List <FilterListViewCells> filterLists = new List <FilterListViewCells>();
                foreach (string s in vehicleFilterMenus.vehicleMakes)
                {
                    if (vehicleFilter.vehicleMakes != null)
                    {
                        if (vehicleFilter.vehicleMakes.Contains(s))
                        {
                            FilterListViewCells viewCells = new FilterListViewCells()
                            {
                                isSelected = true, title = s
                            };
                            filterLists.Add(viewCells);
                        }
                        else
                        {
                            FilterListViewCells viewCells = new FilterListViewCells()
                            {
                                isSelected = false, title = s
                            };
                            filterLists.Add(viewCells);
                        }
                    }
                    else
                    {
                        FilterListViewCells viewCells = new FilterListViewCells()
                        {
                            isSelected = false, title = s
                        };
                        filterLists.Add(viewCells);
                    }
                }
                vehicleMakeList.ItemsSource   = filterLists;
                vehicleMakeList.HeightRequest = filterLists.Count * 35;
            }
            if (vehicleFilterMenus.vehicleModels != null)
            {
                List <FilterListViewCells> filterLists = new List <FilterListViewCells>();
                foreach (string s in vehicleFilterMenus.vehicleModels)
                {
                    if (vehicleFilter.vehicleModels != null)
                    {
                        if (vehicleFilter.vehicleModels.Contains(s))
                        {
                            FilterListViewCells viewCells = new FilterListViewCells()
                            {
                                isSelected = true, title = s
                            };
                            filterLists.Add(viewCells);
                        }
                        else
                        {
                            FilterListViewCells viewCells = new FilterListViewCells()
                            {
                                isSelected = false, title = s
                            };
                            filterLists.Add(viewCells);
                        }
                    }
                    else
                    {
                        FilterListViewCells viewCells = new FilterListViewCells()
                        {
                            isSelected = false, title = s
                        };
                        filterLists.Add(viewCells);
                    }
                }
                vehicleModelList.ItemsSource   = filterLists;
                vehicleModelList.HeightRequest = filterLists.Count * 35;
            }
            if (vehicleFilterMenus.VehicleYear != null)
            {
                List <FilterListViewCells> filterLists = new List <FilterListViewCells>();
                foreach (int s in vehicleFilterMenus.VehicleYear)
                {
                    if (vehicleFilter.VehicleYear != null)
                    {
                        if (vehicleFilter.VehicleYear.Contains(s))
                        {
                            FilterListViewCells viewCells = new FilterListViewCells()
                            {
                                isSelected = true, title = s.ToString()
                            };
                            filterLists.Add(viewCells);
                        }
                        else
                        {
                            FilterListViewCells viewCells = new FilterListViewCells()
                            {
                                isSelected = false, title = s.ToString()
                            };
                            filterLists.Add(viewCells);
                        }
                    }
                    else
                    {
                        FilterListViewCells viewCells = new FilterListViewCells()
                        {
                            isSelected = false, title = s.ToString()
                        };
                        filterLists.Add(viewCells);
                    }
                }
                vehicleYearList.ItemsSource   = filterLists;
                vehicleYearList.HeightRequest = filterLists.Count * 35;
            }
            if (vehicleFilterMenus.Colors != null)
            {
                List <FilterListViewCells> filterLists = new List <FilterListViewCells>();
                foreach (string s in vehicleFilterMenus.Colors)
                {
                    if (vehicleFilter.Colors != null)
                    {
                        if (vehicleFilter.Colors.Contains(s))
                        {
                            FilterListViewCells viewCells = new FilterListViewCells()
                            {
                                isSelected = true, title = s
                            };
                            filterLists.Add(viewCells);
                        }
                        else
                        {
                            FilterListViewCells viewCells = new FilterListViewCells()
                            {
                                isSelected = false, title = s
                            };
                            filterLists.Add(viewCells);
                        }
                    }
                    else
                    {
                        FilterListViewCells viewCells = new FilterListViewCells()
                        {
                            isSelected = false, title = s
                        };
                        filterLists.Add(viewCells);
                    }
                }
                vehicleColorList.ItemsSource   = filterLists;
                vehicleColorList.HeightRequest = filterLists.Count * 35;
            }
        }
示例#6
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));
                    }
                }
            }
        }
 private void resetFilter_Clicked(object sender, EventArgs e)
 {
     VehicleFilter = null;
     VehicleFilter = new VehicleFilterSearch();
     refreshVehicleList();
 }