Пример #1
0
        public ActionResult EditContentItem(long?contentItemId = null, int?contentTypeId = null)
        {
            pageResourceManager.InsertTitlePart("编辑资讯");
            var metadataService = new MetadataService();
            ContentTypeDefinition contentType = null;
            ContentItem           item        = null;

            if (contentItemId.HasValue && contentItemId.Value > 0)
            {
                item = contentItemService.Get(contentItemId.Value);
                if (item == null)
                {
                    return(HttpNotFound());
                }
                contentType = item.ContentType;
            }
            else
            {
                if (contentTypeId.HasValue && contentTypeId.Value > 0)
                {
                    contentType = metadataService.GetContentType(contentTypeId.Value);
                }
                else
                {
                    contentType = metadataService.GetContentTypes(true).FirstOrDefault();
                }
                if (contentType == null)
                {
                    return(HttpNotFound());
                }
            }
            ContentItemEditModel model = TempData.Get <ContentItemEditModel>("ContentItemEditModel", null);

            if (model == null)
            {
                if (item != null)
                {
                    model = item.AsEditModel();
                }
                else
                {
                    model = new ContentItemEditModel {
                        ContentTypeId = contentType.ContentTypeId, ReleaseDate = DateTime.Now
                    };
                }
            }
            else
            {
                TempData.Remove("ContentItemEditModel");
            }
            ViewData["contentItem"] = item;
            return(View(contentItemId.HasValue ? contentType.Page_Edit : contentType.Page_New, model));
        }
Пример #2
0
        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)));
        }
Пример #3
0
        public ActionResult Contribute(ContentItemEditModel model)
        {
            ContentItem item = model.AsContentItem(Request);
            var         contentItemService = new ContentItemService();

            string errorMessage = string.Empty;

            if (item.ContentItemId > 0)
            {
                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
            {
                if (!authorizer.CMS_Contribute(out errorMessage))
                {
                    return(Redirect(SiteUrls.Instance().SystemMessage(TempData, new SystemMessageViewModel
                    {
                        Body = errorMessage,
                        Title = "没有权限",
                        StatusMessageType = StatusMessageType.Hint
                    }, Request.RawUrl)));
                }
            }
            try
            {
                if (item.ContentItemId > 0)
                {
                    contentItemService.Update(item);
                    TempData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Success, "更新成功");
                    //清除标签
                    tagService.ClearTagsFromItem(item.ContentItemId, item.UserId);
                }
                else
                {
                    if (!authorizer.CMS_ManageContentFolder(item.ContentFolder))
                    {
                        item.IsContributed = true;
                    }
                    item.ReleaseDate = DateTime.UtcNow;
                    contentItemService.Create(item);
                    TempData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Success, "创建成功");
                }
            }
            catch
            {
                TempData["StatusMessageData"]    = new StatusMessageData(StatusMessageType.Error, "创建或者更新失败,请重试");
                TempData["ContentItemEditModel"] = model;
                return(Redirect(SiteUrls.Instance().Contribute(item.ContentItemId)));
            }

            string tags = string.Join(",", model.TagNames);

            if (!string.IsNullOrEmpty(tags))
            {
                tagService.AddTagsToItem(tags, item.UserId, item.ContentItemId);
            }
            return(Redirect(SiteUrls.Instance().ContentItemDetail(item.ContentItemId)));
        }
Пример #4
0
        /// <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));
        }
        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));
        }
 public ActionResult EditContentItem(long? contentItemId = null, int? contentTypeId = null)
 {
     pageResourceManager.InsertTitlePart("编辑资讯");
     var metadataService = new MetadataService();
     ContentTypeDefinition contentType = null;
     ContentItem item = null;
     if (contentItemId.HasValue && contentItemId.Value > 0)
     {
         item = contentItemService.Get(contentItemId.Value);
         if (item == null)
             return HttpNotFound();
         contentType = item.ContentType;
     }
     else
     {
         if (contentTypeId.HasValue && contentTypeId.Value > 0)
             contentType = metadataService.GetContentType(contentTypeId.Value);
         else
             contentType = metadataService.GetContentTypes(true).FirstOrDefault();
         if (contentType == null)
             return HttpNotFound();
     }
     ContentItemEditModel model = TempData.Get<ContentItemEditModel>("ContentItemEditModel", null);
     if (model == null)
     {
         if (item != null)
         {
             model = item.AsEditModel();
         }
         else
         {
             model = new ContentItemEditModel { ContentTypeId = contentType.ContentTypeId, ReleaseDate = DateTime.Now };
         }
     }
     else
     {
         TempData.Remove("ContentItemEditModel");
     }
     ViewData["contentItem"] = item;
     return View(contentItemId.HasValue ? contentType.Page_Edit : contentType.Page_New, model);
 }
Пример #7
0
        public ActionResult Contribute(ContentItemEditModel model)
        {
            ContentItem item = model.AsContentItem(Request);
            var contentItemService = new ContentItemService();

            string errorMessage = string.Empty;
            if (item.ContentItemId > 0)
            {
                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
            {
                if (!authorizer.CMS_Contribute(out errorMessage))
                {
                    return Redirect(SiteUrls.Instance().SystemMessage(TempData, new SystemMessageViewModel
                    {
                        Body = errorMessage,
                        Title = "没有权限",
                        StatusMessageType = StatusMessageType.Hint
                    }, Request.RawUrl));
                }
            }
            try
            {
                if (item.ContentItemId > 0)
                {
                    contentItemService.Update(item);
                    TempData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Success, "更新成功");
                    //清除标签
                    tagService.ClearTagsFromItem(item.ContentItemId, item.UserId);
                }
                else
                {
                    if (!authorizer.CMS_ManageContentFolder(item.ContentFolder))
                        item.IsContributed = true;
                    item.ReleaseDate = DateTime.UtcNow;
                    contentItemService.Create(item);
                    TempData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Success, "创建成功");
                }
            }
            catch
            {
                TempData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Error, "创建或者更新失败,请重试");
                TempData["ContentItemEditModel"] = model;
                return Redirect(SiteUrls.Instance().Contribute(item.ContentItemId));
            }

            string tags = string.Join(",", model.TagNames);
            if (!string.IsNullOrEmpty(tags))
            {
                tagService.AddTagsToItem(tags, item.UserId, item.ContentItemId);
            }
            return Redirect(SiteUrls.Instance().ContentItemDetail(item.ContentItemId));
        }
Пример #8
0
        /// <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);
        }