public void PushPushes() { using (FirebaseApp app = AppFactory.Empty()) { ManualResetEvent done = new ManualResetEvent(false); var list = app.Child("message_list"); List <string> ids = new List <string>(); ids.Add(list.Push("{'name':'Post 1'}").Key); ids.Add(list.Push("{'name':'Post 2'}").Key); ids.Add(list.Push("{'name':'Post 3'}").Key); list.Once("value", (snap, child, context) => { var children = snap.Children.ToList(); Assert.AreEqual(ids[0], children[0].Key); Assert.AreEqual(ids[1], children[1].Key); Assert.AreEqual(ids[2], children[2].Key); Assert.AreEqual("Post 1", children[0]["name"].Value()); Assert.AreEqual("Post 2", children[1]["name"].Value()); Assert.AreEqual("Post 3", children[2]["name"].Value()); done.Set(); }); Assert.IsTrue(done.WaitOne(TimeSpan.FromSeconds(15)), "callback never fired"); } }
public void PushEmptyCreatesChild() { using (FirebaseApp app = AppFactory.Empty()) { ManualResetEvent done = new ManualResetEvent(false); var list = app.Child("message_list"); List <string> ids = new List <string>(); for (int i = 1; i < 4; i++) { var pushRef = list.Push(); ids.Add(pushRef.Key); pushRef.Set(string.Format("{{'name':'Post {0}'}}", i)); } list.Once("value", (snap, child, context) => { var children = snap.Children.ToList(); Assert.AreEqual(ids[0], children[0].Key); Assert.AreEqual(ids[1], children[1].Key); Assert.AreEqual(ids[2], children[2].Key); Assert.AreEqual("Post 1", children[0]["name"].Value()); Assert.AreEqual("Post 2", children[1]["name"].Value()); Assert.AreEqual("Post 3", children[2]["name"].Value()); done.Set(); }); Assert.IsTrue(done.WaitOne(TimeSpan.FromSeconds(15)), "callback never fired"); } }
public void OrderedDinos() { using (FirebaseApp app = AppFactory.Dinosaurs()) { const int expected = 6; int current = 0; string previousKey = null; ManualResetEvent fired = new ManualResetEvent(false); var query = app.Child("/dinosaurs") .OrderByKey() .On("child_added", (snap, previous, context) => { Debug.WriteLine(snap.Value()); Assert.IsNotNull(snap.Key); if (previousKey != null) { Assert.IsTrue(String.Compare(previousKey, snap.Key, StringComparison.Ordinal) < 0); } previousKey = snap.Key; if (++current == expected) { fired.Set(); } }); Assert.IsTrue(fired.WaitOne(TimeSpan.FromSeconds(5)), string.Format("callback did not fire enough times: {0}", current)); } }
void OnCollisionEnter2D(Collision2D coll) { if (coll.gameObject.name == "ground") { GameControl gc = new GameControl(); mref = FirebaseApp.DefaultInstance.SetEditorDatabaseUrl("https://flappybird-aa5a0.firebaseio.com/"); mref.Child("name").setValue("asdsadsadasdsasa"); //User user = new User(gc.newUser.DisplayName,50); //string json = JsonUtility.ToJson(user); //DatabaseReference dbRef = FirebaseDatabase.DefaultInstance.RootReference; //dbRef.Child("name").SetValueAsync("asdddddddd"); gameOver.enabled = true; restart.enabled = true; stop(); } if (coll.gameObject.tag == "obstacles") { gameOver.enabled = true; restart.enabled = true; stop(); } }
public void OrderedScores() { using (FirebaseApp app = AppFactory.Dinosaurs()) { int previousScore = int.MinValue; int expect = 6; int index = 0; ManualResetEvent fired = new ManualResetEvent(false); var query = app.Child("/scores") .OrderByValue() .On("child_added", (snap, previous, context) => { int current = snap.Value <int>(); Assert.IsTrue(previousScore < current, "items are out of order"); previousScore = current; if (++index == expect) { fired.Set(); } }); Assert.IsTrue(fired.WaitOne(TimeSpan.FromSeconds(5)), "callback did not fire"); } }
private void RunTest(string json, string testName, string[] expectedOrder) { using (FirebaseApp app = AppFactory.FromJson(json)) { ManualResetEvent fired = new ManualResetEvent(false); var query = app.Child("/") .OrderByChild(testName) .On("value", (snap, previous, context) => { Assert.IsNotNull(snap.Children, testName); var children = snap.Children.ToList(); Assert.AreEqual(expectedOrder.Length, children.Count, testName); for (int i = 0; i < expectedOrder.Length; i++) { Assert.AreEqual(expectedOrder[i], children[i].Key, testName); } fired.Set(); }); Assert.IsTrue(fired.WaitOne(TimeSpan.FromSeconds(5)), "callback did not fire during " + testName); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) // 첫번째 호출에만 선언 { FirebaseApp app = new FirebaseApp(new Uri("https://pipi-39a83.firebaseio.com/") /*, <auth token> */); var scoresRef = app.Child("LogList"); scoresRef.OrderByKey().On("value", (snapshot, child, context) => { x.Clear(); y.Clear(); y2.Clear(); foreach (var date in snapshot.Children) { Debug.WriteLine("key is {0} ", date.Key); foreach (var time in date.Children) { Debug.WriteLine("key is {0} ", time.Key); //시간 값을 저장해야함. 이건 x값임. var Xtime = time.Key; x.Add(Xtime); foreach (var item in time.Children) { Debug.WriteLine(item.Value(), "아이템의 값"); if (item.Key == "Humidity") { var humid = item.Value(); y2.Add(Int32.Parse(humid)); } else if (item.Key == "Light status") { var light = item.Value(); } else if (item.Key == "Temp") { var temp = item.Value(); y.Add(Int32.Parse(temp)); } } } } Global.ChartX = x; Global.ChartY = y; Global.ChartY2 = y2; }); } else { if (Global.ChartX == null || Global.ChartY == null || Global.ChartY2 == null) { Debug.WriteLine("global 변수가 비어있음"); return; } Chart1.Series[0].Points.DataBindXY(Global.ChartX, Global.ChartY); Chart1.Series[1].Points.DataBindXY(Global.ChartX, Global.ChartY2); } }
public void ChildPathTests() { string json = @" { 'foo': { 'bar': { 'baz': { } } } } "; using (FirebaseApp app = AppFactory.FromJson(json)) { ManualResetEvent done = new ManualResetEvent(false); var query = app.Child("foo/bar/baz"); query.On("value", (snap, child, context) => { Assert.AreEqual("baz", snap.Key); Assert.AreEqual("baz", snap.Ref().Key); // new ref should be at // http://<app root>/foo/bar/baz Assert.AreEqual( string.Format("{0}{1}", app.RootUri, "foo/bar/baz"), snap.Ref().AbsoluteUri.ToString()); var pipo = snap.Child("pipo"); Assert.AreEqual("pipo", pipo.Key); Assert.AreEqual("pipo", pipo.Ref().Key); Assert.AreEqual( string.Format("{0}{1}", app.RootUri, "foo/bar/baz/pipo"), pipo.Ref().AbsoluteUri.ToString()); var bar3 = pipo.Child("bar1/bar2/bar3"); Assert.AreEqual("bar3", bar3.Key); Assert.AreEqual("bar3", bar3.Ref().Key); Assert.AreEqual( string.Format("{0}{1}", app.RootUri, "foo/bar/baz/pipo/bar1/bar2/bar3"), bar3.Ref().AbsoluteUri.ToString()); done.Set(); }); Assert.IsTrue(done.WaitOne(TimeSpan.FromSeconds(5)), "The callback never fired"); } }
public Form1() { InitializeComponent(); lcEndtime = new DateTime(); lcStartime = new DateTime(); DateTime timeset = new DateTime(); port.Open(); FirebaseApp app = new FirebaseApp(new Uri("https://shockmeplease-7ebf5.firebaseio.com/")); var scoresRef = app.Child("Test"); scoresRef.OrderByValue() .On("value", (snapshot, child, context) => { var test2 = snapshot.Value(); var time = JsonConvert.DeserializeObject <DateFirebase>(snapshot.Value()); //DateTime Starttime = Convert.ToDateTime(Convert.ToDouble( time.start)); //DateTime Endtime = Convert.ToDateTime(Convert.ToDouble(time.start)); DateTime Starttime = DateTime.ParseExact(time.start, "MM/dd/yyyy HH:mm ", System.Globalization.CultureInfo.InvariantCulture); DateTime Endtime = DateTime.ParseExact(time.end, "MM/dd/yyyy HH:mm ", System.Globalization.CultureInfo.InvariantCulture); DateTime currenttime = DateTime.Now; if (Starttime > currenttime && timeset == Starttime && timeset == Endtime) { shutdown(0); } else if (Endtime < currenttime && timeset == Starttime && timeset == Endtime) { shutdown(0); } lcStartime = Starttime; lcEndtime = Endtime; }); Task.Run(() => { while (true) { if (DateTime.Now < lcStartime && timeset != lcStartime) { SendData("pm"); shutdown(300); break; } else if (DateTime.Now > lcEndtime && timeset != lcEndtime) { SendData("pm"); shutdown(300); break; } Task.Delay(2000); } }); }
public void OrderByPriorityMixed() { string json = @" { 'users':{ 'aaa':{ '.priority': 5, 'name':'AAA' }, 'bbb':{ '.priority': 'qbert', 'name':'BBB' }, 'ccc':{ '.priority': 'zzyzx', 'name':'CCC' }, 'ddd':{ 'name':'DDD' }, 'eee':{ '.priority': '3', 'name':'EEE' }, } } "; using (FirebaseApp app = AppFactory.FromJson(json)) { ManualResetEvent done = new ManualResetEvent(false); var root = app.Child("users"); var query = root.OrderByPriority().Once("value", (snap, child, context) => { var list = snap.Children.ToList(); Assert.AreEqual("ddd", list[0].Key); Assert.AreEqual("eee", list[1].Key); Assert.AreEqual("aaa", list[2].Key); Assert.AreEqual("bbb", list[3].Key); Assert.AreEqual("ccc", list[4].Key); done.Set(); }); Assert.IsTrue(done.WaitOne(TimeSpan.FromSeconds(10)), "callback did not fire"); } }
private void Form1_Load(object sender, EventArgs e) { _app.Child("chicago/hourly/data") .On("value", (snap, child, context) => { chart1.BeginInvoke(new UpdateDelegate(UpdateChart), snap); }); chart1.Series.Clear(); var series1 = new System.Windows.Forms.DataVisualization.Charting.Series { Name = "Weather", Color = System.Drawing.Color.Green, IsVisibleInLegend = false, IsXValueIndexed = true, ChartType = SeriesChartType.Line, }; this.chart1.Series.Add(series1); }
private static void Main(string[] args) { var app = new FirebaseApp(new Uri("https://dazzling-fire-1575.firebaseio.com/"), "T7dtZlSSDnGFZkPVWGq9chNPZ6dJQyt4bQNl4udN"); JobQueue <Job> queue = new JobQueue <Job>(app.Child("jobs/job"), job => { Console.WriteLine("[{0}]: {1}", job.Priority, job.Description); return(true); }); var feederStart = new ParameterizedThreadStart(Feeder); Thread feeder = new Thread(feederStart); feeder.Start(queue); Console.ReadLine(); }
public static void UpsertUser(string strUid, string strNome, string strEmail) { // https://github.com/bubbafat/FirebaseSharp using (FirebaseApp app = new FirebaseApp(new Uri("https://ultratrader-210414.firebaseio.com/"), Preferences.Get("Token", ""))) { app.Child("usuarios").Child(strUid).Set(JsonConvert.SerializeObject(new Usuario { Uid = strUid, Nome = strNome, Email = strEmail, IsAdmin = true, IsPro = false, Senha = "essanõavai", DtLastLogin = DateTime.Now }), new FirebaseSharp.Portable.Interfaces.FirebaseStatusCallback((erro) => { Util.ExibeMensagem(erro.Code); })); } }
public void ChildrenValues() { string json = @" { 'messages': { '-JqpIO567aKezufthrn8': { 'uid': 'barney', 'text': 'Welcome to Bedrock City!' }, '-JqpIP5tIy-gMbdTmIg7': { 'uid': 'fred', 'text': 'Yabba dabba doo!' } } } "; using (FirebaseApp app = AppFactory.FromJson(json)) { ManualResetEvent done = new ManualResetEvent(false); var query = app.Child("messages"); query.Once("value", (snap, child, context) => { var ca = snap.Children.ToArray(); Assert.AreEqual("-JqpIO567aKezufthrn8", ca[0].Key); Assert.AreEqual("barney", ca[0].Child("uid").Value()); Assert.AreEqual("Welcome to Bedrock City!", ca[0].Child("text").Value()); Assert.AreEqual("-JqpIP5tIy-gMbdTmIg7", ca[1].Key); Assert.AreEqual("fred", ca[1].Child("uid").Value()); Assert.AreEqual("Yabba dabba doo!", ca[1].Child("text").Value()); done.Set(); }); Assert.IsTrue(done.WaitOne(TimeSpan.FromSeconds(5)), "callback never fired"); } }
public void OrderByPriorityStringNumerics() { string json = @" { 'users':{ 'gracehop':{ '.priority': '1', 'name':'Grace Hopper' }, 'physicsmarie':{ '.priority': 2, 'name':'Marie Curie' }, 'adalovelave':{ '.priority': '3', 'name':'Ada Lovelace' }, } } "; using (FirebaseApp app = AppFactory.FromJson(json)) { ManualResetEvent done = new ManualResetEvent(false); var root = app.Child("users"); var query = root.OrderByPriority().Once("value", (snap, child, context) => { var list = snap.Children.ToList(); Assert.AreEqual("gracehop", list[0].Key); Assert.AreEqual("physicsmarie", list[1].Key); Assert.AreEqual("adalovelave", list[2].Key); done.Set(); }); Assert.IsTrue(done.WaitOne(TimeSpan.FromSeconds(10)), "callback did not fire"); } }
public void OrderedAndLimited() { using (FirebaseApp app = AppFactory.Dinosaurs()) { List <Tuple <string, int> > expected = new List <Tuple <string, int> > { new Tuple <string, int>("bruhathkayosaurus", 55), new Tuple <string, int>("linhenykus", 80), new Tuple <string, int>("pterodactyl", 93), }; List <Tuple <string, int> > actual = new List <Tuple <string, int> >(); ManualResetEvent loaded = new ManualResetEvent(false); var fbRef = app.Child("/scores") .OrderByValue() .LimitToLast(expected.Count) .On("value", (snap, childPath, context) => { Assert.IsTrue(snap.HasChildren); Assert.AreEqual(expected.Count, snap.NumChildren); actual.AddRange( snap.Children.Select(child => new Tuple <string, int>(child.Key, child.Value <int>()))); loaded.Set(); }); Assert.IsTrue(loaded.WaitOne(TimeSpan.FromSeconds(5)), "Failed to load snapshot"); Assert.AreEqual(expected.Count, actual.Count); for (int i = 0; i < expected.Count; i++) { Assert.AreEqual(expected[i].Item1, actual[i].Item1); Assert.AreEqual(expected[i].Item2, actual[i].Item2); } } }
public void Basic() { string json = @" { aaa: { test: 1 }, bbb: { test: '1' }, ccc: { test: 3 }, ddd: { }, eee: { test: { other: 'value' } }, fff: 'value' } "; using (FirebaseApp app = AppFactory.FromJson(json)) { ManualResetEvent done = new ManualResetEvent(false); app.Child("/").OrderByChild("test").EqualTo(3).Once("value", (snap, child, context) => { Assert.AreEqual(1, snap.NumChildren); Assert.AreEqual("ccc", snap.Children.First().Key); done.Set(); }); Assert.IsTrue(done.WaitOne(TimeSpan.FromSeconds(5))); } }
public void TakesTwoDinosaurs() { using (FirebaseApp app = AppFactory.Dinosaurs()) { int limit = 2; int current = 0; ManualResetEvent fired = new ManualResetEvent(false); var query = app.Child("/dinosaurs") .LimitToFirst(limit) .On("child_added", (snap, previous, context) => { Debug.WriteLine(snap.Value()); if (++current == limit) { fired.Set(); } }); Assert.IsTrue(fired.WaitOne(TimeSpan.FromSeconds(5)), string.Format("callback did not fire enough times: {0}", current)); } }
private void Grid_Loaded(object sender, RoutedEventArgs e) { var scoresRef = _app.Child("dataSample") //Your data start node name .On("value", (snap, previous_child, context) => AddOrUpdate(snap)); //Subscribe to changing data in Firebase }
// wait to start the background worker until the canvas is loaded private void PaintCanvas_OnLoaded(object sender, RoutedEventArgs e) { _app.Child("/").On("child_added", (snap, previous_child, context) => AddOrUpdate(snap)); _app.Child("/").On("child_changed", (snap, previous_child, context) => AddOrUpdate(snap)); _app.Child("/").On("child_removed", (snap, previous_child, context) => Removed(snap)); }
public FirebaseLogger(IConfigProvider configProvider) { var firebaseApp = new FirebaseApp(new Uri("https://rigcontrol-23592.firebaseio.com/"), configProvider.FirebaseKey); Root = firebaseApp.Child("Rigs").Child(Environment.MachineName); }
public string SendMessage(ChatMessage message) { return(_app.Child($"/{KeyMessages}").Push(message).Key); }