protected FirebaseClient GetClient() { try { if (Authlink == null) { return(null); } var firebaseClient = new FirebaseClient(Url, new FirebaseOptions { //AuthTokenAsyncFactory = () => Task.FromResult(Authlink.FirebaseToken) AuthTokenAsyncFactory = async() => (await Authlink.GetFreshAuthAsync()).FirebaseToken }); return(firebaseClient); } catch (FirebaseException e) { Console.WriteLine("Exception was thrown: {0}", e.Message); } catch (Exception ex) { Console.WriteLine(ex); } return(null); }
public async Task <bool> LoginAsync(string username = "", string password = "") { try { if (!string.IsNullOrEmpty(username) && !string.IsNullOrEmpty(password)) { UserName = username; Password = password; } Auth = new FirebaseAuthProvider(new FirebaseConfig(ApiKey)); Authlink = await Auth.SignInWithEmailAndPasswordAsync(UserName, Password); await Authlink.RefreshUserDetails(); Token = Authlink.FirebaseToken; return(true); } catch (FirebaseAuthException e) { Console.WriteLine($"Error {e.Reason}"); ErrorCode = e.Reason; // JObject obj = JObject.Parse(e.ResponseData); //var oMycustomclassname = Newtonsoft.Json.JsonConvert.DeserializeObject<dynamic>(e.ResponseData); // var text = obj["error"]["errors"]["message"]; } catch (Exception ex) { Console.WriteLine($"Error {ex.Message}"); //JObject obj = JObject.Parse(ex.Message); } return(false); }
public async Task <bool> AddRawData(RawData data) { try { await Authlink.RefreshUserDetails(); var client = GetClient(); if (!string.IsNullOrEmpty(_rawDataKey)) { await client.Child("station"). Child(_stationKey).Child("flights"). Child(_flightKey).Child("rawdata").Child(_rawDataKey).DeleteAsync(); } var rawdata = await client.Child("station"). Child(_stationKey).Child("flights"). Child(_flightKey).Child("rawdata"). PostAsync <RawData>(data); _rawDataKey = rawdata.Key; return(true); } catch (FirebaseException ex) { Console.WriteLine(ex.Message); } catch (Exception ex) { Console.WriteLine(ex.Message); } return(false); }