Example #1
0
        private void ExecuteLoadCommand()
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;

            if (CurrentAlbum == null)
            {
                IsBusy = false;
                return;
            }

            try {
                Posts.Clear();
                CurrentAlbum.Posts.ForEach(p => Posts.Add(p));
                OnPropertyChanged("HasPosts");
                OnPropertyChanged("NoPosts");
            } catch (Exception ex) {
                Debug.WriteLine(ex);
            } finally {
                IsBusy = false;
            }
        }
Example #2
0
 private void CreatePosts()
 {
     Posts.Add(new Post("Програміст", "26719", 10)
     {
         Id     = 1,
         Notice = "Програміст — фахівець, що займається програмуванням, виконує розробку " +
                  "програмного забезпечення (в простіших випадках — окремих програм) для програмованих пристроїв, " +
                  "які, як правило містять один процесор чи більше."
     });
     Posts.Add(new Post("Дизайнер", "98246", 5)
     {
         Id     = 2,
         Notice = "Професія дизайнер на сучасному ринку праці є однією з найбільш затребуваних. " +
                  "Це й не дивно, адже дизайнер займається такою діяльністю," +
                  " яка дозволяє зробити людське життя яскравіше і красивіше"
     });
     Posts.Add(new Post("Тестувальник", "28401", 7)
     {
         Id     = 3,
         Notice = "Тестувальник – це повноцінна робоча одиниця великої або " +
                  "малої команди спеціалістів, які працюють на єдиний результат." +
                  " Саме від тестера найбільше залежить, кінцева якість продукту"
     });
     Posts.Add(new Post("Менеджер", "24321", null)
     {
         Id     = 4,
         Notice = "Менеджер – це людина, що професійно займається " +
                  "управлінською діяльністю, що повсякденно керує функціями" +
                  " фірми з метою збереження її основних пропорцій;"
     });
 }
Example #3
0
        public void AddPost(Post post)
        {
            Posts.Add(post);

            // Adding a new post changes the possible totals that may have been
            // computed before.
            if (XData != null)
            {
                XData.SelfDetails.Gathered     = false;
                XData.SelfDetails.Calculated   = false;
                XData.FamilyDetails.Gathered   = false;
                XData.FamilyDetails.Calculated = false;

                if (!Value.IsNullOrEmpty(XData.FamilyDetails.Total))
                {
                    XData.FamilyDetails.Total = null; // [DM] - decided to replace 'new Value();' with 'null' for performance reasons
                }
                Account ancestor = this;

                while (ancestor.Parent != null)
                {
                    ancestor = ancestor.Parent;
                    if (ancestor.HasXData)
                    {
                        AccountXData xdata = ancestor.XData;
                        xdata.FamilyDetails.Gathered   = false;
                        xdata.FamilyDetails.Calculated = false;
                        xdata.FamilyDetails.Total      = null; // [DM] - decided to replace 'new Value();' with 'null' for performance reasons
                    }
                }
            }
        }
        public void AddOrUpdatePost(PostViewModel postVm)
        {
            if (postVm.Id == 0)
            {
                if (Posts.Count == 0)
                {
                    postVm.Id = 1;
                }
                else
                {
                    postVm.Id = Posts.Max(vm => vm.Id) + 1;
                }
                Posts.Add(postVm);
            }
            else
            {
                PostViewModel originalViewModel = Posts.First(vm => vm.Id == postVm.Id);
                if (originalViewModel != null)
                {
                    originalViewModel.Text      = postVm.Text;
                    originalViewModel.Title     = postVm.Title;
                    originalViewModel.TimeAdded = postVm.TimeAdded;
                }

                RaisePropertyChanged("SortedPosts");
                _postsProvider.StorePosts();
            }
        }
Example #5
0
        public void GetPost()
        {
            var user = new User {
                Account = "jdoe", Name = "john doe"
            };

            var post = new Post
            {
                Id       = 1,
                User     = user,
                Comments = new Collection <Comment>(),
                Content  = "content1"
            };

            Posts.Add(post);

            var result = Repository.Object.GetPost(1);

            Assert.IsNotNull(post);
            Assert.AreEqual(post.Id, result.Id);
            Assert.AreEqual(user.Account, result.Account);
            Assert.AreEqual(user.Name, result.Name);
            Assert.AreEqual(post.Content, result.Content);
            Assert.AreEqual(0, result.CommentsCount);

            DataContext.VerifyGet(x => x.Posts, Times.Once());
        }
 public void AddPost(int ID)
 {
     if (!Posts.Contains(ID))
     {
         Posts.Add(ID);
     }
 }
 public PostServiceBuilder4 WithDeletedPost()
 {
     Posts.Add(new PostFull {
         IsDeleted = true
     });
     return(this);
 }
