示例#1
0
        private Oxite.Models.User getUser(string username, string password)
        {
            if (username == null || password == null)
            {
                throw new ArgumentException("Invalid login");
            }

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

            if (user == null)
            {
                throw new InvalidCredentialException();
            }
            return(user);
        }
示例#2
0
        public string NewPost(string blogId, string username, string password, Post post, bool publish)
        {
            Oxite.Models.User user = getUser(username, password);

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

            Oxite.Models.Post newPost = new Oxite.Models.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.Models.EntityState.Normal
            };

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

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

            postService.AddPost(newPost);

            Oxite.Models.Post createdPost = postService.GetPost(new Oxite.Models.PostAddress(area.Name, newPost.Slug));

            return(createdPost.ID.ToString());
        }