//Returnerar en lista över alla obesvarade FriendRequests för ett anvigvet användarID public IList <FriendRequest> GetFriendRequests(int userID) { using (var context = new OnlineDatingDBEntities()) { return(context.FriendRequest.Where(x => x.Reciever == userID).ToList()); } }
public UserAccount GetUser(string username) { using (var context = new OnlineDatingDBEntities()) { return(context.UserAccount.First(x => x.Username == username)); } }
public UserAccount GetUser(int userAccountID) { using (var context = new OnlineDatingDBEntities()) { return(context.UserAccount.First(x => x.UserAccountID == userAccountID)); } }
/*Lägger till relation mellan angivna användare i Friendship-tabellen. * Det UserAccountID som var Sender på FriendRequest blir User i Friendship, * och det UserAccountID som var Reciever av FriendRequest blir Friend i Friendship */ public void AcceptRequest(int user1, int user2) { using (var context = new OnlineDatingDBEntities()) { //Kastar exception om Friendship redan finns i någon kombination av sender och reciever if (context.Friendship.Any(x => x.User == user1 && x.Friend == user2 || x.User == user2 && x.Friend == user1)) { throw new Exception("Already friends"); } else { var newFriendship = new Friendship { User = user1, Friend = user2, StartDate = DateTime.Now }; var request = context.FriendRequest.First ( x => x.Sender == user1 && x.Reciever == user2 ); context.Friendship.Add(newFriendship); context.FriendRequest.Remove(request); context.SaveChanges();; } } }
public bool UserExists(string username, string password) { using (var context = new OnlineDatingDBEntities()) { return(context.UserAccount.Any(x => x.Username == username && x.Password == password)); } }
public void Add(string username, string password, string email) { using (var context = new OnlineDatingDBEntities()) { var newUser = new UserAccount { Username = username, Password = password, Email = email, Searchable = true, Length = "0", Weight = "0", Build = "Unspecified", Eyecolor = "Unspecified", Haircolor = "Unspecified", Origin = "Unspecified", Civil_Status = "Unspecified", Occupation = "Unspecified", Education = "Unspecified", Branch = "Unspecified", }; context.UserAccount.Add(newUser); context.SaveChanges(); } }
//Returnerar antal obesvarade friendRequests för ett angivet användarID public int RequestCount(int userID) { using (var context = new OnlineDatingDBEntities()) { return(context.FriendRequest.Where(x => x.Reciever == userID).Count()); } }
public bool EmailExists(string email) { using (var context = new OnlineDatingDBEntities()) { return(context.UserAccount.Any(x => x.Email == email)); } }
public bool UsernameExists(string username) { using (var context = new OnlineDatingDBEntities()) { return(context.UserAccount.Any(x => x.Username == username)); } }
//Returnerar lista över alla meddelanden där angivet användarID är mottagare public IList <Message> GetMessageList(int reciever) { using (var context = new OnlineDatingDBEntities()) { return(context.Message.Where(x => x.Reciever == reciever).ToList()); } }
//Tar emot en parameter för hur många slumpade användare som efterfrågas och returnerar dessa i en lista. public IList <UserAccount> GetRandomUsers(int amount) { using (var context = new OnlineDatingDBEntities()) { //Listan sorteras efter ett slumpmässigt Guid och sedan returneras utvalt antal som lista. return(context.UserAccount.OrderBy(o => Guid.NewGuid()).Take(amount).ToList()); } }
public IList <UserAccount> SearchUser(string searchString) { using (var context = new OnlineDatingDBEntities()) { //Skapar en lista av alla användare som börjar med en söksträng och har sökbar (serchable) satt till true; var searchResultList = context.UserAccount.Where(x => x.Username.StartsWith(searchString) && x.Searchable == true).ToList(); return(searchResultList); } }
public void UpdateUser(UserAccount user) { using (var context = new OnlineDatingDBEntities()) { var userToUpdate = context.UserAccount.First(x => x.UserAccountID == user.UserAccountID); userToUpdate = user; context.SaveChanges(); } }
//Sparar en sökväg till lokalt sparade bilder. public void SaveImagePath(string username, string imagePath) { using (var context = new OnlineDatingDBEntities()) { var userToUpdate = context.UserAccount.First(x => x.Username == username); userToUpdate.ImagePath = imagePath; context.SaveChanges(); } }
//Returnerar true om två användare redan har en obesvarad request sinsemellan oavsett vem som skickade requesten. public bool ExistingFriendship(int sender, int reciever) { using (var context = new OnlineDatingDBEntities()) { return(context.Friendship.Any ( x => x.User == sender && x.Friend == reciever || x.User == reciever && x.Friend == sender )); } }
public void UpdateUser(string username, string newEmail, bool searchable, string city) { using (var context = new OnlineDatingDBEntities()) { var userToUpdate = context.UserAccount.First(x => x.Username == username); userToUpdate.Email = newEmail; userToUpdate.Searchable = searchable; context.SaveChanges(); } }
//Returnerar true om två användare redan har en obesvarad request sinsemellan oavsett vem som skickade den. public bool ExistingRequest(int sender, int reciever) { using (var context = new OnlineDatingDBEntities()) { return(context.FriendRequest.Any ( x => x.Sender == sender && x.Reciever == reciever || x.Sender == reciever && x.Reciever == sender )); } }
//Tar bort två angedda användarIDn ur FriendRequest-tabellen public void DeleteRequest(int sender, int reciever) { using (var context = new OnlineDatingDBEntities()) { var request = context.FriendRequest.First ( x => x.Sender == sender && x.Reciever == reciever || x.Sender == reciever && x.Reciever == sender ); context.FriendRequest.Remove(request); context.SaveChanges(); } }
//Tar bort två angedda användarIDn ur Friendship-tabellen public void DeleteFriendship(int user, int friend) { using (var context = new OnlineDatingDBEntities()) { var friendship = context.Friendship.First ( x => x.User == user && x.Friend == friend || x.User == friend && x.Friend == user ); context.Friendship.Remove(friendship); context.SaveChanges(); } }
//Lägger till avsändare, mottagare, text och tidpunkt i Message-tabellen public void AddMessage(int sender, int reciever, string text) { using (var context = new OnlineDatingDBEntities()) { var messageToAdd = new Message { Sender = sender, Reciever = reciever, Text = text, Date = DateTime.Now }; context.Message.Add(messageToAdd); context.SaveChanges(); } }
//Returnerar lista över alla Friendships för ett angivet användarID public IList <Friendship> GetFriendships(int userID) { using (var context = new OnlineDatingDBEntities()) { var list = context.Friendship.Where(x => x.User == userID).ToList(); //Där userID finns i kolumnen User var list2 = context.Friendship.Where(x => x.Friend == userID).ToList(); //Där userID finns i kolumnen Friend //Listorna slås ihop foreach (var x in list2) { list.Add(x); } return(list); } }
//Lägger till avsändare och mottagare mellan angivna användare i FriendRequest-tabellen public void AddRequest(int sender, int reciever) { using (var context = new OnlineDatingDBEntities()) { //Kastar exception om Friendship eller FriendRequest redan finns i någon kombination av sender och reciever if (context.Friendship.Any(x => x.User == sender && x.Friend == reciever || x.User == reciever && x.Friend == sender || context.FriendRequest.Any(y => y.Sender == sender && y.Reciever == reciever || y.Sender == reciever && y.Reciever == sender))) { throw new Exception("Already requested or friends"); } else { var newRequest = new FriendRequest { Sender = sender, Reciever = reciever }; context.FriendRequest.Add(newRequest); context.SaveChanges(); } } }