Example #8
0
        async Task ExecuteLoadPostsCommand()
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;

            try
            {
                Posts.Clear();
                PostRepository postRepository = new PostRepository();
                var            items          = postRepository.GetAll();
                foreach (var item in items)
                {
                    Posts.Add(item);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }
            finally
            {
                IsBusy = false;
            }
        }
Example #9
0
        public void GetMentions()
        {
            var user1 = new User {
                Id = 1, Following = new Collection <User>()
            };
            var post1 = new Post {
                Id = 1, Content = "post1 for @user2", CreatedUtc = DateTime.UtcNow, User = user1, UserId = 1, Comments = new Collection <Comment>()
            };
            var post2 = new Post {
                Id = 2, Content = "post2 for @user2", CreatedUtc = DateTime.UtcNow, User = user1, UserId = 1, Comments = new Collection <Comment>()
            };

            Posts.Add(post1);
            Posts.Add(post2);

            var posts = Repository.Object.GetMentions("user2", 2).ToList();

            Assert.IsNotNull(posts);
            Assert.AreEqual(1, posts.Count);

            var result = posts.First();

            Assert.AreEqual(post1.Id, result.Id);
            Assert.AreEqual(post1.Content, result.Content);
            Assert.AreEqual(post1.CreatedUtc, result.CreatedUtc);
            Assert.AreEqual(user1.Account, result.Account);
            Assert.AreEqual(user1.Name, result.Name);
            Assert.AreEqual(post1.Comments.Count, result.CommentsCount);

            DataContext.VerifyGet(x => x.Posts, Times.Once());
        }
Example #10
0
        public override void Handle(Post post)
        {
            if (Completed)
            {
                return;
            }

            if (LastXact != post.Xact)
            {
                if (LastXact != null)
                {
                    XactsSeen++;
                }
                LastXact = post.Xact;
            }

            if (TailCount == 0 && HeadCount > 0 && XactsSeen >= HeadCount)
            {
                Flush();
                Completed = true;
                return;
            }

            Posts.Add(post);
        }
Example #11
0
        public async Task Load()
        {
            var posts = await http.GetAll();

            Posts.Clear();
            foreach (var p in posts)
            {
                Posts.Add(mapper.from(p));
            }

            var popularPosts = await http.GetPopular();

            PopularPosts.Clear();
            foreach (var p in popularPosts)
            {
                PopularPosts.Add(mapper.from(p));
            }

            var suggestedPosts = await http.GetSuggested();

            SuggestedPosts.Clear();
            foreach (var p in suggestedPosts)
            {
                SuggestedPosts.Add(mapper.from(p));
            }
        }
        /// <summary>
        /// Calls Reddit API to brings first 5 top posts.
        /// </summary>
        /// <returns>The posts async.</returns>
        async void LoadPostsAsync(string pAfter = null, bool enableRefreshSpinner = true, bool firstExecution = false)
        {
            try
            {
                IsRefreshing = enableRefreshSpinner;

                CurrentPostStore = await _postService.GetItemAsync(AppConfig.TopPost, pAfter);

                if (string.IsNullOrEmpty(pAfter))
                {
                    //This mean the user wants to load more posts, this is not a refresh.
                    Posts = new ObservableCollection <Post>();
                }

                foreach (Post eachPost in CurrentPostStore.PostChildren.OfType <Post>())
                {
                    eachPost.UpdateDatesAgoString();
                    Posts.Add(eachPost);
                }

                IsRefreshing = false;
                _after       = CurrentPostStore.After;
            }
            catch (Exception e)
            {
                throw new Exception("Error loading posts", e);
            }
        }
