Beispiel #1
0
 //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());
     }
 }
Beispiel #2
0
 public UserAccount GetUser(string username)
 {
     using (var context = new OnlineDatingDBEntities())
     {
         return(context.UserAccount.First(x => x.Username == username));
     }
 }
Beispiel #3
0
 public UserAccount GetUser(int userAccountID)
 {
     using (var context = new OnlineDatingDBEntities())
     {
         return(context.UserAccount.First(x => x.UserAccountID == userAccountID));
     }
 }
Beispiel #4
0
        /*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();;
                }
            }
        }
Beispiel #5
0
 public bool UserExists(string username, string password)
 {
     using (var context = new OnlineDatingDBEntities())
     {
         return(context.UserAccount.Any(x => x.Username == username && x.Password == password));
     }
 }
Beispiel #6
0
 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();
     }
 }
Beispiel #7
0
 //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());
     }
 }
Beispiel #8
0
 public bool EmailExists(string email)
 {
     using (var context = new OnlineDatingDBEntities())
     {
         return(context.UserAccount.Any(x => x.Email == email));
     }
 }
Beispiel #9
0
 public bool UsernameExists(string username)
 {
     using (var context = new OnlineDatingDBEntities())
     {
         return(context.UserAccount.Any(x => x.Username == username));
     }
 }
Beispiel #10
0
 //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());
     }
 }
Beispiel #11
0
 //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());
     }
 }
Beispiel #12
0
        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);
            }
        }
Beispiel #13
0
        public void UpdateUser(UserAccount user)
        {
            using (var context = new OnlineDatingDBEntities())
            {
                var userToUpdate = context.UserAccount.First(x => x.UserAccountID == user.UserAccountID);
                userToUpdate = user;

                context.SaveChanges();
            }
        }
Beispiel #14
0
        //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();
            }
        }
Beispiel #15
0
 //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
                ));
     }
 }
Beispiel #16
0
        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();
            }
        }
Beispiel #17
0
        //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

                       ));
            }
        }
Beispiel #18
0
 //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();
     }
 }
Beispiel #19
0
 //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();
     }
 }
Beispiel #20
0
 //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();
     }
 }
Beispiel #21
0
        //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);
            }
        }
Beispiel #22
0
 //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();
         }
     }
 }