Esempio n. 1
0
        /// <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;
            }
        }
Esempio n. 2
0
        /// <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");
                    }
                }
            }
        }
Esempio n. 3
0
        /// <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);
            }
        }
Esempio n. 4
0
        /// <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++;
            }
        }
Esempio n. 5
0
 /// <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();
 }
Esempio n. 6
0
 /// <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");
     }
 }
Esempio n. 7
0
        /// <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");
            }
        }
Esempio n. 8
0
 /// <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");
         }
     }
 }
Esempio n. 9
0
        /// <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");
            }
        }
Esempio n. 10
0
        /// <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!");
            }
        }
Esempio n. 11
0
        /// <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");
            }
        }
Esempio n. 12
0
        /// <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");
            }
        }
Esempio n. 13
0
        /// <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");
            }
        }
Esempio n. 14
0
        /// <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");
            }
        }
Esempio n. 15
0
        /// <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");
            }
        }
Esempio n. 16
0
        /// <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");
            }
        }
Esempio n. 17
0
 public ProfilEdit()
 {
     InitializeComponent();
     ProfilVM = new ProfilEditVM(AllVM.ConvertToUser());
     Start();
 }