Example #13
0
        private async Task FetchPostsAsync()
        {
            if (IsBusy == true)
            {
                return;
            }


            using (var httpClient = new HttpClient())
            {
                httpClient.BaseAddress = new Uri("https://easypostsapp.azurewebsites.net/");

                var httpResponse = await httpClient.GetAsync($"api/posts/");

                var responseString = await httpResponse.Content.ReadAsStringAsync();

                Console.WriteLine(responseString);
                var postModelsList = JsonConvert.DeserializeObject <List <PostModel> >(responseString);

                Posts.Clear();
                foreach (var postModel in postModelsList)
                {
                    if (string.IsNullOrEmpty(postModel.DateTimeString) == true)
                    {
                        postModel.DateTimeString = DateTime.UtcNow.ToString();
                    }

                    Posts.Add(postModel);
                }

                IsBusy = false;
            }
        }
        public HomePageViewModel(INavigationService navigationService, IPageDialogService dialogService) : base(navigationService)
        {
            _dialogService = dialogService;
            DisplayPostActionSheetCommand = new DelegateCommand(async() =>
            {
                await DisplayPostActionSheet();
            });

            for (int i = 0; i < 5; i++)
            {
                var post = new Post();
                post.PetId  = i;
                post.UserId = (i + 1).ToString();
                if (i % 2 == 0)
                {
                    post.ImageUrl = "https://upload.wikimedia.org/wikipedia/commons/thumb/d/de/Desenka_meadow_2016_G1.jpg/500px-Desenka_meadow_2016_G1.jpg";
                }
                else
                {
                    post.ContentText = "Jose tiene un sapito que se llama lolo wuwuwuwuwuwwuwuwuwuwuwuwuwuwuwuwuwuwwuwu";
                }
                Posts.Add(post);
            }

            //FetchWeather = new DelegateCommand(async () =>
            //{
            //    await RunSafe(GetWeather(city.Name));
            //});
        }
 public Company()
 {
     Id = "Company - " + CounterOfId;
     CounterOfId++;
     Posts.Add("Director");
     Posts.Add("Employer");
 }
Example #16
0
        public async Task UpdatePostsAsync()
        {
            try
            {
                //Update from backend if possible and update database
                var newPosts = await JsonPlaceholderHelper.GetPostsAsync();

                await App.Locator.PostDatabaseHelper.AddOrUpdatePostsAsync(newPosts);
            }
            catch (HttpRequestException e)
            {
                System.Diagnostics.Debug.WriteLine($"HTTP request exception {e.Message}");
            }
            //Always dispay what's in the database
            var databasePosts = await App.Locator.PostDatabaseHelper.getPostsAsync();

            //The following algorithm allows to replace only the items that changed in the observable collection
            for (int i = 0; i < databasePosts.Count; i += 1)
            {
                if (Posts.Count <= i)
                {
                    Posts.Add(databasePosts[i]);
                }
                else if (databasePosts[i].Id != Posts[i].Id)
                {
                    Posts[i] = databasePosts[i];
                }
            }
            //delete remaining items in the Posts collection
            for (int i = databasePosts.Count; i < Posts.Count; i += 1)
            {
                Posts.RemoveAt(i);
            }
        }
 public PostServiceBuilder5 WithPost(string title = null)
 {
     Posts.Add(new PostFull {
         Title = title
     });
     return(this);
 }
Example #18
0
        private async void AddNewPost()
        {
            IsLoading = true;
            if (CrossConnectivity.Current.IsConnected)
            {
                if (SelectedPost != null)
                {
                    SelectedPost.id = 101;
                    var data = await PostServices.AddNewPost(SelectedPost);

                    if (data == null)
                    {
                        //Any 7aga
                    }
                    else
                    {
                        Posts.Add(SelectedPost);
                    }
                    IsOffline = false;
                }
            }
            else
            {
                IsOffline = true;
            }
            IsLoading = false;
        }
Example #19
0
        private async Task GetITIronManPostsAsync(string url)
        {
            var htmlContent = (await GetAsync(url));
            var document    = _parser.Parse(htmlContent);

            //獲取鐵人賽主題
            var article = document.QuerySelector(".qa-list__title--ironman");

            article.RemoveChild(article.QuerySelector("span"));/*移除系列文字*/
            var articleText = article.TextContent.Trim();

            //獲取鐵人賽:發布日期、標題、內容、連結
            var allpost = document.QuerySelectorAll(".profile-list__content");

            foreach (var postInfo in allpost)
            {
                var post = new Post();

                var titleAndLinkDom = postInfo.QuerySelector(".qa-list__title>a");
                post.Title   = titleAndLinkDom.InnerHtml.Trim();
                post.link    = titleAndLinkDom.GetAttribute("href").Trim();
                post.Content = GetPostContentAsync(post.link).Result.Trim();
                post.PubDate = DateTime.Parse(postInfo.QuerySelector(".qa-list__info>.qa-list__info-time").GetAttribute("title").Trim());
                post.Article = articleText;

                Posts.Add(post);
            }
        }
