/// <summary>
        /// 转换为RecommendItem用于数据库存储
        /// </summary>
        public RecommendItem AsRecommendItem()
        {
            RecommendItem item = null;

            //创建
            if (Id == 0)
            {
                item             = RecommendItem.New();
                item.DateCreated = DateTime.UtcNow;
            }//编辑
            else
            {
                RecommendService recommendService = new RecommendService();
                item = recommendService.Get(Id);
                //处理删除后再点确定按钮报错情况
                if (item == null)
                {
                    Id               = 0;
                    item             = RecommendItem.New();
                    item.DateCreated = DateTime.UtcNow;
                }
            }
            if (ExpiredDate == null)
            {
                item.ExpiredDate = DateTime.UtcNow.AddYears(100);
            }
            else
            {
                item.ExpiredDate = ExpiredDate.Value;
            }
            if (!string.IsNullOrEmpty(FeaturedImage))
            {
                item.FeaturedImage = FeaturedImage;
            }
            item.UserId       = UserId;
            item.IsLink       = IsLink;
            item.ItemName     = RecommendItemName;
            item.ReferrerId   = UserContext.CurrentUser.UserId;
            item.ReferrerName = UserContext.CurrentUser.DisplayName;
            item.ItemId       = ItemId;
            item.TenantTypeId = TenantTypeId;
            item.TypeId       = TypeId;
            item.LinkAddress  = LinkAddress ?? string.Empty;
            return(item);
        }
Example #2
0
        public ActionResult _RecommendItem(string tenantTypeId, long itemId = 0, string itemName = null, string recommendItemTypeId = null, bool showLink = false, long recommendId = 0, bool showInList = true, long userId = 0)
        {
            RecommendItem recommendItem = null;

            if (recommendId > 0)
            {
                recommendItem = recommendService.Get(recommendId);
                if (recommendItem == null)
                {
                    return(HttpNotFound());
                }
                tenantTypeId                  = recommendItem.TenantTypeId;
                itemId                        = recommendItem.ItemId;
                recommendItemTypeId           = recommendItem.TypeId;
                ViewData["RecommendTypeName"] = recommendItem.RecommendItemType.Name;
                ViewData["RecommendTypeId"]   = recommendItem.TypeId;
            }
            if (!authorizer.RecommendItem_Manage(tenantTypeId))
            {
                return(Redirect(SiteUrls.Instance().SystemMessage(TempData, new SystemMessageViewModel
                {
                    Body = "没有管理推荐内容的权限",
                    Title = "没有权限",
                    StatusMessageType = StatusMessageType.Hint
                })));
            }
            IEnumerable <RecommendItemType> itemTypes      = recommendService.GetRecommendTypes(tenantTypeId);
            IEnumerable <RecommendItem>     recommendItems = recommendService.Gets(itemId, tenantTypeId);

            //已修改
            RecommendItemEditModel itemEditModel = new RecommendItemEditModel();

            ViewData["recommendItems"] = recommendItems;

            //已修改
            ViewData["TypeId"] = new SelectList(itemTypes, "TypeId", "Name", recommendItemTypeId);
            if (recommendId != 0)
            {
                itemEditModel = recommendItem.AsEditModel();
                ViewData["HasFeaturedImage"] = recommendItem.RecommendItemType.HasFeaturedImage;
            }
            else
            {
                if (itemTypes != null && itemTypes.Count() > 0 && string.IsNullOrEmpty(recommendItemTypeId))
                {
                    //已修改
                    recommendItemTypeId = itemTypes.First().TypeId;
                }
                if (!string.IsNullOrEmpty(recommendItemTypeId))
                {
                    recommendItem = recommendService.Get(itemId, recommendItemTypeId);
                    RecommendItemType recommendType = recommendService.GetRecommendType(recommendItemTypeId);
                    ViewData["HasFeaturedImage"]  = recommendType.HasFeaturedImage;
                    ViewData["RecommendTypeName"] = recommendType.Name;
                    ViewData["RecommendTypeId"]   = recommendType.TypeId;
                    if (recommendItem != null && !recommendItem.IsLink)
                    {
                        ViewData["ExpiredDate"] = recommendItem.ExpiredDate;
                        itemEditModel           = recommendItem.AsEditModel();
                    }
                    else
                    {
                        RecommendItem newItem = RecommendItem.New();
                        newItem.ItemName     = itemName;
                        newItem.ItemId       = itemId;
                        newItem.TenantTypeId = tenantTypeId;
                        newItem.ExpiredDate  = DateTime.UtcNow.AddMonths(1);
                        newItem.UserId       = userId;
                        itemEditModel        = newItem.AsEditModel();
                    }
                }

                else
                {
                    StatusMessageData message           = null;
                    TenantTypeService tenantTypeService = new TenantTypeService();
                    TenantType        tenantType        = tenantTypeService.Get(tenantTypeId);

                    if (tenantType == null)
                    {
                        message = new StatusMessageData(StatusMessageType.Hint, "没有推荐类别");
                    }
                    else
                    {
                        message = new StatusMessageData(StatusMessageType.Hint, tenantType.Name + "下没有推荐类别");
                    }
                    ViewData["statusMessageData"] = message;
                }
            }
            ViewData["showLink"]   = showLink || itemEditModel.IsLink;
            ViewData["showInList"] = showInList;
            return(View(itemEditModel));
        }