void SetupRecyclerView() { postRecyclerView.SetLayoutManager(new Android.Support.V7.Widget.LinearLayoutManager(postRecyclerView.Context)); postAdapter = new PostAdapter(ListOfPost); postRecyclerView.SetAdapter(postAdapter); postAdapter.ItemLongClick += PostAdapter_ItemLongClick; }
public void IgnoresBlogNameCase() { // Arrange var date = DateTime.Now; var yesterday = date.AddDays(-1); var threeDaysAgo = date.AddDays(-3); var fiveDaysAgo = date.AddDays(-5); var basePost = new BasePost { Notes = new List <BaseNote> { new BaseNote { PostId = "1", Type = NoteType.Reblog, Timestamp = threeDaysAgo, BlogName = "blackjackkent" }, new BaseNote { PostId = "2", Type = NoteType.Reblog, Timestamp = yesterday, BlogName = "partnerBlog" }, new BaseNote { PostId = "3", Type = NoteType.Reblog, Timestamp = fiveDaysAgo, BlogName = "partnerblog" } } }; var adapter = new PostAdapter(basePost); // Act var note = adapter.GetMostRecentRelevantNote("blackjackkent", "partnerblog"); // Assert note.Should().NotBe(null); note.PostId.Should().Be("2"); note.Timestamp.Should().Be(yesterday); }
public void ReturnsUsersMostRecentReblogIfPartnerIdentifierProvidedAndTheirTurn() { // Arrange var date = DateTime.Now; var yesterday = date.AddDays(-1); var threeDaysAgo = date.AddDays(-3); var fiveDaysAgo = date.AddDays(-5); var basePost = new BasePost { Notes = new List <BaseNote> { new BaseNote { PostId = "1", Type = NoteType.Reblog, Timestamp = threeDaysAgo, BlogName = "blackjackkent" }, new BaseNote { PostId = "2", Type = NoteType.Reblog, Timestamp = yesterday, BlogName = "someOtherBlog" }, new BaseNote { PostId = "3", Type = NoteType.Reblog, Timestamp = fiveDaysAgo, BlogName = "partnerblog" } } }; var adapter = new PostAdapter(basePost); // Act var note = adapter.GetMostRecentRelevantNote("blackjackkent", "partnerblog"); // Assert note.Should().NotBe(null); note.PostId.Should().Be("1"); note.Timestamp.Should().Be(threeDaysAgo); }
public void ReturnsNullIfNotesContainsNoReblogs() { // Arrange var basePost = new BasePost { Notes = new List <BaseNote> { new BaseNote { Type = NoteType.Like }, new BaseNote { Type = NoteType.Reply }, new BaseNote { Type = NoteType.Posted } } }; var adapter = new PostAdapter(basePost); // Act var note = adapter.GetMostRecentRelevantNote("blackjackkent", "mypartner"); // Assert note.Should().BeNull(); }
private void InitializeAdapters() { ListView postsView = FindViewById <ListView>(Resource.Id.postsView); this.postAdapter = new PostAdapter(this, CommonData.Hub); postsView.Adapter = this.postAdapter; }
public PostDto Procurar(Guid id) { var post = postRepositorio.Procurar(id); var postDto = PostAdapter.toDto(post); return(postDto); }
public void Insert(PostDto postDto) { Post post = PostAdapter.toDomain(postDto); post.id = Guid.NewGuid(); postRepositorio.Inserir(post); }
public void DrawPosts(IList <Post> posts) { LinearLayoutManager linerLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.Vertical, false); recyclerViewPostsResults.HasFixedSize = false; recyclerViewPostsResults.SetLayoutManager(linerLayoutManager); _PostAdapter = new PostAdapter(posts, this); recyclerViewPostsResults.SetAdapter(_PostAdapter); }
public List <PostDto> Listar() { var posts = postRepositorio.Listar(); List <PostDto> postDtos = new List <PostDto>(); foreach (var post in posts) { postDtos.Add(PostAdapter.toDto(post)); } return(postDtos); }
public void ReturnsNullIfNotesAreEmpty() { // Arrange var basePost = new BasePost { Notes = new List <BaseNote>() }; var adapter = new PostAdapter(basePost); // Act var note = adapter.GetMostRecentRelevantNote("blackjackkent", "mypartner"); // Assert note.Should().BeNull(); }
public async Task <PostViewModel> AddPost(AddPostRequest request) { var currentUser = Feature.CurrentUser(httpContextAccessor, userRepository); var post = PostAdapter.FromRequest(request); post.AuthorId = currentUser.Id.ToString(); await postRepository.AddAsync(post); await fcmRepository.AddToGroup(new AddUserToGroupRequest() { GroupName = post.OId, Type = Feature.GetTypeName(post), UserIds = new List <string> { currentUser.OId } }); foreach (var item in request.Fields) { item.ObjectId = post.OId; } await levelService.AddObjectLevel(request.Fields); var userMatchs = await GetUsersMatchPostField(post); foreach (var user in userMatchs) { var followBuilder = Builders <Follow> .Filter; var followFilter = followBuilder.Eq("from_id", user.OId) & followBuilder.Eq("to_id", currentUser.OId); var follows = await followRepository.FindListAsync(followFilter); follows.ForEach(async x => { var notificationDetail = new Noftication() { AuthorId = currentUser.OId, OwnerId = currentUser.OId, ObjectId = post.OId, ObjectThumbnail = post.Title }; await fcmRepository.PushNotify(x.FromId, notificationDetail, NotificationContent.AddPostNotification); }); } var response = mapper.Map <PostViewModel>(post); return(response); }
public void HandlesInvalidPostObjectType() { // Arrange var postDateTime = DateTime.Now; var basePost = new PhotoPost() { Id = 12345, Timestamp = postDateTime, BlogName = "blackjackkent", Url = "http://www.test.com" }; // Act var adapter = new PostAdapter(basePost); // Assert adapter.Id.Should().Be(basePost.Id.ToString(CultureInfo.InvariantCulture)); adapter.Timestamp.Should().Be(basePost.Timestamp); adapter.BlogName.Should().Be(basePost.BlogName); adapter.Url.Should().Be(basePost.Url); adapter.Title.Should().Be(null); }
public void PopulatesPropertiesFromBasePost() { // Arrange var postDateTime = DateTime.Now; var basePost = new TextPost() { Id = 12345, Timestamp = postDateTime, BlogName = "blackjackkent", Url = "http://www.test.com", Title = "My Awesome Title" }; // Act var adapter = new PostAdapter(basePost); // Assert adapter.Id.Should().Be(basePost.Id.ToString(CultureInfo.InvariantCulture)); adapter.Timestamp.Should().Be(basePost.Timestamp); adapter.BlogName.Should().Be(basePost.BlogName); adapter.Url.Should().Be(basePost.Url); adapter.Title.Should().Be(basePost.Title); }
public void Update(PostDto postDto) { Post post = PostAdapter.toDomain(postDto); postRepositorio.Alterar(post); }
public PostsController(AzureBlobService azureBlobService, PostAdapter postAdapter, IdentityHelper identityHelper) { _azureBlobService = azureBlobService; _postAdapter = postAdapter; _identityHelper = identityHelper; }
private void SetUpRecycler() { postAdapter = new PostAdapter(this, posts); mainRecycler.SetAdapter(postAdapter); emptyObserver = new RecyclerViewEmptyObserver(mainRecycler, emptyRoot); postAdapter.RegisterAdapterDataObserver(emptyObserver); postAdapter.ItemLongClick += (s1, e1) => { string postID = posts[e1.Position].ID; string ownerID = posts[e1.Position].OwnerId; if (SessionManager.GetFirebaseAuth().CurrentUser.Uid != ownerID) { return; } var sweetDialog = new SweetAlertDialog(this, SweetAlertDialog.WarningType); sweetDialog.SetTitleText("Post Options"); sweetDialog.SetContentText("Do you want to edit or delete selected post?"); sweetDialog.SetCancelText("Delete"); sweetDialog.SetConfirmText("Edit"); sweetDialog.SetConfirmClickListener(new SweetConfirmClick( onClick: d1 => { d1.ChangeAlertType(SweetAlertDialog.SuccessType); d1.SetTitleText("Done"); d1.SetContentText(""); d1.ShowCancelButton(false); d1.SetConfirmText("OK"); d1.SetConfirmClickListener(null); d1.Show(); })); sweetDialog.SetCancelClickListener(new SweetConfirmClick( onClick: d2 => { SessionManager.GetFireDB().GetReference("posts").Child(postID).RemoveValue() .AddOnCompleteListener(new OncompleteListener((onComplete) => { switch (onComplete.IsSuccessful) { case false: break; default: StorageReference storageReference = FirebaseStorage.Instance.GetReference("postImages/" + postID); storageReference.DeleteAsync(); postAdapter.NotifyItemRemoved(e1.Position); postAdapter.NotifyItemRangeChanged(e1.Position, posts.Count); break; } })); d2.ChangeAlertType(SweetAlertDialog.SuccessType); d2.SetTitleText("Deleted"); d2.SetContentText(""); d2.ShowCancelButton(false); d2.SetConfirmText("OK"); d2.SetConfirmClickListener(null); d2.Show(); })); sweetDialog.Show(); }; postAdapter.ItemClick += (s2, e2) => { var intent = new Intent(this, typeof(FullscreenImageActivity)); PostParcelable postParcelable = new PostParcelable(); postParcelable.PostItem = posts[e2.Position]; intent.PutExtra(Constants.TRANSITION_NAME, ViewCompat.GetTransitionName(e2.ImageView)); intent.PutExtra(Constants.POST_DATA_EXTRA, postParcelable); intent.PutExtra(Constants.PARCEL_TYPE, 0); var options = ActivityOptionsCompat.MakeSceneTransitionAnimation(this, e2.ImageView, ViewCompat.GetTransitionName(e2.ImageView)); StartActivity(intent, options.ToBundle()); }; }