Example #20
0
        public void AddShouldThrowWhenUrlIsEmptyWithInformativeMessage()
        {
            var sut           = new Posts("", new HttpClient());
            var dummyBookmark = new Bookmark();
            var exception     = Record.ExceptionAsync(() => sut.Add(dummyBookmark)).Result;

            Assert.Equal("Bookmark's URL cannot be empty", exception.Message);
        }
Example #21
0
        public Post AddPost(string title, string content, List <User> members)
        {
            Post post = new Post(title, content, members, this);

            Posts.Add(post);

            return(post);
        }
Example #22
0
        public Post AddPost(Post post)
        {
            post.Meeting = this;

            Posts.Add(post);

            return(post);
        }
Example #23
0
 public void AddPosts(IList <MBlogModel.Post> posts)
 {
     foreach (MBlogModel.Post post in posts)
     {
         var pvm = new PostViewModel(post);
         pvm.CommentsEnabled = post.CommentsEnabled && post.Blog.CommentsEnabled;
         Posts.Add(pvm);
     }
 }
Example #24
0
        public void Update()
        {
            Parent.updating_threads.Wait();

            Task.Factory.StartNew(delegate
            {
                string thread_url = EndpointProvider.GetThreadEndpoint(Parent.Name, ID);

                if (thread_url == "")
                {
                    Parent.updating_threads.Release();
                    return;
                }

                string raw = Utilities.Download(thread_url);

                if (raw == "-")
                {
                    Parent.updating_threads.Release();
                    Removal();
                    return;
                }

                JObject root = JObject.Parse(raw);

                JArray posts = root.Value <JArray>("posts");

                JsonSerializer serializer    = new JsonSerializer();
                serializer.NullValueHandling = NullValueHandling.Ignore;

                List <int> current_posts = new List <int>();

                foreach (JObject rawpost in posts)
                {
                    Post post   = serializer.Deserialize <Post>(new JTokenReader(rawpost));
                    post.Parent = this;

                    current_posts.Add(post.ID);

                    if (!Posts.Any(p => p.ID == post.ID))
                    {
                        Posts.Add(post);

                        if (NewPost != null)
                        {
                            NewPost(post);
                        }
                    }
                }

                Func <Post, bool> dead = (p => !current_posts.Contains(p.ID));

                Posts.Where(dead).ToList().ForEach(RemovePost);

                Parent.updating_threads.Release();
            });
        }
Example #25
0
        //reload data to collection
        private async Task ReloadData()
        {
            var posts = await _postStore.GetPicturePostsAsync();

            foreach (PicturePost post in posts)
            {
                Posts.Add(new PicturesViewModel(post));
            }
        }
        public Post MakeAPost(string Title, Group group)
        {
            GroupUser groupUser = new GroupUser(this, group);

            AddGroup(groupUser, group);
            Post post = new Post(Title, this, group);

            Posts.Add(post);
            return(post);
        }
Example #27
0
        public void AdicionarPost(Post post)
        {
            if (Posts == null)
            {
                Posts = new List <Post>();
            }

            Posts.Add(post);
            NotificarAssinantes(post);
        }
Example #28
0
        public async void GetPosts()
        {
            Posts.Clear();
            var posts = await Firestore.Read();

            foreach (var post in posts)
            {
                Posts.Add(post);
            }
        }
Example #29
0
        private async Task InitializePosts()
        {
            // checkout https://developer.github.com/v3/repos/contents/#custom-media-types with strategy to replace it
            var orderedPosts = PostLists.TitleToFile.OrderByDescending(title => title.Key);

            foreach (var(postTitle, fileUrl) in orderedPosts)
            {
                Posts.Add(await LoadPostByTitle(postTitle, fileUrl));
            }
        }
        private static Post NewPost()
        {
            var post = new Post();

            Posts.Add(post);

            post.EnableComments();
            post.Publish();
            return(post);
        }