public PubPageViewModel(INavigationService navigationService,
                         IApiService apiServices) : base(navigationService)
 {
     Title = "Publicacion";
     _navigationService = navigationService;
     _apiServices       = apiServices;
     _user     = JsonConvert.DeserializeObject <UserResponse>(Settings.User);
     _instance = this;
     IsUser    = false;
     PrkShow   = true;
 }
예제 #2
0
        private async void LikePub()
        {
            var rcts = JsonConvert.DeserializeObject <List <Reactions> >(Settings.Reactions);
            var user = JsonConvert.DeserializeObject <UserResponse>(Settings.User);

            var pubid = JsonConvert.DeserializeObject <int>(Settings.PubId);

            var comment = this;



            var rct = rcts == null ? null : rcts.FirstOrDefault(r => r.CommentId == comment.Id &&
                                                                r.ContentId == pubid &&
                                                                r.UserId == user.Id);

            if (rct != null)
            {
                rcts.Remove(rct);

                if (comment.Like > 0)
                {
                    comment.Like--;
                    await ActCmm(0, pubid, comment.Id, -1);
                }
            }
            else
            {
                rct = new Reactions
                {
                    Id        = (rcts == null || rcts.Count == 0) ? 1 : rcts.Last().Id + 1,
                    CommentId = comment.Id,
                    ContentId = pubid,
                    Tipo      = 2,
                    UserId    = user.Id
                };
                comment.Like++;
                await ActCmm(0, pubid, comment.Id, 1);

                if (rcts == null)
                {
                    rcts = new List <Reactions>();
                }

                rcts.Add(rct);
            }


            Settings.Reactions = JsonConvert.SerializeObject(rcts);



            await PubsPageViewModel.GetInstance().UpdateContentAsync();

            var Ps        = JsonConvert.DeserializeObject <PublicationsResponse>(Settings.Pubs);
            var contentId = JsonConvert.DeserializeObject <int>(Settings.PubId);

            var content = Ps.Contents.ToList().Find(c => c.Id == contentId);

            PubPageViewModel.GetInstance().Content = content;

            PubPageViewModel.GetInstance().LoadComments();

            /* PubPageViewModel.GetInstance().Content = content;
             * PubPageViewModel.GetInstance().LoadComments();*/
        }