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); }
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); }
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; }
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; }
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)); } }
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)); } } } }
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)); } } } }
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)); } } } }