public static async Task <bool> AddParkedInfo(ParkedInfo parkInfo) { try { await firebase .Child("ParkedInfo") .PostAsync(new ParkedInfo() { username = parkInfo.username, parkingLotName = parkInfo.parkingLotName, parkinglotNum = parkInfo.parkinglotNum, TimeEntered = parkInfo.TimeEntered }); return(true); } catch { return(false); } }
private async void Scan_Clicked(object sender, EventArgs e) { ls.IsRunning = true; Scan.IsEnabled = false; try { var scanner = DependencyService.Get <IQrScanningService>(); var result = await scanner.ScanAsync(); if (result != null) { string test = result; var alreadyScanned = await FirebaseHelper.GetParkRecord(result.Substring(0, 1), result.Substring(0, result.Length)); var record = await FirebaseHelper.GetParkRecord(App.UserName); if (record == null && alreadyScanned == null) { ParkedInfo parkingSlot = new ParkedInfo() { parkingLotName = result.Substring(0, 1), parkinglotNum = result.Substring(0, result.Length), username = App.UserName, TimeEntered = DateTime.Now }; var parkingLot = await FirebaseHelper.GetParkingLot(result.Substring(0, 1)); if (parkingLot != null) { parkingLot.currentCount++; await FirebaseHelper.UpdateParkingLotInfo(parkingLot); } await FirebaseHelper.AddParkedInfo(parkingSlot); ls.IsRunning = false; Scan.IsEnabled = true; await App.Current.MainPage.DisplayAlert("", "Car is now Parked!", "OK"); } else { if (result != null) { var parkingLot = await FirebaseHelper.GetParkingLot(result.Substring(0, 1)); if (parkingLot != null) { parkingLot.currentCount--; await FirebaseHelper.UpdateParkingLotInfo(parkingLot); } await FirebaseHelper.DeleteParkedRecord(App.UserName); ls.IsRunning = false; Scan.IsEnabled = true; await App.Current.MainPage.DisplayAlert("", "Car is now Unparked!", "OK"); } else { ls.IsRunning = false; Scan.IsEnabled = true; await App.Current.MainPage.DisplayAlert("", "Lot is taken!", "OK"); } } } } catch { ls.IsRunning = false; Scan.IsEnabled = true; } }