/// <summary> /// Abonnieren des Nutzers ohne auf das Profil gehen zu müssen /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void FollowOrUnFollow(System.Object sender, System.EventArgs e) { Button button = (sender as Button); if (button != null && !string.IsNullOrWhiteSpace(button.Text)) { Like like = (button.Parent.Parent as ViewCell).BindingContext as Like; if (button.Text == "Entfolgen") { AllVM.Datenbank.User.UnFollow(new User() { Nutzername = button.ClassId }, AllVM.ConvertToUser()); ListLikes[ListLikes.IndexOf(like)].IsSub = false; } else { AllVM.Datenbank.User.Follow(new User() { Nutzername = button.ClassId }, AllVM.ConvertToUser()); ListLikes[ListLikes.IndexOf(like)].IsSub = true; } //Aktualisierung der Liste listView.ItemsSource = null; listView.ItemsSource = ListLikes; } }
/// <summary> /// Plan als Favorit kennzeichnen /// </summary> void FavoritePlan(System.Object sender, System.EventArgs e) { Image image = (sender as Image); if (image != null) { string key = "E;" + image.ClassId; if ((image.Source as FileImageSource).File == "Herz_Unfilled") { if (AllVM.Datenbank.User.AddFavo(key, AllVM.ConvertToUser())) { image.Source = ImageSource.FromFile("Herz_Filled"); } else { DependencyService.Get <IMessage>().ShortAlert("Fehler beim Favorisieren"); } } else if ((image.Source as FileImageSource).File == "Herz_Filled") { if (AllVM.Datenbank.User.DeleteFavo(key, AllVM.ConvertToUser())) { image.Source = ImageSource.FromFile("Herz_Unfilled"); } else { DependencyService.Get <IMessage>().ShortAlert("Fehler beim Favorisieren"); } } } }
/// <summary> /// Überprüfen, ob der aktuelle Nutzer den Beitrag geliked hat. /// </summary> /// <param name="id">ID des Beitrages</param> /// <returns></returns> public bool CheckIfLiked(int id) { User user = AllVM.ConvertToUser(); try { string com = $"SELECT Feed_ID FROM Feed_Likes WHERE Feed_ID = '{id}' AND [User] = '{user.Nutzername}'"; SqlCommand command = new SqlCommand(com, StaticDB.Connection); StaticDB.Connection.Open(); object r = command.ExecuteScalar(); StaticDB.Connection.Close(); if (r != null) { return(true); } else { return(false); } } catch (Exception ex) { _ = ex.Message; if (StaticDB.Connection != null) { if (StaticDB.Connection.State != System.Data.ConnectionState.Closed) { StaticDB.Connection.Close(); } } return(false); } }
/// <summary> /// Mehr Beiträge laden. Zeitraum wird immer um 7 Tage addiert, wenn kein Beitrag vorhanden ist /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void LoadMore(object sender, EventArgs e) { loadMoreBtn.IsVisible = false; vonDatum = DateTime.Now.AddDays(-days * (multiplikator + 1)).AddDays(1); bisDatum = DateTime.Now.AddDays(-days * multiplikator); CacheList = AllVM.Datenbank.Feed.Get(AllVM.ConvertToUser(), vonDatum, bisDatum); if (CacheList == null) { DependencyService.Get <IMessage>().ShortAlert("Fehler beim Abruf der Liste"); } else { multiplikator++; foreach (var item in CacheList) { FitFeedVM.ListNews.Add(item); } } while (CacheList != null && CacheList.Count == 0 && vonDatum > DateTime.Now.AddMonths(-3)) { vonDatum = DateTime.Now.AddDays(-days * (multiplikator + 1)).AddDays(1); bisDatum = DateTime.Now.AddDays(-days * multiplikator); CacheList = AllVM.Datenbank.Feed.Get(AllVM.ConvertToUser(), vonDatum, bisDatum); CacheList = CacheList.OrderByDescending(o => o.ErstelltAm).ToList(); foreach (var item in CacheList) { FitFeedVM.ListNews.Add(item); } multiplikator++; } }
/// <summary> /// Methode, die erst nach dem Laden der Seite aufgerufen wird /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Loaded(object sender, EventArgs e) { if (isOther == false) { user = AllVM.ConvertToUser(); } ProfilVM = new ProfilShowVM(user); GetFitFeed(); BindingContext = ProfilVM; SetButton(); }
/// <summary> /// Entfolgen eines Nutzers /// </summary> private void UnFollow() { if (AllVM.Datenbank.User.UnFollow(ProfilVM.User, AllVM.ConvertToUser())) { DependencyService.Get <IMessage>().ShortAlert("Erfolgreich entfolgt!"); ProfilVM.AboBtnText = "Folgen"; } else { DependencyService.Get <IMessage>().ShortAlert("Fehler beim Speichern"); } }
/// <summary> /// Plan mit Hilfe der ID aus der Datenbank /// </summary> /// <param name="id">ID des Plans</param> void GetByID(int id) { TPlan = AllVM.Datenbank.Trainingsplan.GetByID(id); if (TPlan != null) { TPlan.UebungList = AllVM.Datenbank.Trainingsplan.GetUebungen(TPlan.ID); IsFavorite = AllVM.Datenbank.User.CheckIfFavo($"T;{TPlan.ID}", AllVM.ConvertToUser()); } else { DependencyService.Get <IMessage>().ShortAlert("Es ist ein Fehler aufgetreten"); } }
/// <summary> /// Nutzer komplett löschen /// </summary> async void DeleteUser(System.Object sender, System.EventArgs e) { if (await DisplayAlert("Löschen?", "Möchtest du deinen Account wirklich löschen?\nAlle deine Daten werden nicht mehr zugänglich sein!", "Ja", "Nein")) { if (AllVM.Datenbank.User.Delete(AllVM.ConvertToUser())) { Application.Current.MainPage = new Login(); DependencyService.Get <IMessage>().ShortAlert("Erfolgreich gelöscht"); } else { DependencyService.Get <IMessage>().ShortAlert("Fehler beim Löschen"); } } }
/// <summary> /// Beitrag aus den Favoriten löschen /// </summary> private void Delete(object sender, EventArgs e) { var menuitem = (sender as MenuItem); if (AllVM.Datenbank.User.DeleteFavo(menuitem.ClassId, AllVM.ConvertToUser())) { DependencyService.Get <IMessage>().ShortAlert("Erfolgreich entfernt"); GetList(); FavoPlansVM.AnzeigeListe = FavoPlansVM.ListTrPlan.ToList <object>(); } else { DependencyService.Get <IMessage>().ShortAlert("Fehler beim Entfernen"); } }
/// <summary> /// Plan in die Datenbank speichern /// </summary> private void Save(object sender, EventArgs e) { //Übergabe von User, Mahlzeittitel und aktuellen Datum an Instanz "plan" von der Klasse Trainingsplan try { if (!string.IsNullOrEmpty(TrainingName)) { if (!string.IsNullOrEmpty(TrainingCategorie)) { plan.Ersteller = AllVM.ConvertToUser(); plan.ErstelltAm = DateTime.Now; plan.Titel = TrainingName.Replace("\n", ""); plan.Kategorie = TrainingCategorie; //Die Instanz "plan" von Trainingsplan wird zur Speicherung in der Datenbank an die Methode "AddTrainingsplan" übergeben if (AllVM.Datenbank.Trainingsplan.AddTrainingsplan(plan)) { //Rückkehr zur Ansicht "AddNew" OnBackButtonPressed(); //Anzeige einer Meldung für die erfolgreiche Speicherung DependencyService.Get <IMessage>().ShortAlert("Training wurde gespeichert!"); } else { //Anzeige einer Meldung für die fehlerhafte Speicherung DependencyService.Get <IMessage>().ShortAlert("Fehler beim Speichern"); } } else { DependencyService.Get <IMessage>().ShortAlert("Kategorie auswählen!"); } } else { DependencyService.Get <IMessage>().ShortAlert("Namen eingeben!"); } } catch { //Anzeige einer Meldung eine fehlgeschlagene Speicherung DependencyService.Get <IMessage>().ShortAlert("Ein unbekannter Fehler ist aufgetreten!"); } }
/// <summary> /// Daten aus der Datenbank bereitstellen /// </summary> private void GetList() { CacheList = AllVM.Datenbank.Feed.Get(AllVM.ConvertToUser(), vonDatum); if (CacheList != null) { FitFeedVM.ListNews.Clear(); CacheList = CacheList.OrderByDescending(o => o.ErstelltAm).ToList(); foreach (var item in CacheList) { FitFeedVM.ListNews.Add(item); } multiplikator++; } else { DependencyService.Get <IMessage>().ShortAlert("Fehler beim Abruf der Liste"); } }
/// <summary> /// Gefällt mir bei einem bestimmten Beitrag eintragen und dann Like-Symbol anzeigen /// </summary> /// <param name="id">ID des Beitrages</param> void Liken(string id) { bool?result = AllVM.Datenbank.Feed.Like(id, AllVM.ConvertToUser()); if (result == true) { idCache = id; FitFeedVM.ListNews.First(s => s.ID.ToString() == id).LikedTimer = true; FitFeedVM.ListNews.First(s => s.ID.ToString() == id).Liked = true; FitFeedVM.ListNews.First(s => s.ID.ToString() == id).Likes += 1; timer.Start(); } else if (result == false) { FitFeedVM.ListNews.First(s => s.ID.ToString() == id).Liked = false; FitFeedVM.ListNews.First(s => s.ID.ToString() == id).Likes -= 1; } else { DependencyService.Get <IMessage>().ShortAlert("Fehler beim Liken"); } }
/// <summary> /// Die aktuelle Bewertung speichern /// </summary> private void Save(object sender, EventArgs e) { int bewert = 0; bool correct = false; foreach (Image item in bewGrid.Children) { if ((item.Source as FileImageSource).File == "Star_Filled") { bewert++; } } Bewertung bewertung = new Bewertung() { Bewerter = AllVM.ConvertToUser(), Rating = bewert }; if (type == typeof(Trainingsplan)) { correct = AllVM.Datenbank.Trainingsplan.AddBewertung(bewertung, TPlan); } else if (type == typeof(Ernährungsplan)) { correct = AllVM.Datenbank.Ernährungsplan.AddBewertung(bewertung, EPlan); } if (correct) { OnBackButtonPressed(); DependencyService.Get <IMessage>().ShortAlert("Erfolgreich bewertet"); } else { DependencyService.Get <IMessage>().ShortAlert("Fehler bei Bewertung"); } }
/// <summary> /// Beitrag liken /// </summary> void Like(System.Object sender, System.EventArgs e) { string id = (sender as Frame).ClassId; bool? result = AllVM.Datenbank.Feed.Like(id, AllVM.ConvertToUser()); if (result == true) { idCache = id; ProfilVM.FitFeed.First(s => s.ID.ToString() == id).LikedTimer = true; ProfilVM.FitFeed.First(s => s.ID.ToString() == id).Liked = true; ProfilVM.FitFeed.First(s => s.ID.ToString() == id).Likes += 1; timer.Start(); } else if (result == false) { ProfilVM.FitFeed.First(s => s.ID.ToString() == id).Liked = false; ProfilVM.FitFeed.First(s => s.ID.ToString() == id).Likes -= 1; } else { DependencyService.Get <IMessage>().ShortAlert("Fehler beim Liken"); } }
/// <summary> /// Status speichern und zur Datenbank übertragen /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Save(object sender, EventArgs e) { //Prüfen, damit keine NULL-Werte in die Datenbank geschrieben werden if (!string.IsNullOrWhiteSpace(beschreibung.Text)) { StatusVM.Status.ErstelltVon = AllVM.ConvertToUser(); StatusVM.Status.ErstelltAm = DateTime.Now; //Prüfen, ob das Speichern in die Datenbank erfolgreich ist if (AllVM.Datenbank.Status.Insert(StatusVM.Status)) { OnBackButtonPressed(); DependencyService.Get <IMessage>().ShortAlert("Erfolgreich gespeichert"); } else { DependencyService.Get <IMessage>().ShortAlert("Fehler beim Speichern"); } } else { DependencyService.Get <IMessage>().ShortAlert("Beschreibung ausfüllen"); } }
/// <summary> /// Bestimmten Plan mit Hilfe der ID bereitstellen /// </summary> void GetByID(int id) { EPlan = AllVM.Datenbank.Ernährungsplan.GetByID(id); if (EPlan != null) { EPlan.MahlzeitenList = AllVM.Datenbank.Ernährungsplan.GetMahlzeiten(EPlan.ID); IsFavorite = AllVM.Datenbank.User.CheckIfFavo($"E;{EPlan.ID}", AllVM.ConvertToUser()); } else { DependencyService.Get <IMessage>().ShortAlert("Es ist ein Fehler aufgetreten"); } }
public ProfilEdit() { InitializeComponent(); ProfilVM = new ProfilEditVM(AllVM.ConvertToUser()); Start(); }