示例#1
0
        public void AddFriend(string friend)
        {
            // Init Db
            Db db = new Db();

            // Get User's Id
            UserDTO userDTO = db.Users.Where(x => x.Username.Equals(User.Identity.Name)).FirstOrDefault();
            int     userId  = userDTO.Id;

            // Get Friend to be Id
            UserDTO userDTO2 = db.Users.Where(x => x.Username.Equals(friend)).FirstOrDefault();
            int     friendId = userDTO2.Id;

            //Add DTO
            FriendsDTO friendsDTO = new FriendsDTO
            {
                User1  = userId,
                User2  = friendId,
                Active = false
            };

            db.Friends.Add(friendsDTO);

            db.SaveChanges();
        }
示例#2
0
 public FriendRequestVM(FriendsDTO row)
 {
     Id     = row.Id;
     User1  = row.User1;
     User2  = row.User2;
     Active = row.Active;
 }
示例#3
0
        public Task DeclineInvite(FriendsDTO friends)
        {
            var mapper = new Mapper(config);

            friends.Status = "Declined";
            Task updateTask = Task.Run(() =>
            {
                unit.Friends.Update(mapper.Map <Friends>(friends));
                unit.Save();
            });

            return(updateTask);
        }
示例#4
0
        public void AcceptFriendRequest(int friendId)
        {
            //Init Db
            Db db = new Db();

            //Get UserId
            int userId = db.Users.Where(x => x.Username.Equals(User.Identity.Name)).FirstOrDefault().Id;

            //Make Friends
            FriendsDTO friendDTO = db.Friends.Where(x => x.User1.Equals(friendId) && x.User2.Equals(userId) && x.IsActive == false).FirstOrDefault();

            friendDTO.IsActive = true;
            db.SaveChanges();
        }
示例#5
0
        public void DeclineFriendRequest(int friendId)
        {
            //Init Db
            Db db = new Db();

            //Get UserId
            int userId = db.Users.Where(x => x.Username.Equals(User.Identity.Name)).FirstOrDefault().Id;

            //Remove Friends
            FriendsDTO friendDTO = db.Friends.Where(x => x.User1.Equals(friendId) && x.User2.Equals(userId)).FirstOrDefault();

            db.Friends.Remove(friendDTO);
            db.SaveChanges();
        }
示例#6
0
        public void AcceptFriendRequests(int friendId)
        {
            // Init DB
            Db db = new Db();

            // Get User ID
            UserDTO userDTO = db.Users.Where(x => x.Username.Equals(User.Identity.Name)).FirstOrDefault();

            // Make Friends
            FriendsDTO friendsDTO = db.Friends.Where(x => x.User1.Equals(friendId) && x.User2.Equals(userDTO.Id)).FirstOrDefault();

            if (friendsDTO != null)
            {
                friendsDTO.Active = true;
            }

            // Save Db
            db.SaveChanges();
        }
