Ejemplo n.º 1
0
        public object Convert(object value, Type targetType, object parameter, string language)
        {
            Windows.UI.Xaml.Controls.IconElement icon = new Windows.UI.Xaml.Controls.SymbolIcon()
            {
                Symbol = ((bool)value) ? Windows.UI.Xaml.Controls.Symbol.UnFavorite : Windows.UI.Xaml.Controls.Symbol.Favorite,
            };

            return(icon);
        }
Ejemplo n.º 2
0
        public static async Task MakeLikeAsync(ICanChangeLike like, Windows.UI.Core.CoreDispatcher dispatcher, SymbolIcon like1, SymbolIcon like2)
        {
            if (like == null)
            {
                return;
            }
            bool    isReply = like is FeedReplyModel;
            bool    isLike  = false;
            JObject o;

            if (like.Liked)
            {
                o = (JObject) await GetDataAsync(DataUriType.OperateUnlike, true, isReply? "Reply" : string.Empty, like.Id);
            }
            else
            {
                o = (JObject) await GetDataAsync(DataUriType.OperateLike, true, isReply? "Reply" : string.Empty, like.Id);

                isLike = true;
            }

            await dispatcher?.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
            {
                like.Liked = isLike;
                if (isReply)
                {
                    like.Likenum = o.ToString().Replace("\"", string.Empty);
                }
                else if (o != null)
                {
                    like.Likenum = o.Value <int>("count").ToString();
                }

                if (like1 != null)
                {
                    like1.Visibility = isLike ? Visibility.Visible : Visibility.Collapsed;
                }
                if (like1 != null)
                {
                    like2.Visibility = isLike ? Visibility.Collapsed : Visibility.Visible;
                }
            });
        }
Ejemplo n.º 3
0
        public static async Task MakeLikeAsync(ICanChangeLikModel model, Windows.UI.Core.CoreDispatcher dispatcher, SymbolIcon like, SymbolIcon coloredLike)
        {
            if (model == null)
            {
                return;
            }

            bool isReply = model is FeedReplyModel;
            var  u       = UriHelper.GetUri(
                model.Liked ? UriType.OperateUnlike : UriType.OperateLike,
                isReply ? "Reply" : string.Empty, model.Id);

            var(isSucceed, result) = await GetDataAsync(u, true);

            if (!isSucceed)
            {
                return;
            }

            var o = (JObject)result;

            await dispatcher?.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
            {
                model.Liked = !model.Liked;
                if (isReply)
                {
                    model.Likenum = o.ToString().Replace("\"", string.Empty);
                }
                else if (o != null)
                {
                    model.Likenum = $"{o.Value<int>("count")}";
                }

                if (like != null)
                {
                    like.Visibility = model.Liked ? Visibility.Visible : Visibility.Collapsed;
                }
                if (coloredLike != null)
                {
                    coloredLike.Visibility = model.Liked ? Visibility.Collapsed : Visibility.Visible;
                }
            });
        }