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; }
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();*/ }