public void GetBlogPost(Guid blogPostId)
        {
            var BlogPost = _blogDbContext
                           .BlogPosts
                           .Select(b => new BlogPostEntity
            {
                Id        = b.Id,
                Title     = b.Title,
                Body      = b.Body,
                CreatedAt = b.CreatedAt,
                Tags      = b.Tags,
                Comments  = b.Comments
            })
                           .SingleOrDefault(b => b.Id == blogPostId);

            BlogPostId = blogPostId;

            var tagList = new StringBuilder();

            foreach (var tag in BlogPost.Tags)
            {
                tagList.Append(tag.DisplayName + ",");
            }

            PostContent = new EditPostResponse(BlogPost.Title, BlogPost.Body, tagList.ToString());
        }
示例#2
0
        public Task <bool> EditPostAsync(long postId, PublishPostDataModel publishPostDataModel, CancellationTokenSource cancellationTokenSource) =>
        Task <PostDTO> .Run(async() => {
            if (!CrossConnectivity.Current.IsConnected)
            {
                throw new InvalidOperationException(AppConsts.ERROR_INTERNET_CONNECTION);
            }

            EditPostRequest editPostRequest = new EditPostRequest()
            {
                Url         = string.Format(GlobalSettings.Instance.Endpoints.PostEndpoints.EditPostEndPoint, postId),
                AccessToken = GlobalSettings.Instance.UserProfile.AccesToken,
                Data        = publishPostDataModel
            };

            try {
                EditPostResponse editPostResponse = await _requestProvider.PostAsync <EditPostRequest, EditPostResponse>(editPostRequest);

                if (editPostResponse != null)
                {
                    return(true);
                }
            }
            catch (ServiceAuthenticationException exc) {
                _identityUtilService.RefreshToken();

                throw exc;
            }
            catch (Exception exc) {
                Crashes.TrackError(exc);

                Debug.WriteLine($"ERROR:{exc.Message}");
                throw;
            }

            return(false);
        }, cancellationTokenSource.Token);