Example #1
0
        public string NewPost(string blogId, string username, string password, Post post, bool publish)
        {
            Oxite.Model.User user = getUser(username, password);

            Oxite.Model.Area area = areaService.GetArea(new Guid(blogId));

            Oxite.Model.Post newPost = new Oxite.Model.Post
            {
                Title     = post.title,
                Body      = post.description,
                Created   = post.dateCreated == default(DateTime) ? DateTime.Now : post.dateCreated,
                Slug      = string.IsNullOrEmpty(post.mt_basename) ? expressions.Slugify(post.title) : post.mt_basename,
                BodyShort = post.mt_excerpt,
                Creator   = user,
                State     = Oxite.Model.EntityState.Normal
            };

            if (publish)
            {
                newPost.Published = DateTime.Now;
            }

            if (post.categories != null)
            {
                newPost.Tags = new List <Oxite.Model.Tag>(post.categories.Select(s => new Oxite.Model.Tag()
                {
                    Name = s
                }));
            }

            postService.AddPost(area, newPost);

            Oxite.Model.Post createdPost = postService.GetPost(area, newPost.Slug);
            return(createdPost.ID.ToString());
        }
Example #2
0
        private Oxite.Model.User getUser(string username, string password)
        {
            if (username == null || password == null)
            {
                throw new ArgumentException("Invalid login");
            }

            Oxite.Model.User user = userService.GetUser(username, password);

            if (user == null)
            {
                throw new InvalidCredentialException();
            }
            return(user);
        }