예제 #1
0
        /* <summary>user removes a friend</summary>
         * <param name="userAdder">obj of the user that removes friend</param>
         * <param name="userFriend>obj of the user that was removed</param>
         * <returns>no return</returns>
         * <author>Valgeir</author>
         */
        static public bool RemoveFriend(AspNetUsers userAdder, AspNetUsers userFriend)
        {
            var db = new VERK2015_H17Entities1();

            //Selects friend that you added
            var friendRemoved = (from x in db.friends_added
                                 .Where(y => y.FK_friends_added_users_Added == userAdder.Id)
                                 .Where(z => z.FK_friends_added_users_Addee == userFriend.Id)
                                 select x).SingleOrDefault();
            //Selects friend that added you
            var friendAddeRemoved = (from x in db.friends_added
                                     .Where(y => y.FK_friends_added_users_Added == userFriend.Id)
                                     .Where(z => z.FK_friends_added_users_Addee == userAdder.Id)
                                     select x).SingleOrDefault();

            if (friendRemoved != null && friendAddeRemoved != null)
            {
                //If the friend was added by you, then change friended = false
                if (friendRemoved.FK_friends_added_users_Added != null)
                {
                    friendRemoved.friended = false;
                    db.SaveChanges();
                    return(true);
                }
                //If the friend added you, then change friended to false
                else if (friendAddeRemoved.FK_friends_added_users_Added != null)
                {
                    friendAddeRemoved.friended = false;
                    db.SaveChanges();
                    return(true);
                }
            }
            return(false);
        }
예제 #2
0
        /* <summary>Saves a comment by a user on a post</summary>
         * <param name="comment">Post comment model</param>
         * <returns>Nothing</returns>
         * <author>Sveinbjorn</author>
         */
        static public void SaveCommentOnPost(post_comments comment)
        {
            var db = new VERK2015_H17Entities1();

            db.post_comments.Add(comment);
            db.SaveChanges();
        }
예제 #3
0
        /* <summary>
         * Saves a given post to the database
         * </summary>
         * <param name="post">The post to be saved to the database</param>
         * <returns>Nothing</returns>
         * <author>Janus</author>
         */
        static public void SavePostToDB(posts post)
        {
            var db = new VERK2015_H17Entities1();

            db.posts.Add(post);
            db.SaveChanges();
        }
예제 #4
0
        static public void CreateMessage(messages message)
        {
            var db = new VERK2015_H17Entities1();

            db.messages.Add(message);
            db.SaveChanges();
        }
예제 #5
0
        /* <summary>Logs error into database</summary>
         * <param name="error">Obj of error</param>
         * <returns>no return</returns>
         * <author>Valgeir</author>
         */
        public void LogErrorToDB(bubble_errors error)
        {
            var db = new VERK2015_H17Entities1();

            db.bubble_errors.Add(error);
            db.SaveChanges();
        }
예제 #6
0
        /* <summary>Creates a group</summary>
         * <param name="group">bubble group model</param>
         * <returns>New group</returns>
         * <author>Sveinbjorn</author>
         */
        static public bubble_groups CreateGroup(bubble_groups group)
        {
            var db = new VERK2015_H17Entities1();

            db.bubble_groups.Add(group);
            db.SaveChanges();
            return(group);
        }
예제 #7
0
        static public void RenameChat(chats chat)
        {
            var db      = new VERK2015_H17Entities1();
            var getChat = (from x in db.chats.Where(y => y.C_ID == chat.C_ID)
                           select x).SingleOrDefault();

            getChat.chat_name = chat.chat_name;
            db.SaveChanges();
        }
예제 #8
0
        /* <summary>Creates an Event</summary>
         * <param name="ev">Event model</param>
         * <returns>New Event</returns>
         * <author>Sveinbjorn</author>
         */
        static public events CreateEvent(events ev)
        {
            var db = new VERK2015_H17Entities1();

            db.events.Add(ev);
            db.SaveChanges();

            return(ev);
        }
예제 #9
0
        /* <summary>
         * Creates a like or a burst into the database depending on the values in the parameter
         * </summary>
         * <param name="postLike">likes_comments object, either with the burst or like value set as 1</param>
         * <returns>Nothing</returns>
         * <author>Janus</author>
         */
        static public void SaveLikeComment(like_comments commentLike)
        {
            var db = new VERK2015_H17Entities1();
            int allowUserToLike = (from x in db.post_likes.Where(y => y.FK_group_post_like_users == commentLike.AspNetUsers.UserName &&
                                                                 y.FK_group_post_likes_group_posts == commentLike.FK_like_comments_post_comments)
                                   select x).Count();

            if (allowUserToLike == 0)
            {
                db.like_comments.Add(commentLike);
                db.SaveChanges();
            }
        }
예제 #10
0
        /* <summary>Updates profile img for specified user</summary>
         * <param name="user">Takes in obj of user</param>
         * <returns>returns bool, true for success</returns>
         * <author></author>
         */
        static public bool UpdateUserProfileImage(AspNetUsers user)
        {
            var db  = new VERK2015_H17Entities1();
            var usr = (from x in db.AspNetUsers.Where(y => y.UserName == user.UserName)
                       select x).SingleOrDefault();

            if (usr != null)
            {
                usr.profile_image = user.profile_image;
                db.SaveChanges();

                return(true);
            }
            return(false);
        }
