public ActionResult EditContentItem(ContentItemEditModel model) { ContentItem item = model.AsContentItem(Request); try { if (item.ContentItemId > 0) { contentItemService.Update(item); TempData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Success, "更新成功"); //清除标签 tagService.ClearTagsFromItem(item.ContentItemId, item.UserId); } else { item.GlobalStickyDate = ValueUtility.GetSafeSqlDateTime(DateTime.MinValue); item.FolderStickyDate = ValueUtility.GetSafeSqlDateTime(DateTime.MinValue); contentItemService.Create(item); TempData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Success, "创建成功"); } } catch (Exception) { TempData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Error, "创建或者更新失败,请重试"); TempData["ContentItemEditModel"] = model; return(Redirect(SiteUrls.Instance().EditContentItem(item.ContentItemId))); } if (model.TagNames != null) { string tags = string.Join(",", model.TagNames); if (!string.IsNullOrEmpty(tags)) { tagService.AddTagsToItem(tags, item.UserId, item.ContentItemId); } } if (item.ContentType != null && item.ContentType.ContentTypeKey == ContentTypeKeys.Instance().NewsLink()) { return(Redirect(SiteUrls.Instance().FolderDetail(item.ContentFolderId))); } return(Redirect(SiteUrls.Instance().ContentItemDetail(item.ContentItemId))); }
/// <summary> /// 投稿 /// </summary> /// <param name="contentItemId"></param> /// <returns></returns> public ActionResult Contribute(long?contentItemId = null) { pageResourceManager.InsertTitlePart("编辑资讯"); var metadataService = new MetadataService(); ContentTypeDefinition contentType = metadataService.GetContentType(ContentTypeKeys.Instance().News()); if (contentType == null) { return(HttpNotFound()); } if (UserContext.CurrentUser == null) { return(Redirect(SiteUrls.Instance().Login(true))); } ContentItemEditModel model = TempData.Get <ContentItemEditModel>("ContentItemEditModel", null); if (model == null) { ContentItem item = null; string errorMessage = string.Empty; if (contentItemId.HasValue && contentItemId.Value > 0) { item = new ContentItemService().Get(contentItemId.Value); if (item == null) { return(HttpNotFound()); } model = item.AsEditModel(); if (!authorizer.CMS_EditContentItem(item)) { errorMessage = "没有权限编辑资讯:" + item.Title; return(Redirect(SiteUrls.Instance().SystemMessage(TempData, new SystemMessageViewModel { Body = errorMessage, Title = "没有权限", StatusMessageType = StatusMessageType.Hint }, Request.RawUrl))); } } else { model = new ContentItemEditModel { ContentTypeId = contentType.ContentTypeId }; if (!authorizer.CMS_Contribute(out errorMessage)) { return(Redirect(SiteUrls.Instance().SystemMessage(TempData, new SystemMessageViewModel { Body = errorMessage, Title = "没有权限", StatusMessageType = StatusMessageType.Hint }, Request.RawUrl))); } } } else { TempData.Remove("ContentItemEditModel"); } return(View(contentItemId.HasValue ? contentType.Page_Edit : contentType.Page_New, model)); }