/// <summary> /// Create a listener to receive changes from Firebase /// </summary> public static void ReceiveChangesFromDB() { Rootobject RootObject = new Rootobject(); try { DocumentReference docRef = firestoreDb.Collection(CollectionName).Document(DocumentName); FirestoreChangeListener listener = docRef.Listen(snapshot => { Console.WriteLine("Callback received document snapshot."); if (snapshot.Exists) { Console.WriteLine("Document data for {0} document:", snapshot.Id); var st = Newtonsoft.Json.JsonConvert.SerializeObject(snapshot.ToDictionary()); VIMManagement.SaveCurrentModel(st); //TODO check this to detect changes } }); } catch (Exception ex) { Console.WriteLine("Error " + ex.Message); return; } }
/// <summary> /// Send a first model to Firestore /// </summary> /// <param name="model"></param> /// <param name="CollectionName"></param> /// <param name="ModelName"></param> internal static async void SendModelToDB(string model, string CollectionName, string ModelName) { var models = firestoreDb.Collection(CollectionName).Document(ModelName); var obj = Newtonsoft.Json.JsonConvert.DeserializeObject <Rootobject>(model); VIMManagement.SaveCurrentModel(obj); await models.SetAsync(obj); }