示例#7
0
        public ActionResult Username(string username = "")
        {
            //Init Database
            Db db = new Db();

            //Check if user exists
            if (!db.Users.Any(x => x.Username.Equals(username)))
            {
                return(Redirect("~/"));
            }

            // ViewBag Username
            ViewBag.Username = username;

            // Get logged in users username
            string user = User.Identity.Name;

            // ViewBag user´s full name
            UserDTO userDTO1 = db.Users.Where(x => x.Username.Equals(user)).FirstOrDefault();

            ViewBag.FullName = userDTO1.FirstName + " " + userDTO1.LastName;

            // Get viewing full name
            UserDTO userDTO2 = db.Users.Where(x => x.Username.Equals(username)).FirstOrDefault();

            ViewBag.ViewingFullName = userDTO2.FirstName + " " + userDTO2.LastName;

            //Get User and Friend ID
            int userId   = userDTO1.Id;
            int friendId = userDTO2.Id;

            // Get username's image
            ViewBag.UsernameImage = userDTO2.Id + ".jpg";

            // ViewBag user type
            string userType = "guest";

            if (username.Equals(user))
            {
                userType = "owner";
            }

            ViewBag.UserType = userType;

            //Check if they are friends
            if (userType == "guest")
            {
                //UserDTO userDTO3 = db.Users.Where(x => x.Username.Equals(user)).FirstOrDefault();
                //UserDTO userDTO4 = db.Users.Where(x => x.Username.Equals(username)).FirstOrDefault();


                FriendsDTO friendsDTO1 = db.Friends.Where(x => x.User1.Equals(userId) && x.User2.Equals(friendId)).FirstOrDefault();
                FriendsDTO friendsDTO2 = db.Friends.Where(x => x.User1.Equals(friendId) && x.User2.Equals(userId)).FirstOrDefault();

                if (friendsDTO1 == null && friendsDTO2 == null)
                {
                    ViewBag.NotFriends = "True";
                }
                else if (friendsDTO1 != null)
                {
                    if (!friendsDTO1.Active)
                    {
                        ViewBag.NotFriends = "Pending";
                    }
                }
                else if (friendsDTO2 != null)
                {
                    if (!friendsDTO2.Active)
                    {
                        ViewBag.NotFriends = "Pending";
                    }
                }
            }

            // Get friend request count
            ViewBag.FRCount = db.Friends.Count(x => x.User2.Equals(userId) && x.Active.Equals(false));


            //Return
            return(View());
        }
        public ActionResult Username(string username = "")
        {
            Db db = new Db();

            //Check if user exists
            if (!db.Users.Any(x => x.Username.Equals(username)))
            {
                return(Redirect("~/"));
            }

            ViewBag.username = username;

            //Get logged in user's username
            string user = User.Identity.Name;

            //Viewbag's user full name
            UserDTO userDTO = db.Users.Where(x => x.Username.Equals(user)).FirstOrDefault();

            ViewBag.fullname = userDTO.FirstName + " " + userDTO.LastName;

            //Get viewing full name, the one signed in!
            UserDTO userDTO2 = db.Users.Where(x => x.Username.Equals(username)).FirstOrDefault();

            ViewBag.viewingFullName = userDTO2.FirstName + " " + userDTO2.LastName;

            //Get username's image
            ViewBag.usernameimg = userDTO2.Id + ".jpg";

            //Check if user viewing is same as user logged in
            string userType = "guest";

            if (userDTO == userDTO2)
            {
                userType = "owner";
            }

            //Check if both users have pending friendship or not friends
            if (userType == "guest")
            {
                FriendsDTO f1 = db.Friends.Where(x => x.User1.Equals(userDTO.Id) && x.User2.Equals(userDTO2.Id)).FirstOrDefault();
                FriendsDTO f2 = db.Friends.Where(x => x.User2.Equals(userDTO.Id) && x.User1.Equals(userDTO2.Id)).FirstOrDefault();

                if (f1 == null && f2 == null)
                {
                    ViewBag.notfriends = "true";
                }

                if (f1 != null)
                {
                    if (!f1.IsActive)
                    {
                        ViewBag.notfriends = "pending";
                    }
                }

                if (f2 != null)
                {
                    if (!f2.IsActive)
                    {
                        ViewBag.notfriends = "pending";
                    }
                }
            }

            //Get friend requests count - Viewbag
            var friendCount = db.Friends.Count(x => x.User2 == userDTO.Id && x.IsActive == false);

            if (friendCount > 0)
            {
                ViewBag.friendcount = friendCount;
            }

            //Get Friend Count - ViewBag
            int userId = userDTO.Id;

            var friendCount2 = db.Friends.Count(x => x.User1 == userId && x.IsActive == true || x.User2 == userId && x.IsActive == true);

            ViewBag.fCount = friendCount2;

            //View bag user ID
            ViewBag.userId = userId;

            ViewBag.usertype = userType;

            //Get Message Count
            var messageCount = db.Messages.Count(x => x.To == userId && x.Read == false);

            //Viewbag message count
            ViewBag.msgCount = messageCount;

            //Viewbag user wall
            WallDTO wall = new WallDTO();

            ViewBag.wallMessage = db.Walls.Where(x => x.Id == userId).Select(x => x.Message).FirstOrDefault();

            //View bag friend walls
            List <int> friendIds1 = db.Friends.Where(x => x.User1 == userId && x.IsActive == true)
                                    .ToArray().Select(x => x.User2).ToList();

            List <int> friendIds2 = db.Friends.Where(x => x.User2 == userId && x.IsActive == true)
                                    .ToArray().Select(x => x.User1).ToList();

            List <int> allFriendIds = friendIds1.Concat(friendIds2).ToList();

            List <WallVM> allWalls = db.Walls.Where(x => allFriendIds.Contains(x.Id))
                                     .ToArray().OrderByDescending(x => x.DateEdited)
                                     .Select(x => new WallVM(x)).ToList();

            ViewBag.walls = allWalls;

            return(View());
        }
示例#9
0
 public FriendRequestVM(FriendsDTO row)
 {
     User1    = row.User1;
     User2    = row.User2;
     IsActive = row.IsActive;
 }
		public async Task RemovePrayerPartner(User first, User second)
		{
			FriendsDTO friends = new FriendsDTO () {
				FriendAId = first.Id,
				FriendBId = second.Id
			};

			await client.InvokeApiAsync<FriendsDTO,object> ("UsersCustom/RemovePrayerPartner/", friends);
		}
		public async Task AddPrayerPartner(string firstid, string secondid)
		{
			FriendsDTO friends = new FriendsDTO () {
				FriendAId = firstid,
				FriendBId = secondid
			};

			await client.InvokeApiAsync<FriendsDTO,object> ("Friends/PostFriends/", friends);
		}
		public async Task AddPrayerPartner(User first, User second)
		{
			FriendsDTO friends = new FriendsDTO () {
				FriendAId = first.Id,
				FriendBId = second.Id
			};

			await client.InvokeApiAsync<FriendsDTO,object> ("Friends/PostFriends/", friends);
		}