public MainViewModel(APIService model) { if (model == null) { throw new ArgumentNullException("model"); } _carservice = new CarserviceDTO(); _carservice.AirConCharging = false; _carservice.PunctureRepair = false; _carservice.SuspensionAdjustment = false; _carservice.TireReplacement = false; _serviceNames = new List <string>(); _serviceNames.Add(nameof(CarserviceDTO.AirConCharging)); _serviceNames.Add(nameof(CarserviceDTO.PunctureRepair)); _serviceNames.Add(nameof(CarserviceDTO.SuspensionAdjustment)); _serviceNames.Add(nameof(CarserviceDTO.TireReplacement)); _model = model; LogoutCommand = new DelegateCommand(param => LogoutAsync()); WorkshopDetailsCommand = new DelegateCommand(param => WorkshopDetails()); LoadCommand = new DelegateCommand(param => LoadAsync()); DeleteReservationCommand = new DelegateCommand(param => DeleteReservation()); OpenBuildWorkshopWindowCommand = new DelegateCommand(param => LoadBuildWorkshopWindow()); CancelBuildWindowCommand = new DelegateCommand(param => CancelBuildWindow()); SaveBuildWindowCommand = new DelegateCommand(param => SaveBuildWindow()); }
private async void WorkshopDetails() { try { if (SelectedWorkshop == null || SelectedServiceName == null) { return; } _carservice = new CarserviceDTO(); if (SelectedServiceName == nameof(CarserviceDTO.AirConCharging)) { _carservice.AirConCharging = true; } else if (SelectedServiceName == nameof(CarserviceDTO.PunctureRepair)) { _carservice.PunctureRepair = true; } else if (SelectedServiceName == nameof(CarserviceDTO.SuspensionAdjustment)) { _carservice.SuspensionAdjustment = true; } else if (SelectedServiceName == nameof(CarserviceDTO.TireReplacement)) { _carservice.TireReplacement = true; } await _model.LoadReservationByIDAsync(SelectedWorkshop.ID, _carservice); Reservations = new ObservableCollection <ReservationDTO>(_model.Reservations); OnWorkshopDetailsLoaded(); } catch (Exception) { OnMessageApplication("Something went wrong"); } }
public async Task LoadReservationByIDAsync(Int32 id, CarserviceDTO serviceType) { try { HttpResponseMessage response = await _client.GetAsync("api/workshops/" + id); if (response.IsSuccessStatusCode) { IEnumerable <ReservationDTO> reservations = await response.Content.ReadAsAsync <IEnumerable <ReservationDTO> >(); if (serviceType.AirConCharging) { _reservations = reservations.Where(res => res.ProvidedService.AirConCharging).ToList(); } else if (serviceType.PunctureRepair) { _reservations = reservations.Where(res => res.ProvidedService.PunctureRepair).ToList(); } else if (serviceType.SuspensionAdjustment) { _reservations = reservations.Where(res => res.ProvidedService.SuspensionAdjustment).ToList(); } else if (serviceType.TireReplacement) { _reservations = reservations.Where(res => res.ProvidedService.TireReplacement).ToList(); } } else { throw new NetworkException("Service returned response: " + response.StatusCode); } } catch (Exception ex) { throw new NetworkException("NetworkException: " + ex); } }