/* class functions */ // gets data from db List<Dic<string, object>> and sets it to private variable private async void SetData() { // dummy text for user messageHeader.Text = "Loading messages, please wait!"; // change mouse cursor to load Mouse.OverrideCursor = Cursors.Wait; try { FirebaseHandler fbh = new FirebaseHandler(); CollectionHandler collectionHandler = new CollectionHandler(); this.data = await fbh.GetCollection(collectionHandler.GetMessageCollection()); //release mouse cursor to normal Mouse.OverrideCursor = null; if (this.data[0] != null) { // insert messages to "DOM" or ui this.InsertToDom(this.data[0]); } } catch (Exception e) { messageHeader.Text = "Error occured: " + e.Message; } }
// remove button private async void RemoveMessage(object sender, RoutedEventArgs e) { MessageBoxResult wannaRemove = MessageBox.Show("Are you sure you want to remove?", "Confirmation", MessageBoxButton.YesNo, MessageBoxImage.Question); if (wannaRemove == MessageBoxResult.Yes) { // collection does get removed if empty, prevent that if (this.data.Count > 1) { FirebaseHandler firebaseHandler = new FirebaseHandler(); CollectionHandler collectionH = new CollectionHandler(); string[] response = await firebaseHandler.DeleteFromDb(this.currentMessage, collectionH.GetMessageCollection()); if (response[0].Equals("200")) { int index = this.FindIndex(this.currentMessage); try { this.data.RemoveAt(index); this.InsertToDom(this.data[0]); _ = MessageBox.Show("Document deleted!", "Information", MessageBoxButton.OK, MessageBoxImage.Information); } catch (Exception ed) { _ = MessageBox.Show(ed.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } } //error from firebase else { _ = MessageBox.Show(response[1], "Error", MessageBoxButton.OK, MessageBoxImage.Error); } } // cannot remove only document else { _ = MessageBox.Show("Nothing removed! Collection length must be at least one.", "Information", MessageBoxButton.OK, MessageBoxImage.Information); } } // cancelled remove else { _ = MessageBox.Show("Nothing removed!", "Information", MessageBoxButton.OK, MessageBoxImage.Information); } }