// Metod för att ta bort en användares flaggning, tar den specifika anvädnarens Id som inparameter public bool UnflagUser(int UserId) { // Hitta rätt användare i FlaggedUser-tabellen FlaggedUsers removeflaggeduser = (from x in db.FlaggedUsers where x.ID == UserId select x).FirstOrDefault(); // För att även kunna ändra Status-Id på användaren, vilket endast finns i Users-tabellen, plockar vi här även ut användaren från Users-tabellen var user = db.Users.Where(x => x.ID == removeflaggeduser.UserID).FirstOrDefault(); // Om användaren är flaggad if (user.StatusID == 2) { // Tilldela användaren Status-Id 1, vilket innebär aktiv user.StatusID = 1; // Ta bort anvädnaren från FlaggedUser-tabellen och spara ändringarna i databasen db.FlaggedUsers.Remove(removeflaggeduser); db.SaveChanges(); return(true); } // Om anvädnaren inte är flaggad else { return(false); } }
/* * Metod för att flagga en användare. * Här skickar vi med ID:t av den som flaggat, den användare som ska flaggas samt orsaken till varför användaren ska flaggas. */ public bool FlagUser(int FlaggedByUserId, string Reason, int FlaggedUserId) { // Välj användaren från databasen var user = db.Users.Where(x => x.ID == FlaggedUserId).FirstOrDefault(); // Om användaren inte redan är flaggad if (user.StatusID != 2) { FlaggedUsers flaggedUser = new FlaggedUsers(); // Användaren tilldelas status-Id 2, vilket innebär att användaren blir flaggad user.StatusID = 2; // Det nya objektet tilldelas Id-värdet av den användare som har gjort flaggningen flaggedUser.FlaggedBy = FlaggedByUserId; // Objektet får värdet av orsaks-strängen vi skickade in i denna metod flaggedUser.Reason = Reason; // ID:t på den flaggade användaren flaggedUser.UserID = FlaggedUserId; // Det nya objektet sparas i databasen db.FlaggedUsers.Add(flaggedUser); db.SaveChanges(); return(true); } // Om användaren redan är flaggad else { return(false); } }