void FetchDriverInfo(string id) { DatabaseReference dbref = Database.DefaultInstance.GetRootReference().GetChild("drivers/" + id); dbref.ObserveSingleEvent(DataEventType.Value, (DataSnapshot snapshot) => { if (snapshot.GetValue <NSObject>() != NSNull.Null) { string email, fullname, phone; if (snapshot.GetChildSnapshot("email").GetValue <NSObject>() != NSNull.Null) { email = snapshot.GetChildSnapshot("email").GetValue <NSObject>().ToString(); fullname = snapshot.GetChildSnapshot("fullname").GetValue <NSObject>().ToString(); phone = snapshot.GetChildSnapshot("phone").GetValue <NSObject>().ToString(); //Save driver details to NSUser Defaults var userdefaults = NSUserDefaults.StandardUserDefaults; userdefaults.SetString(phone, "phone"); userdefaults.SetString(email, "email"); userdefaults.SetString(fullname, "fullname"); userdefaults.SetString(id, "driver_id"); HideProgressBar(); MainTabController tabController = this.Storyboard.InstantiateViewController("MainTabController") as MainTabController; tabController.ModalPresentationStyle = UIModalPresentationStyle.FullScreen; PresentViewController(tabController, true, null); } } else { HideProgressBar(); /// dont proceed. var alert = UIAlertController.Create("Alert", "Login was not successful", UIAlertControllerStyle.Alert); alert.AddAction(UIAlertAction.Create("Ok", UIAlertActionStyle.Default, null)); PresentViewController(alert, true, null); } }); }
private void RegisterButton_TouchUpInside(object sender, EventArgs e) { string fullname, phone, email, password; fullname = fullnameText.Text; phone = phoneText.Text; email = emailText.Text; password = passwordText.Text; if (fullname.Length < 4) { var alert = UIAlertController.Create("Alert", "Please enter a valid name", UIAlertControllerStyle.Alert); alert.AddAction(UIAlertAction.Create("Ok", UIAlertActionStyle.Default, null)); PresentViewController(alert, true, null); return; } else if (phone.Length < 9) { var alert = UIAlertController.Create("Alert", "Please enter a valid phone number", UIAlertControllerStyle.Alert); alert.AddAction(UIAlertAction.Create("Ok", UIAlertActionStyle.Default, null)); PresentViewController(alert, true, null); return; } else if (!email.Contains("@")) { var alert = UIAlertController.Create("Alert", "Please enter a valid email", UIAlertControllerStyle.Alert); alert.AddAction(UIAlertAction.Create("Ok", UIAlertActionStyle.Default, null)); PresentViewController(alert, true, null); return; } else if (password.Length < 8) { var alert = UIAlertController.Create("Alert", "Please enter a password upto 8 characters", UIAlertControllerStyle.Alert); alert.AddAction(UIAlertAction.Create("Ok", UIAlertActionStyle.Default, null)); PresentViewController(alert, true, null); return; } ShowProgressBar("Registering you ..."); Auth.DefaultInstance.CreateUser(email, password, (AuthDataResult authDataResult, NSError error) => { if (error == null) { var driver = authDataResult.User.Uid; if (driver != null) { var driverDictionary = new NSDictionary ( "fullname", fullname, "email", email, "phone", phone ); //save driver details to Firebase Database DatabaseReference driverRef = Database.DefaultInstance.GetRootReference().GetChild("drivers/" + authDataResult.User.Uid); driverRef.SetValue <NSDictionary>(driverDictionary); //Save driver details to NSUser Defaults var userdefaults = NSUserDefaults.StandardUserDefaults; userdefaults.SetString(phone, "phone"); userdefaults.SetString(email, "email"); userdefaults.SetString(fullname, "fullname"); userdefaults.SetString(authDataResult.User.Uid, "driver_id"); HideProgressBar(); MainTabController tabController = this.Storyboard.InstantiateViewController("MainTabController") as MainTabController; tabController.ModalPresentationStyle = UIModalPresentationStyle.FullScreen; PresentViewController(tabController, true, null); } } else { HideProgressBar(); var alert = UIAlertController.Create("Error", error.LocalizedDescription, UIAlertControllerStyle.Alert); alert.AddAction(UIAlertAction.Create("Ok", UIAlertActionStyle.Default, null)); PresentViewController(alert, true, null); } }); }