/// <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); }
/// <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); }