コード例 #1
0
        private async void SendRequest(object sender, RoutedEventArgs e)
        {
            SendButton.IsEnabled = false;

            try
            {
                var post = new Post
                {
                    Title = TitleTextBox.Text,
                    ShortDescription = DescriptionTextBox.Text,
                    IsPublished = true,
                    LastUpdateDate = DateTime.Now,
                    Chapters =
                        new List<Chapter>
                        {
                            new Chapter()
                            {
                                Content = Chapter1DescriptionTextBox.Text,
                                Title = Chapter1DescriptionTextBox.Text,
                                OrderNumber = 1
                            },
                            new Chapter()
                            {
                                Content = Chapter2DescriptionTextBox.Text,
                                Title = Chapter2DescriptionTextBox.Text,
                                OrderNumber = 2
                            }
                        },
                    Tags = new List<Tag>(),
                    UserId = "d3e00cd2-a222-4c80-acfd-529126977683"
                };
                foreach (var tag in TagsTextBox.Text.Split(new char[] {',', ' '}))
                {
                    post.Tags.Add(new Tag() {Content = tag});
                }
                var response = await client.PostAsJsonAsync("api/postapi", post);
                response.EnsureSuccessStatusCode();
            }
            catch (HttpRequestException ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                this.Close();
            }
        }
コード例 #2
0
 private int CountVotes(Post post)
 {
     return post.Votes.Sum(vote => vote.Value);
 }
コード例 #3
0
 private bool CheckVote(Post post, String userId)
 {
     return post.UserId != userId && post.Votes.All(vote => vote.UserId != userId);
 }
コード例 #4
0
 private void AddVote(Post post, String userId, int value)
 {
     post.Votes.Add(new Vote { UserId = userId, PostId = post.Id, Value = value });
     UnitOfWork.Save();
 }
コード例 #5
0
 void IPostService.Create(Post post)
 {
     post.CreationDate = DateTime.Now;
     UnitOfWork.PostRepository.Create(post);
     UnitOfWork.Save();
 }
コード例 #6
0
 int IPostService.CountVotes(Post post)
 {
     return post.Votes.Sum(vote => vote.Value);
 }
コード例 #7
0
 void IPostService.Update(Post updPost)
 {
     var post = UnitOfWork.PostRepository.ReadById(updPost.Id);
     post.LastUpdateDate = DateTime.Now;
     post.Title = updPost.Title;
     post.ShortDescription = updPost.ShortDescription;
     post.IsPublished = true;
     for (int i = 0; i < updPost.Chapters.Count; i++)
     {
         var chapter = CheckChapterOnExistance(updPost.Chapters.ToList()[i]);
         if (!post.Chapters.Contains(chapter))
         {
             post.Chapters.Add(chapter);
         }
     }
     for (int i = 0; i < updPost.Tags.Count; i++)
     {
         if (!post.Tags.Contains(updPost.Tags.ToList()[i]))
         {
             post.Tags.Add(updPost.Tags.ToList()[i]);
         }
     }
     for (int i = 0; i < post.Tags.Count; i++)
     {
         if (!updPost.Tags.Contains(post.Tags.ToList()[i]))
         {
             post.Tags.Remove(post.Tags.ToList()[i]);
         }
     }
     UnitOfWork.PostRepository.Update(post);
     UnitOfWork.Save();
 }