private void GenerateNewsFeedGrid() { NewsFeedGridView.Rows.Clear(); NewsFeedGridView.Columns.Clear(); NewsFeedGridView.Columns.Add("Id", "Id"); NewsFeedGridView.Columns.Add("Body", "İçerik"); NewsFeedGridView.Columns.Add("PostedBy", "Paylaşan"); NewsFeedGridView.Columns.Add("CreatedDate", "Paylaşım Tarihi"); NewsFeedGridView.Columns.Add("ModifiedDate", "Güncellenme Tarihi"); NewsFeedGridView.Columns.Add("LikeCount", "Beğeni Sayısı"); NewsFeedGridView.Columns.Add("CommentCount", "Yorum Sayısı"); NewsFeedGridView.Columns.Add("Events", "Aksiyonlar"); var provider = new NewsfeedProvider(); var posts = provider.GetUserNewsfeed(FormHelper.Username, 0, 1000); foreach (var post in posts) { var events = post.FeedDescription.Select(p => string.Concat(p.By, ":", Convert.ToString(p.Action))); var actions = string.Empty; if (events != null) { actions = string.Join(";", events); } NewsFeedGridView.Rows.Add(post.Id, post.Body, post.PostedBy, post.CreatedDate, post.ModifiedDate, post.LikeCount, post.CommentCount, actions); } }
private void SaveButton_Click(object sender, EventArgs e) { var commentProvider = new CommentProvider(); var request = new CommentCreateRequest(); request.Body = CommentBodyTextBox.Text; request.CreatedBy = FormHelper.Username; request.WallPostId = FormId; commentProvider.AddComment(request); var feedProvider = new NewsfeedProvider(); var newsFeedEntry = new NewsfeedItem { By = FormHelper.Username, ReferencePostId = FormId, FeedType = NewsfeedActionType.comment, WallOwner = new Core.Models.Wall.NewsfeedWallModel { IsPublic = true, OwnerId = FormHelper.Username, WallOwnerType = Core.Models.Wall.WallType.user } }; feedProvider.AddNewsfeedItem(newsFeedEntry); this.Close(); }
private void ShareMultipleButton_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(ShareTextBox.Text)) { MessageBox.Show("İçerik girmediniz!"); return; } var request = new WallPostCreateRequest(); request.Body = ShareTextBox.Text; request.PostedBy = FormHelper.Username; request.PostType = WallPostType.text; if (ShareToOwnWallCheckbox.Checked) { request.TargetWall = new WallModel { OwnerId = FormHelper.Username, WallOwnerType = WallType.user }; } else { var ownerType = WallSelectionComboBox.Text == "Grup" ? WallType.group : WallType.user; request.TargetWall = new WallModel { OwnerId = WallOwnerTextBox.Text, WallOwnerType = ownerType }; } var provider = new WallPostProvider(); for (int i = 0; i < 100; i++) { var postId = provider.AddPost(request); var feedProvider = new NewsfeedProvider(); var newsFeedEntry = new NewsfeedItem { By = request.PostedBy, ReferencePostId = postId, FeedType = NewsfeedActionType.wallpost, WallOwner = new NewsfeedWallModel { IsPublic = true, OwnerId = request.PostedBy, WallOwnerType = WallType.user } }; feedProvider.AddNewsfeedItem(newsFeedEntry); } }
private void WallPostGridView_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e) { var likeColumnIndex = WallPostGridView.Columns["Like"].Index; if (e.ColumnIndex == likeColumnIndex && e.RowIndex >= 0) { WallPostGridView.EndEdit(); var row = WallPostGridView.Rows[e.RowIndex]; var isLiked = Convert.ToBoolean((row.Cells["Like"] as DataGridViewCheckBoxCell).Value); var id = Convert.ToString(row.Cells["Id"].Value); var likeProvider = new EntryLikeProvider(); var feedProvider = new NewsfeedProvider(); if (isLiked) { likeProvider.LikePost(id, FormHelper.Username); var newsFeedEntry = new NewsfeedItem { By = FormHelper.Username, ReferencePostId = id, FeedType = NewsfeedActionType.like, WallOwner = new Core.Models.Wall.NewsfeedWallModel { IsPublic = true, OwnerId = FormHelper.Username, WallOwnerType = Core.Models.Wall.WallType.user } }; feedProvider.AddNewsfeedItem(newsFeedEntry); } else { likeProvider.UnlikePost(id, FormHelper.Username); var newsFeedEntry = new NewsfeedItem { By = FormHelper.Username, ReferencePostId = id, FeedType = NewsfeedActionType.like, WallOwner = new Core.Models.Wall.NewsfeedWallModel { IsPublic = true, OwnerId = FormHelper.Username, WallOwnerType = Core.Models.Wall.WallType.user } }; feedProvider.RemoveNewsfeedItem(newsFeedEntry); } } }