/// <summary>
        /// Translate an XML RPC Post in Database Post
        /// </summary>
        /// <param name="db"></param>
        /// <param name="post"></param>
        /// <returns></returns>
        private static Engine.Data.Models.Post TranslatePost(DataService db, PostNew post, Boolean publish)
        {
            // Create a new post
            var result = new Engine.Data.Models.Post
            {
                Title          = post.Title,
                DateCreatedGmt = post.DateCreatedGmt ?? post.DateCreated ?? DateTime.UtcNow,
                Published      = publish
            };

            result.SetContentFromHtml(post.Description);

            // Get categories
            result.Categories = new Collection <Engine.Data.Models.Category>();
            var categories = db.GetCategoriesAndCreatIfNotExists(post.Categories);

            if (categories?.Length > 0)
            {
                // Add categories
                foreach (var category in categories)
                {
                    result.Categories.Add(category);
                }
            }

            return(result);
        }
        /// <summary>
        /// Translate a database Post in Xml RPC Post
        /// </summary>
        /// <param name="post"></param>
        /// <returns></returns>
        private static Post TranslatePost(Engine.Data.Models.Post post)
        {
            String url = DataService.GetPostUrl(post);

            // Return the post
            return(new Post
            {
                Id = post.Id,
                Title = post.Title,
                Description = post.GetFullContentForOpenLiveWriter(),
                DateCreatedGmt = post.DateCreatedGmt,
                Status = post.Published ? Published : Draft,
                UserId = MetaWeblogConfiguration.UserId,
                Categories = post.Categories.Select(c => c.Name).ToArray(),
                Url = url,
                PermaLink = url
            });
        }