Ejemplo n.º 1
0
        public async Task<LikeResult> RateProfile(User user, string login, bool like)
        {
            var likeQuery = await this.databaseContext.UsersLikes
                .Include(x => x.Liker)
                .Include(x => x.LikedUser)
                .FirstOrDefaultAsync(x => x.LikedUser.Login == login && x.Liker.Id == user.Id);
            if (likeQuery == null)
            {
                likeQuery = new UserLike()
                {
                    LikedUser = await this.databaseContext.Users.FirstOrDefaultAsync(x => x.Login == login),
                    Liker = user,
                };
                await this.databaseContext.AddAsync(likeQuery);
            }

            likeQuery.IsLiked = like;
            await this.databaseContext.SaveChangesAsync();
            LikeResult likeResult =  new LikeResult()
            {
                IsLiked = like,
                Likes = await this.databaseContext.UsersLikes
                    .Include(x => x.LikedUser)
                    .LongCountAsync(x => x.IsLiked && x.LikedUser.Login == login)
            };
            return likeResult;
        }
Ejemplo n.º 2
0
        private async void LikeClick(object sender, RoutedEventArgs e)
        {
            UserContentProvider user   = new UserContentProvider();
            LikeResult          reuslt = null;

            if (LikeBtn.Visibility == Visibility.Collapsed)
            {
                reuslt = await user.LikeNote(NoteDetail.Id, GlobalValue.CurrentUserContext.UserId, GlobalValue.CurrentUserContext.MobileToken);
            }
            else
            {
                reuslt = await user.UnlikeNote(NoteDetail.Id, GlobalValue.CurrentUserContext.UserId, GlobalValue.CurrentUserContext.MobileToken);
            }

            Untils.UpdateNoteDetail(NoteDetail);

            LikeBtn.Visibility = reuslt.isLiked ? Visibility.Visible : Visibility.Collapsed;
            if (reuslt.isLiked)
            {
                GalaSoft.MvvmLight.Messaging.Messenger.Default.Send(new ShowMessage()
                {
                    MessageContent = App.Current.Resources["LikeMessage"].ToString()
                });
            }
            else
            {
                GalaSoft.MvvmLight.Messaging.Messenger.Default.Send(new ShowMessage()
                {
                    MessageContent = App.Current.Resources["UnlikeMessage"].ToString()
                });
            }
        }
        public async Task UnlikeNoteTest()
        {
            UserContentProvider mine   = new UserContentProvider();
            LoginResult         result = await mine.Login(Config.username, Config.password);

            LikeResult nr = await mine.UnlikeNote(1664660, result.Id.ToString(), result.MobileToken);

            Assert.IsNotNull(nr);
        }
Ejemplo n.º 4
0
        public async Task DisLike()
        {
            PostRepository postRepository = new PostRepository();
            //Act
            var like = new Like {
                Name = "baran", PostID = 3, UserID = 9
            };
            LikeResult isLiked = await postRepository.AddLike(like);

            // Assert
            Assert.True(isLiked.IsSuccess);
        }