private async Task GetCarsAsync() { LoadingVisibility = Visibility.Visible; Cars.Clear(); RestRequest request = new RestRequest("cars", RestSharp.DataFormat.Json); var response = await Client.ExecuteAsync <List <Car> >(request); //await Task.Delay(2500); LoadingVisibility = Visibility.Hidden; response.Data?.ForEach(car => { car.DeleteCommand = new RelayCommand(e => { var req = new RestRequest("cars/{id}", Method.DELETE); req.AddParameter("id", car.CarId, ParameterType.UrlSegment); Client.Execute(req); RefreshInfosWithTask(); }, e2 => true); car.UpdateCommand = new RelayCommand(e => { var putRequest = new RestRequest("cars/" + car.CarId, Method.PUT); CarToSend carToSend = new CarToSend { Name = car.Name }; carToSend.setType(car.Typ); putRequest.AddJsonBody(carToSend); Client.Execute(putRequest); RefreshInfosWithTask(); }, e2 => true); car.updateType(); Cars.Add(car); }); }
public CarViewModel() { RefreshCars = new RelayCommand(e => RefreshInfosWithTask(), e2 => true); AddCar = new RelayCommand(e => { var request = new RestRequest("cars", Method.POST, RestSharp.DataFormat.Json); var cts = new CarToSend { Name = CarToAdd.Name }; cts.setType(CarToAdd.Typ); request.AddJsonBody(cts); Client.Execute(request); RefreshInfosWithTask(); }); RefreshInfosWithTask(); }