Esempio n. 1
0
        /// <summary>
        /// 更新文章
        /// </summary>
        /// <param name="id"></param>
        /// <param name="title"></param>
        /// <param name="detail"></param>
        /// <param name="sort"></param>
        /// <param name="categoryid"></param>
        /// <param name="parentId"></param>
        /// <param name="tags"></param>
        /// <param name="postTime"></param>
        /// <param name="visitPassword"></param>
        /// <param name="state"></param>
        /// <param name="commentStatus"></param>
        /// <param name="image"></param>
        /// <param name="meta"></param>
        /// <returns></returns>
        public static KeyValuePair<bool, string> UpdateArticle(int id, string title, string detail, int sort,
            int categoryid,
            int parentId, string tags,
            DateTime? postTime, string visitPassword, string state, string commentStatus, string image,
            IDictionary<string, string> meta)
        {
            var r = YunClient.Instance.Execute(new UpdateArchiveRequest
            {
                Id = id,
                Title = title,
                Detail = detail,
                Sort = sort,
                CategoryId = categoryid,
                Tags = tags,
                PostMeta = meta.ConvertMeta(),
                NewImage = FileManage.GetFirstFile(),
                ParentId = parentId,
                PostTime = postTime != null ? ((DateTime) postTime).ToUnix() : 0,
                Password = visitPassword,
                Status = state,
                CommentStatus = commentStatus
            }, Member.Token);

            if (r.IsError || !r.Result) return new KeyValuePair<bool, string>(false, r.ErrMsg);

            //更新本地数据
            var d = YunClient.Instance.Execute(new GetArchiveRequest {Id = id}).Article;
            CacheManage.ArticleCache.Remove(id);
            new Yun.ClientCache.CacheFunc().Update(_cacheName, "Id", ArchiveInSql.ConvertArchiveInSql(d));

            return new KeyValuePair<bool, string>(true, null);
        }
Esempio n. 2
0
        /// <summary>
        /// 添加文章
        /// </summary>
        /// <param name="title">文章标题</param>
        /// <param name="detail">文章详情</param>
        /// <param name="sort">排序</param>
        /// <param name="categoryid">分类ID</param>
        /// <param name="parentId">父ID</param>
        /// <param name="tags">标签</param>
        /// <param name="postTime">发布时间(可为空)</param>
        /// <param name="visitPassword">访问密码</param>
        /// <param name="state">状态</param>
        /// <param name="commentStatus">评论状态</param>
        /// <param name="meta">附加内容</param>
        /// <returns></returns>
        public static KeyValuePair<long, string> AddArticle(string title, string detail, int sort, int categoryid,
            int parentId, string tags,
            DateTime? postTime, string visitPassword, string state, string commentStatus,
            IDictionary<string, string> meta)
        {
            var r = YunClient.Instance.Execute(new AddArchiveRequest
            {
                Title = title,
                Detail = detail,
                Sort = sort,
                CategoryId = categoryid,
                Tags = tags,
                PostMeta = meta.ConvertMeta(),
                Image = FileManage.GetFirstFile(),
                ParentId = parentId,
                PostTime = postTime != null ? ((DateTime) postTime).ToUnix() : 0,
                Password = visitPassword,
                Status = state,
                CommentStatus = commentStatus,
            }, Member.Token);

            if (r.Result <= 0) return new KeyValuePair<long, string>(0, r.ErrMsg);

            //添加本地数据
            var d = YunClient.Instance.Execute(new GetArchiveRequest {Id = (int) r.Result}).Article;

            new Yun.ClientCache.CacheFunc().Insert(_cacheName, "Id", ArchiveInSql.ConvertArchiveInSql(d),
                new[] {"TaxonomyId", "Title", "Sort", "PostDateTime", "Status", "UserId"});

            return new KeyValuePair<long, string>(r.Result, null);
        }