예제 #11
0
        /* <summary>
         * Creates a like or a burst into the database depending on the values in the parameter
         * </summary>
         * <param name="postLike">post_likes object, either with the burst or like value set as 1</param>
         * <returns>Nothing</returns>
         * <author>Janus</author>
         */
        static public int SaveLikePost(post_likes postLike)
        {
            var db = new VERK2015_H17Entities1();
            int allowUserToLike = (from x in db.post_likes.Where(y => y.FK_group_post_like_users == postLike.FK_group_post_like_users &&
                                                                 y.FK_group_post_likes_group_posts == postLike.FK_group_post_likes_group_posts &&
                                                                 y.post_like == true)
                                   select x).Count();

            if (allowUserToLike == 0)
            {
                db.post_likes.Add(postLike);
                db.SaveChanges();
            }
            int totalPostLikes = (from x in db.post_likes.Where(y => y.FK_group_post_likes_group_posts == postLike.FK_group_post_likes_group_posts &&
                                                                y.post_like == true)
                                  select x).Count();

            return(totalPostLikes);
        }
예제 #12
0
        /* <summary>Adds user to chat</summary>
         * <param name="chat">The chat we add the user too</param>
         * <param name="user">The user we add to the chat</param>
         * <returns>nothing</returns>
         * <author>Janus</author>
         */
        static public void AddChatUsers(chats chat, AspNetUsers user)
        {
            var db = new VERK2015_H17Entities1();

            List <chat_members> allChatMemberEntries = GetAllChatMemberEntries();

            bool addUser = (from isMember in allChatMemberEntries
                            where isMember.FK_chat_members_user == user.Id && isMember.FK_chat_members_chat == chat.C_ID
                            select false).DefaultIfEmpty(true).Single();

            if (addUser)
            {
                chat_members member = new chat_members();
                member.FK_chat_members_chat = chat.C_ID;
                member.FK_chat_members_user = user.Id;
                db.chat_members.Add(member);
                db.SaveChanges();
            }
        }
예제 #13
0
        /* <summary>Counts the burst on the bubble</summary>
         * <param name="burst">Post like model</param>
         * <returns>The number of bubble bursts</returns>
         * <author>Sveinbjorn</author>
         */
        static public int SaveBurstPost(post_likes burst)
        {
            var db = new VERK2015_H17Entities1();
            int allowUserToBurst = (from x in db.post_likes.Where(y => y.FK_group_post_like_users == burst.FK_group_post_like_users &&
                                                                  y.FK_group_post_likes_group_posts == burst.FK_group_post_likes_group_posts &&
                                                                  y.post_burst == true)
                                    select x).Count();

            if (allowUserToBurst == 0)
            {
                db.post_likes.Add(burst);
                db.SaveChanges();
            }

            var burstCount = (from x in db.post_likes.Where(y => y.FK_group_post_likes_group_posts == burst.FK_group_post_likes_group_posts &&
                                                            y.post_burst == true)
                              select x).Count();

            return(burstCount);
        }
예제 #14
0
        static public chats CreateChat(AspNetUsers user, AspNetUsers friend)
        {
            var db = new VERK2015_H17Entities1();

            chats newChat = new chats();

            newChat.chat_name = friend.NickName;
            db.chats.Add(newChat);

            // Add User
            //public string FK_chat_members_user { get; set; }
            //public int FK_chat_members_chat { get; set; }
            db.chat_members.Add(new chat_members {
                FK_chat_members_user = user.Id, FK_chat_members_chat = newChat.C_ID
            });
            db.chat_members.Add(new chat_members {
                FK_chat_members_user = friend.Id, FK_chat_members_chat = newChat.C_ID
            });

            db.SaveChanges();
            return(newChat);
        }
예제 #15
0
        /* <summary>Toggles friendship</summary>
         * <param name="friends">object of the model friends_added</param>
         * <returns>bool</returns>
         * <author>Valgeir/Sveinbj�rn</author>
         */
        static public bool ToggleFriendship(AspNetUsers userAdder, AspNetUsers userFriended)
        {
            var db = new VERK2015_H17Entities1();

            //Checks if you have added that user
            var friendExist = (from x in db.friends_added
                               .Where(y => y.FK_friends_added_users_Added == userAdder.Id)
                               .Where(z => z.FK_friends_added_users_Addee == userFriended.Id)
                               select x).SingleOrDefault();
            //Checks if the user added you
            var friendExistOther = (from x in db.friends_added.Where(y => y.FK_friends_added_users_Added == userFriended.Id)
                                    .Where(z => z.FK_friends_added_users_Addee == userAdder.Id)
                                    select x).SingleOrDefault();

            //Else create a new record of friendship
            if (friendExist == null && friendExistOther == null)
            {
                friends_added addFriend = new friends_added();
                addFriend.FK_friends_added_users_Added = userAdder.Id;
                addFriend.FK_friends_added_users_Addee = userFriended.Id;
                addFriend.friended = true;

                db.friends_added.Add(addFriend);
                db.SaveChanges();
                return(true);
            }
            if (friendExist != null)
            {
                if (friendExist.C_ID != 0 && friendExist.FK_friends_added_users_Added != null)
                {
                    if (friendExist.friended == true)
                    {
                        friendExist.friended = false;
                        db.SaveChanges();
                        return(false);
                    }
                    else
                    {
                        friendExist.friended = true;
                        db.SaveChanges();
                        return(true);
                    }
                }
            }
            else if (friendExistOther != null)
            {
                if (friendExistOther.C_ID != 0 && friendExistOther.FK_friends_added_users_Added != null)
                {
                    if (friendExistOther.friended == true)
                    {
                        friendExistOther.friended = false;
                        db.SaveChanges();
                        return(false);
                    }
                    else
                    {
                        friendExistOther.friended = true;
                        db.SaveChanges();
                        return(true);
                    }
                }
                return(false);
            }
            return(false);
        }