public ActionResult ShowMoreMessages(string sendToUserId, int n) { FacebookDatabaseEntities databaseEntities = new FacebookDatabaseEntities(); var receiver_id = User.Identity.GetUserId(); return(View("ShowMessenger", new MessengerViewModel(receiver_id, sendToUserId, n))); }
public ActionResult deletePost(string post_id, string receiver_id, DeletePostViewModel deletePostViewModel) { if (ModelState.IsValid) { var message = new Message() { sender_id = User.Identity.GetUserId(), receiver_id = receiver_id, content = deletePostViewModel.messageToUser, date = DateTime.Now, type = Convert.ToInt32(MessageTypes.adminWarning) }; FacebookDatabaseEntities databaseEntities = new FacebookDatabaseEntities(); Post post = new Post() { post_id = int.Parse(post_id) }; databaseEntities.Posts.Attach(post); databaseEntities.Posts.Remove(post); databaseEntities.SaveChanges(); MessageHandler.sendMessage(message); return(RedirectToAction("ShowMyProfile", "Profile")); } else { var post = databaseEntities.Posts.Find(int.Parse(post_id)); return(View("DeletePage", new DeletePostViewModel(post))); } }
static public void sendMessage(Message message) { FacebookDatabaseEntities databaseEntities = new FacebookDatabaseEntities(); databaseEntities.Messages.Add(message); databaseEntities.SaveChanges(); }
public static Boolean isAdmin(String userId) { FacebookDatabaseEntities databaseEntities = new FacebookDatabaseEntities(); var user = databaseEntities.AspNetUsers.Find(userId); return(user.AspNetRoles.Where(x => x.Name == "Admin").Any()); }
public ActionResult ShowMessenger() { var userId = User.Identity.GetUserId(); FacebookDatabaseEntities databaseEntities = new FacebookDatabaseEntities(); var user = databaseEntities.AspNetUsers.Find(userId); return(View(new MessengerViewModel(user))); }
public ActionResult SaveAlbum(CreateAlbumViewModel newAlbum) { string currentUserId = User.Identity.GetUserId(); if (ModelState.IsValid) { FacebookDatabaseEntities db = new FacebookDatabaseEntities(); newAlbum.saveToDatabase(currentUserId, Server, db); } char[] idArgument = currentUserId.ToCharArray(); return(RedirectToAction("Show", "Profile", new { id = currentUserId })); }
public ActionResult ShowPostFromAlbum(PostViewModel postViewModel) { var databaseEntities = new FacebookDatabaseEntities(); var aspNetUser = databaseEntities.AspNetUsers.Find(postViewModel.userID); var posts = aspNetUser.Posts; var thisPost = posts.Where(x => x.post_id == postViewModel.post_id).FirstOrDefault(); postViewModel = new PostViewModel(thisPost, "Gallery", User.IsInRole("Admin")); // postViewModel = new PostViewModel(postViewModel.) return(View("PostPartialView", postViewModel)); }
public ActionResult SendMessage(ConversationViewModel conversation) { FacebookDatabaseEntities databaseEntities = new FacebookDatabaseEntities(); var currentUserId = User.Identity.GetUserId(); var message = new Message() { sender_id = currentUserId, receiver_id = conversation.sendToUserId, content = conversation.inputText, date = DateTime.Now, type = Convert.ToInt32(MessageTypes.normalMessage) }; MessageHandler.sendMessage(message); return(RedirectToAction("ShowChat", "Messenger", new { sendToUserId = conversation.sendToUserId })); }
public ActionResult ShowAlbum(AlbumViewModel albumViewModel) { var databaseEntities = new FacebookDatabaseEntities(); var aspNetUser = databaseEntities.AspNetUsers.Find(albumViewModel.userID); var posts = aspNetUser.Posts; List <PostViewModel> userPosts = new List <PostViewModel>(); foreach (var post in posts) { userPosts.Add(new PostViewModel(post, "Profile", User.IsInRole("Admin"))); } albumViewModel = new AlbumViewModel(albumViewModel.albumName, albumViewModel.appLocation, albumViewModel.albumID, userPosts, albumViewModel.userID); return(View("PhotoGalleryPartialView", albumViewModel)); }
public ActionResult RequestToJoinSelectedGroup(GroupsViewModel groupsViewModel) { FacebookDatabaseEntities databaseEntities = new FacebookDatabaseEntities(); var currentUserId = User.Identity.GetUserId(); var selectedGroup = databaseEntities.Groups.Find(groupsViewModel.selectedGroup.group_id); var message = new Message() { sender_id = currentUserId, receiver_id = selectedGroup.administrator, content = selectedGroup.group_id.ToString(), date = DateTime.Now, type = Convert.ToInt32(MessageTypes.groupRequest) }; MessageHandler.sendMessage(message); return(RedirectToAction("Show", "Groups", selectedGroup.group_id)); }
public ActionResult SendFriendRequest(string senderID, string receiverID) { FacebookDatabaseEntities db = new FacebookDatabaseEntities(); Message newFriendRequestAsMessage = new Message() { sender_id = senderID, receiver_id = receiverID, date = DateTime.Now, type = (int)MessageTypes.friendRequest, content = "Please add me as a friend." }; //newFriendRequestAsMessage.AspNetUser = db.AspNetUsers.Find(senderID); //newFriendRequestAsMessage.AspNetUser1 = db.AspNetUsers.Find(receiverID); //newFriendRequestAsMessage.date = DateTime.Now; //newFriendRequestAsMessage.type = (int)MessageTypes.friendRequest; MessageHandler.sendMessage(newFriendRequestAsMessage); return(RedirectToAction("Show", "Profile", new { id = receiverID })); }
public ActionResult AcceptFriendRequest(string senderID) { FacebookDatabaseEntities databaseEntities = new FacebookDatabaseEntities(); var user = databaseEntities.AspNetUsers.Find(senderID); var me = databaseEntities.AspNetUsers.Find(User.Identity.GetUserId()); user.AspNetUsers.Add(me); me.AspNetUsers.Add(user); var message = databaseEntities.Messages.Where(x => x.sender_id == user.Id && x.receiver_id == me.Id && x.type == (int)MessageTypes.friendRequest).FirstOrDefault(); message.type = Convert.ToInt32(MessageTypes.normalMessage); message.content = "Friend request accepted"; databaseEntities.SaveChanges(); return(RedirectToAction("ShowChat", "Messenger", new { sendToUserId = senderID })); }
static public void addUserToGroup(string user_id, int group_id, int message_id) { FacebookDatabaseEntities databaseEntities = new FacebookDatabaseEntities(); var user = databaseEntities.AspNetUsers.Find(user_id); databaseEntities.Groups.Find(group_id).AspNetUsers.Add(user); var message = databaseEntities.Messages.Find(message_id); message.type = Convert.ToInt32(MessageTypes.normalMessage); message.content = "Group request accepted"; var aux = message.sender_id; message.sender_id = message.receiver_id; message.receiver_id = aux; databaseEntities.SaveChanges(); }
static public FriendshipStatus GetFriendRequestStatus(string myID, string hisID) { //todo search in db to see if there is a friendreauest from you to the person or reverse FacebookDatabaseEntities db = new FacebookDatabaseEntities(); Message friendRequestFromMe = db.Messages.Where(x => x.sender_id == myID && x.receiver_id == hisID && x.type == (int)MessageTypes.friendRequest).FirstOrDefault(); Message friendRequestToMe = db.Messages.Where(x => x.sender_id == hisID && x.receiver_id == myID && x.type == (int)MessageTypes.friendRequest).FirstOrDefault(); if (friendRequestFromMe != null) { return(FriendshipStatus.pendingSentByMe); } else if (friendRequestToMe != null) { return(FriendshipStatus.pendingSentByHim); } else { return(FriendshipStatus.notSent); } }
public ActionResult Show(string id) { var databaseEntities = new FacebookDatabaseEntities(); if (databaseEntities.AspNetUsers.Find(id) == null) { return(View("Profile", null)); } var iAmaVisitor = true; if (User.Identity.GetUserId() == id) { iAmaVisitor = false; } var isAdmin = false; if (User.Identity.GetUserId() != null) { isAdmin = RoleHandler.isAdmin(User.Identity.GetUserId()); } var loggedUser = databaseEntities.AspNetUsers.Find(User.Identity.GetUserId()); Profile profile = databaseEntities.Profiles.Find(id); if (profile == null) { return(View("AddProfile", new ProfileViewModel())); } else { //TO-DO: add properties to ProfileViewModel like : albums, posts and personal informations and show them into view. var aspNetUser = databaseEntities.AspNetUsers.Find(id); var posts = aspNetUser.Posts; List <PostViewModel> userPosts = new List <PostViewModel>(); foreach (var post in posts) { userPosts.Add(new PostViewModel(post, "Profile", isAdmin)); } List <Album> albums = databaseEntities.Albums.Where(x => x.user_id == id).ToList(); List <AlbumViewModel> userAlbums = new List <AlbumViewModel>(); foreach (Album album in albums) { userAlbums.Add(new AlbumViewModel(album.name, "Profile", album.album_id, userPosts, id)); } List <AspNetUser> friends = aspNetUser.AspNetUsers.ToList(); List <Profile> profiles = databaseEntities.Profiles.ToList(); List <Profile> friendsProfiles = (from aspUser in friends join friendProfile in profiles on aspUser.Id equals friendProfile.Id select friendProfile).ToList(); List <FriendViewModel> friendsList = new List <FriendViewModel>(); foreach (Profile friend in friendsProfiles) { friendsList.Add(new FriendViewModel(friend.Id, friend.Albums.Where(x => x.name == "ProfileAlbum").FirstOrDefault().Pictures.OrderByDescending(x => x.date).FirstOrDefault().path, friend.firstname + friend.lastname)); } var profileViewModel = new ProfileViewModel(profile, userAlbums, userPosts, friendsList); profileViewModel.iAmaVisitor = iAmaVisitor; profileViewModel.isAdmin = isAdmin; if (iAmaVisitor) { var myID = User.Identity.GetUserId(); profileViewModel.profileVisitorID = myID; if (friendsProfiles.Select(x => x.Id).ToList().Contains(myID)) { profileViewModel.relationshipStatus = FriendshipStatus.friends; } else { profileViewModel.relationshipStatus = MessageHandler.GetFriendRequestStatus(User.Identity.GetUserId(), id); } } if (profile.privacy == 1) { if (profile.AspNetUser.Id != User.Identity.GetUserId() && !aspNetUser.AspNetUsers.Where(x => x.Id == User.Identity.GetUserId()).Any()) { profileViewModel.privacy = true; } } return(View("Profile", profileViewModel)); } }