public void SetBooking(Booking booking) { if (booking == null) return; _booking = booking; BookingsService.BeginGetCityVehicleType(_booking.CityId, _booking.VehicleTypeId.Value, CreateAsyncCallback(ar => BookingsService.EndGetCityVehicleType(ar), result => { _cityVehicleType = result; OnPropertyChanged(() => NumberOfAdultsOptions); OnPropertyChanged(() => NumberOfChildOptions); OnPropertyChanged(() => NumberOfInfantOptions); OnPropertyChanged(() => NumberOfAdultPassengers); OnPropertyChanged(() => NumberOfChildPassengers); OnPropertyChanged(() => NumberOfInfantPassengers); OnPropertyChanged(() => TotalNumberOfPassengers); OnPropertyChanged(() => ShowAdditionalPassengers); }), null); UpdateManagedUsers(); }
public bool Equals(CityVehicleType other) { if (ReferenceEquals(null, other)) return false; if (ReferenceEquals(this, other)) return true; if (other.Id == 0 && Id == 0) return false; else return other.Id == Id; }
private void FixupCityVehicle(CityVehicleType previousValue) { if (IsDeserializing) { return; } if (CityVehicle != null) { CityVehicleId = CityVehicle.Id; } if (ChangeTracker.ChangeTrackingEnabled) { if (ChangeTracker.OriginalValues.ContainsKey("CityVehicle") && (ChangeTracker.OriginalValues["CityVehicle"] == CityVehicle)) { ChangeTracker.OriginalValues.Remove("CityVehicle"); } else { ChangeTracker.RecordOriginalValue("CityVehicle", previousValue); } if (CityVehicle != null && !CityVehicle.ChangeTracker.ChangeTrackingEnabled) { CityVehicle.StartTracking(); } } }
private void RequestCityVehicleInfo() { BookingsService.BeginGetCityVehicleType(_booking.CityId, _booking.VehicleTypeId.Value, CreateAsyncCallback(ar => BookingsService.EndGetCityVehicleType(ar), result => { _cityVehicleType = result; var conversionRate = _booking.FareInfo.ConversionRate; var conversionFee = _booking.FareInfo.ConversionFee; _provisionInfo.GeneralWaitingTimeRate = GeneralHourlyRate = ((decimal)_cityVehicleType.WaitingTime * conversionRate) * (100 + conversionFee) / 100; _provisionInfo.ApprovedWaitingTimeRate = PurchasedHourlyRate = ((decimal)_cityVehicleType.PreApprovedWaitingTime * conversionRate) * (100 + conversionFee) / 100; var foldingWheelcharPassengers = new ObservableCollection<ValueAndName>(); if (_booking.PrimaryPassenger != null && _booking.PrimaryPassenger.RequiresWheelChair) foldingWheelcharPassengers.Add(new ValueAndName() { Name = "Adult 1 - HAS A WHEELCHAIR (FOLDING)" }); if (_booking.PassengerInfo != null) { int i = 2; foreach (var adultInfo in _booking.PassengerInfo.Adults) if (adultInfo.RequiresWheelChair) foldingWheelcharPassengers.Add(new ValueAndName() { Name = string.Format("Adult {0} - HAS A WHEELCHAIR (FOLDING)", i++) }); i = 1; foreach (var childInfo in _booking.PassengerInfo.Childs) if (childInfo.RequiresWheelChair) foldingWheelcharPassengers.Add(new ValueAndName() { Name = string.Format("Child {0} - HAS A WHEELCHAIR (FOLDING)", i++) }); } FoldingWheelcharPassengers = foldingWheelcharPassengers; OnPropertyChanged(() => FoldingWheelcharPassengers); LargeSuitcaseNumbers.Clear(); SmallSuitcaseNumbers.Clear(); GolfClubNumbers.Clear(); LargeSuitcaseNumbers.Add(new ValueAndName() { Value = 0, Name = "0" }); SmallSuitcaseNumbers.Add(new ValueAndName() { Value = 0, Name = "0" }); GolfClubNumbers.Add(new ValueAndName() { Value = 0, Name = "0" }); int smallSuitcases = _cityVehicleType.SmallBaggage; for (int i = 1; i < smallSuitcases; i++) SmallSuitcaseNumbers.Add(new ValueAndName() { Value = i, Name = i.ToString() }); int largeSuitcases = _cityVehicleType.LargeBaggage - FoldingWheelcharPassengers.Count; for (int i = 1; i < largeSuitcases; i++) LargeSuitcaseNumbers.Add(new ValueAndName() { Value = i, Name = i.ToString() }); int golfClubs = _cityVehicleType.SmallBaggage; for (int i = 1; i < golfClubs; i++) GolfClubNumbers.Add(new ValueAndName() { Value = i, Name = i.ToString() }); UpdateBaggageSelection(); }), null); }
private void UpdateVehicleTypeSelection() { SelectedVehicleType = VehicleTypes.SingleOrDefault(t => t.VehicleTypeId == _booking.VehicleTypeId); }