public async Task <GetDockingStationOutputDTO> GetDockingStationQueryAsync() { LoginDetails details = new RhodeITDB().GetUserDetails(); GetDockingStationFunction getDockingStationFunction = new GetDockingStationFunction { Gas = Variables.gas, FromAddress = details.Ethereum_Address }; GetDockingStationOutputDTO stationDetails = await ContractHandler.QueryDeserializingToObjectAsync <GetDockingStationFunction, GetDockingStationOutputDTO>(getDockingStationFunction, null).ConfigureAwait(false); return(stationDetails); }
public async Task <ObservableCollection <DockingStaion> > GetDockingStations() { ObservableCollection <DockingStaion> temp = new ObservableCollection <DockingStaion>(); List <string> keys = await GetRegisteredDockingStationKeysQueryAsync().ConfigureAwait(false); foreach (string key in keys) { GetDockingStationOutputDTO dockingStationDetails = await GetDockingStationQueryAsync(key).ConfigureAwait(false); ObservableCollection <Bicycle> availableBicycles = await GetAvailableBicyclesFromDockingStationAsync(key).ConfigureAwait(false); DockingStaion dockingStation = new DockingStaion { DockingStationInformation = new VenueLocation { Name = dockingStationDetails.ReturnValue1, Latitude = double.Parse(dockingStationDetails.ReturnValue2, System.Globalization.CultureInfo.InvariantCulture), Longitude = double.Parse(dockingStationDetails.ReturnValue3, System.Globalization.CultureInfo.InvariantCulture) } }; foreach (Bicycle bicycle in availableBicycles) { dockingStation.AvailableBicycles.Add(bicycle); } temp.Add(dockingStation); } return(temp); }