public void addProfileToUser(String user_id, String profilePath) { var newProfile = new Profile { age = this.age, firstname = this.firstname, lastname = this.lastname, Id = user_id, gender = this.gender.ToString(), privacy = this.privacy ? 1 : 0 }; var databaseEntities = new FacebookDatabaseEntities(); databaseEntities.Profiles.Add(newProfile); var album = databaseEntities.Albums.Add(new Album { user_id = user_id, name = "ProfileAlbum", date = DateTime.Now }); var picture = databaseEntities.Pictures.Add(new Picture { album_id = album.album_id, path = profilePath, date = DateTime.Now, description = "ProfilePicture" }); var post = databaseEntities.Posts.Add(new Post { picture_id = picture.picture_id, sender_id = user_id, date = DateTime.Now, content = "I changed my profile picture" }); databaseEntities.SaveChanges(); }
public NewsFeedViewModel(AspNetUser user) { var isAdmin = RoleHandler.isAdmin(user.Id); var groups = user.Groups; ICollection <Post> posts = new List <Post>(); //TODO TBD posts are shown twice foreach (var group in groups) { posts = posts.Union(group.Posts, new PostComparator()).ToList(); } posts = posts.Union(user.Posts, new PostComparator()).ToList(); FacebookDatabaseEntities entities = new FacebookDatabaseEntities(); var friends = user.AspNetUsers; foreach (var friend in friends) { posts = posts.Union(friend.Posts.Where(x => groups.Where(y => y.group_id == x.group_id).Any() || x.group_id == null), new PostComparator()).ToList(); } posts = posts.OrderByDescending(x => x.date).Distinct().ToList(); this.posts = new List <PostViewModel>(); foreach (var post in posts) { this.posts.Add(new PostViewModel(post, "Newsfeed", isAdmin)); } }
public GroupsViewModel(string selectedId, string userId) { var databaseEntities = new FacebookDatabaseEntities(); var user = databaseEntities.AspNetUsers.Find(userId); var groups = user.Groups; myGroups = groups.Union(user.Groups1, new GroupComparator()).ToList(); if (selectedId != null) { selectedGroup = databaseEntities.Groups.Find(int.Parse(selectedId)); } else { selectedGroup = myGroups.FirstOrDefault(); } //TO-DO add administrator permission if (selectedGroup != null) { newPost = new PostViewModel { appLocation = "Groups", group_id = selectedGroup.group_id }; if (selectedGroup.AspNetUsers.Contains(user)) { accesPermision = AccesPermision.readPermissions; } else { accesPermision = AccesPermision.noPermission; } } isAdmin = RoleHandler.isAdmin(userId); }
public AlbumViewModel(string albumName, string appLocation, int albumID, List <PostViewModel> userPosts, string userID) { var databaseEntities = new FacebookDatabaseEntities(); List <PostViewModel> myPosts = userPosts.Where(x => x.albumID == albumID).ToList(); this.posts = myPosts; this.picturesRelativePath = this.posts.Select(x => x.postPictureRelativePath).ToList(); this.userID = userID; this.albumName = albumName; this.appLocation = appLocation; this.albumID = albumID; }
public MessengerViewModel(string receiver_id, string sender_id, int currentMessageNumber = 0) { FacebookDatabaseEntities databaseEntities = new FacebookDatabaseEntities(); var user = databaseEntities.AspNetUsers.Find(receiver_id); setUserList(user); var messages = databaseEntities.Messages.Where(x => (x.sender_id == sender_id && x.receiver_id == receiver_id) || (x.sender_id == receiver_id && x.receiver_id == sender_id)).ToList(); var userCanSendMessages = friends.Select(x => x.Id == sender_id).Any(x => x == true); conversation = new ConversationViewModel(messages, userCanSendMessages, sender_id, receiver_id, currentMessageNumber); }
public ConversationViewModel(List <Message> messages, bool userCanSendMessages, string ToUserId, string fromUserId, int currentMessageNumber) { this.sendToUserId = ToUserId; this.sendFromUserId = fromUserId; this.userCanSendMessages = userCanSendMessages; this.messages = messages.Skip(messages.Count - ((currentMessageNumber / multiplier) + 1) * multiplier).Select(x => new MessageViewModel(x, ToUserId)).ToList(); FacebookDatabaseEntities databaseEntities = new FacebookDatabaseEntities(); this.senderPicture = databaseEntities.AspNetUsers.Find(fromUserId).Profile.Albums.Where(x => x.name.Equals("ProfileAlbum")).FirstOrDefault().Pictures.OrderByDescending(x => x.date).FirstOrDefault().path; this.receiverPicture = databaseEntities.AspNetUsers.Find(ToUserId).Profile.Albums.Where(x => x.name.Equals("ProfileAlbum")).FirstOrDefault().Pictures.OrderByDescending(x => x.date).FirstOrDefault().path; }
public void addCommentFrom(AspNetUser user, FacebookDatabaseEntities toDataBase, string actualUserID) { var actualPost = toDataBase.Posts.Where(x => x.post_id == post_id).FirstOrDefault(); var status = CommentStatus.pending; if (actualPost.sender_id == actualUserID) { status = CommentStatus.accepted; } user.Comments.Add(new Comment { post_id = post_id, user_id = user.Id, date = DateTime.Now, content = inputComment, Status = (int)status }); toDataBase.SaveChanges(); }
public int saveToDatabase(string administrator, HttpServerUtilityBase server) { var databaseEntities = new FacebookDatabaseEntities(); var relativePath = FilesHandler.saveImage(picture, server); var group = databaseEntities.Groups.Add(new Group { name = name, administrator = administrator, picture_path = relativePath }); var user = databaseEntities.AspNetUsers.Find(administrator); group.AspNetUsers.Add(user); databaseEntities.SaveChanges(); return(group.group_id); }
public IEnumerable <SelectListItem> GetAlbumNames(string id) { var selectList = new List <SelectListItem>(); var databaseEntities = new FacebookDatabaseEntities(); List <Album> albums = databaseEntities.Albums.Where(x => x.user_id.Equals(id)).ToList(); foreach (var album in albums) { selectList.Add(new SelectListItem { Value = album.album_id.ToString(), Text = album.name }); } return(selectList); }
static public void addPostFrom(string user_id, FacebookDatabaseEntities toDataBase, String picturePath, string content, int albumID, Nullable <int> group_id = null, bool isProfilePicture = false) { Album album = null; if (isProfilePicture) { album = toDataBase.Albums.Where(x => x.name.Equals("ProfileAlbum") && x.user_id == user_id).FirstOrDefault(); } else { if (albumID != -1) //if we have an album to add the post to { album = toDataBase.Albums.Where(x => x.album_id == albumID).FirstOrDefault(); } if (album == null) //if we have not specified the id put it to posted pictures { album = toDataBase.Albums.Where(x => x.name.Equals("PostedPicturesAlbum") && x.user_id == user_id).FirstOrDefault(); } if (album == null) //if we have not specified the album and we also do not have the posted picture album created { album = toDataBase.Albums.Add(new Album { user_id = user_id, name = "PostedPicturesAlbum", date = DateTime.Now }); } } var aspNetUser = toDataBase.AspNetUsers.Find(user_id); Picture profilePicture = new Picture(); profilePicture.album_id = album.album_id; profilePicture.path = picturePath; profilePicture.date = DateTime.Now; profilePicture.description = "ProfilePicture"; toDataBase.Pictures.Add(profilePicture); Post newPost = new Post(); newPost.group_id = group_id; newPost.content = content; newPost.AspNetUser = aspNetUser; newPost.Picture = profilePicture; newPost.date = DateTime.Now; toDataBase.Posts.Add(newPost); toDataBase.SaveChanges(); }
public MessageViewModel(Message message, string sendToUserId) { message_id = message.message_id; date = message.date; sender = message.AspNetUser1; receiver = message.AspNetUser; switch (message.type) { case 1: type = MessageTypes.normalMessage; content = message.content; break; case 2: type = MessageTypes.friendRequest; actionId = message.content; content = " sent a friend request"; break; case 3: type = MessageTypes.groupRequest; actionId = message.content; FacebookDatabaseEntities databaseEntities = new FacebookDatabaseEntities(); var group = databaseEntities.Groups.Find(int.Parse(actionId)); content = " sent a group request for " + group.name; break; case 4: type = MessageTypes.adminWarning; content = "We took action on your post. Reason:" + message.content; break; } if (sender.Id == sendToUserId) { content = sender.Profile.firstname + " " + sender.Profile.lastname + " : " + content; state = State.received; } else { content = " me : " + content; state = State.sent; } }
public void saveToDatabase(string administrator, HttpServerUtilityBase server, FacebookDatabaseEntities toDataBase) { Album newAlbum = new Album(); newAlbum.date = DateTime.Now; newAlbum.name = name; newAlbum.user_id = administrator; toDataBase.Albums.Add(newAlbum); toDataBase.SaveChanges(); }
public void getResult(String userId) { var dataBase = new FacebookDatabaseEntities(); var currentUser = dataBase.AspNetUsers.Find(userId); if (currentUser != null) { var userGroups = currentUser.Groups.Where(x => x.name.ToLower().Contains(searchInput.ToLower())).Take(5); var otherGroups = dataBase.Groups.Where(x => x.name.ToLower().Contains(searchInput.ToLower()) && !x.AspNetUsers.Where(y => y.Id == userId).Any()).Take(5); groupsResult = userGroups.Select(x => new GenericItemViewModel { content = x.name, id = x.group_id.ToString(), myController = "Groups", clickOption = "Show" }) .ToList(); groupsResult = groupsResult.Union(otherGroups.Select(x => new GenericItemViewModel { content = x.name, id = x.group_id.ToString(), myController = "Groups", clickOption = "Show" }) .ToList()); var userFriends = currentUser.AspNetUsers1.Where(x => (x.Profile.firstname + " " + x.Profile.lastname).ToLower().Contains(searchInput.ToLower())).Take(5); var otherFriends = dataBase.AspNetUsers.Where(x => !x.AspNetUsers1.Where(y => y.Id == userId).Any() && x.Id != userId && (x.Profile.firstname + " " + x.Profile.lastname).ToLower().Contains(searchInput.ToLower())).Take(5); usersResult = userFriends.Select(x => new GenericItemViewModel { content = x.Profile.firstname + " " + x.Profile.lastname, imagePath = x.Profile.Albums.Where(y => y.name.Equals("ProfileAlbum")).FirstOrDefault().Pictures.OrderByDescending(y => y.date).FirstOrDefault().path, id = x.Id, myController = "Profile", clickOption = "Show" }) .ToList(); usersResult = usersResult.Union(otherFriends.Select(x => new GenericItemViewModel { content = x.Profile.firstname + " " + x.Profile.lastname, imagePath = x.Profile.Albums.Where(y => y.name.Equals("ProfileAlbum")).FirstOrDefault().Pictures.OrderByDescending(y => y.date).FirstOrDefault().path, id = x.Id, myController = "Profile", clickOption = "Show" }) .ToList()); } else { var users = dataBase.AspNetUsers.Where(x => (x.Profile.firstname + " " + x.Profile.lastname).ToLower().Contains(searchInput.ToLower())).Take(5); usersResult = users.Select(x => new GenericItemViewModel { content = x.Profile.firstname + " " + x.Profile.lastname, imagePath = x.Profile.Albums.Where(y => y.name.Equals("ProfileAlbum")).FirstOrDefault().Pictures.OrderByDescending(y => y.date).FirstOrDefault().path, id = x.Id, myController = "Profile", clickOption = "Show" }).ToList(); } }
public void addNewProfileToUser(String user_id, String profilePath) { var databaseEntities = new FacebookDatabaseEntities(); PostViewModel.addPostFrom(user_id, databaseEntities, profilePath, "I changed my profile picture", -1, null, true); }