public ActionResult ManageTags(string keyword, string tenantTypeId, bool?isFeatured, AuditStatus?auditStatus = null, int pageIndex = 1, int pageSize = 20) { pageResourceManager.InsertTitlePart("标签管理"); TagService tagService = new TagService(tenantTypeId); PubliclyAuditStatus?publiclyAuditStatus = null; if (auditStatus != null) { publiclyAuditStatus = (PubliclyAuditStatus?)auditStatus; } TagQuery tagQuery = new TagQuery(); tagQuery.PubliclyAuditStatus = publiclyAuditStatus; tagQuery.Keyword = keyword; tagQuery.TenantTypeId = tenantTypeId; if (isFeatured.HasValue) { tagQuery.IsFeatured = isFeatured.Value; } PagingDataSet <Tag> tags = tagService.GetTags(tagQuery, pageIndex, pageSize); //所属下拉框 List <TenantType> tenantTypesList = tenantTypeService.Gets(MultiTenantServiceKeys.Instance().Tag()).ToList <TenantType>(); tenantTypesList.Insert(0, new TenantType { ApplicationId = 0, Name = "不限", TenantTypeId = "" }); SelectList tenants = new SelectList(tenantTypesList.Select(n => new { text = n.Name, value = n.TenantTypeId }), "value", "text", tenantTypeId); ViewData["tenants"] = tenants; //所属名称 Dictionary <string, string> tenantsDictionary = tenantTypesList.ToDictionary(n => n.TenantTypeId, n => n.Name); ViewData["tenantsDictionary"] = tenantsDictionary; return(View(tags)); }
/// <summary> /// 删除垃圾数据 /// </summary> public void DeleteTrashDatas() { IEnumerable <TenantType> tenantTypes = new TenantTypeService().Gets(MultiTenantServiceKeys.Instance().Recommend()); List <Sql> sqls = new List <Sql>(); foreach (var tenantType in tenantTypes) { Type type = Type.GetType(tenantType.ClassType); if (type == null) { continue; } var pd = TableInfo.FromPoco(type); sqls.Add(Sql.Builder.Append("delete from tn_RecommendItems") .Where("not exists (select 1 from " + pd.TableName + " where ItemId = " + pd.PrimaryKey + ") and TenantTypeId = @0" , tenantType.TenantTypeId)); } CreateDAO().Execute(sqls); }
/// <summary> /// 删除垃圾数据 /// </summary> public void DeleteTrashDatas() { IEnumerable <TenantType> tenantTypes = new TenantTypeService().Gets(MultiTenantServiceKeys.Instance().Comment()); List <Sql> sqls = new List <Sql>(); sqls.Add(Sql.Builder.Append("delete from tn_Comments where not exists (select 1 from tn_Users where UserId = tn_Comments.UserId)")); foreach (var tenantType in tenantTypes) { Type type = Type.GetType(tenantType.ClassType); if (type == null) { continue; } var pd = PetaPoco.Database.PocoData.ForType(type); sqls.Add(Sql.Builder.Append("delete from tn_Comments") .Where("not exists (select 1 from " + pd.TableInfo.TableName + " where CommentedObjectId = " + pd.TableInfo.PrimaryKey + ") and TenantTypeId = @0" , tenantType.TenantTypeId)); } CreateDAO().Execute(sqls); }
public ActionResult _EditTagGroup(long tagGroupId = 0, string tenantTypeId = "") { TagGroupEditModel tagGroupEditModel = null; //添加 if (tagGroupId == 0) { tagGroupEditModel = new TagGroupEditModel(); tagGroupEditModel.TenantTypeId = tenantTypeId; }//编辑 else { TagService tagService = new TagService(string.Empty); tagGroupEditModel = tagService.GetGroup(tagGroupId).AsTagGroupEditModel(); } //所属下拉框 SelectList tenants = GetTenantSelectList(MultiTenantServiceKeys.Instance().Tag(), tagGroupEditModel.TenantTypeId, true); ViewData["tenants"] = tenants; return(View(tagGroupEditModel)); }
public ActionResult EditTag(TagEditModel tagEditModel) { System.IO.Stream stream = null; //是否创建 bool isCreate = tagEditModel.TagId == 0; if (isCreate) { ViewData["editTagTitle"] = "创建标签"; } else { ViewData["editTagTitle"] = "编辑标签"; } TagService tagService = new TagService(tagEditModel.TenantTypeId); //是特色标签 if (tagEditModel.IsFeatured) { HttpPostedFileBase tagLogo = Request.Files["tagLogo"]; string fileName = tagLogo == null ? "" : tagLogo.FileName; if (string.IsNullOrEmpty(fileName) && string.IsNullOrEmpty(tagEditModel.FeaturedImage)) { //所属租户类型下拉框 SelectList tenants = GetTenantSelectList(MultiTenantServiceKeys.Instance().Tag(), tagEditModel.TenantTypeId); ViewData["tenants"] = tenants; //标签分组下拉框 SelectList tagGroups = GetTagGroupSelectList(tagEditModel.GroupId, tagEditModel.TenantTypeId); ViewData["tagGroups"] = tagGroups; //取到用户设置的相关标签 ViewData["seletedTagNames"] = tagEditModel.RelatedTags[1].Split(',').ToList <string>(); ViewData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Error, "图片不能为空"); return(View(tagEditModel)); } else if (!string.IsNullOrEmpty(fileName)) { //校验附件的扩展名 ILogoSettingsManager logoSettingsManager = DIContainer.Resolve <ILogoSettingsManager>(); if (!logoSettingsManager.Get().ValidateFileExtensions(fileName)) { //所属租户类型下拉框 SelectList tenants = GetTenantSelectList(MultiTenantServiceKeys.Instance().Tag(), tagEditModel.TenantTypeId); ViewData["tenants"] = tenants; //标签分组下拉框 SelectList tagGroups = GetTagGroupSelectList(tagEditModel.GroupId, tagEditModel.TenantTypeId); ViewData["tagGroups"] = tagGroups; //取到用户设置的相关标签 ViewData["seletedTagNames"] = tagEditModel.RelatedTags[1].Split(',').ToList <string>(); ViewData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Error, "只允许上传后缀名为 .gif .jpg .jpeg .png 的文件"); return(View(tagEditModel)); } //校验附件的大小 TenantLogoSettings tenantLogoSettings = TenantLogoSettings.GetRegisteredSettings(TenantTypeIds.Instance().Tag()); if (!tenantLogoSettings.ValidateFileLength(tagLogo.ContentLength)) { //所属租户类型下拉框 SelectList tenants = GetTenantSelectList(MultiTenantServiceKeys.Instance().Tag(), tagEditModel.TenantTypeId); ViewData["tenants"] = tenants; //标签分组下拉框 SelectList tagGroups = GetTagGroupSelectList(tagEditModel.GroupId, tagEditModel.TenantTypeId); ViewData["tagGroups"] = tagGroups; //取到用户设置的相关标签 ViewData["seletedTagNames"] = tagEditModel.RelatedTags[1].Split(',').ToList <string>(); ViewData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Error, string.Format("文件大小不允许超过{0}KB", tenantLogoSettings.MaxLogoLength)); return(View(tagEditModel)); } stream = tagLogo.InputStream; tagEditModel.FeaturedImage = fileName; } } //获取相关标签 string relatedTags = tagEditModel.RelatedTags[1]; //创建 if (isCreate) { Tag tag = tagEditModel.AsTag(); tagService.Create(tag, stream); //添加到分组 if (tagEditModel.GroupId > 0) { tagService.BatchAddGroupsToTag(new List <long>() { tagEditModel.GroupId }, tagEditModel.TagName); } //创建相关标签 if (!string.IsNullOrEmpty(relatedTags)) { tagService.AddRelatedTagsToTag(relatedTags, 0, tag.TagId); } }//更新 else { Tag tag = tagEditModel.AsTag(); tagService.Update(tag, stream); //添加到分组 if (tagEditModel.GroupId > 0) { tagService.BatchAddGroupsToTag(new List <long>() { tagEditModel.GroupId }, tagEditModel.TagName); } //创建相关标签 if (!string.IsNullOrEmpty(relatedTags)) { tagService.ClearRelatedTagsFromTag(tagEditModel.TagId); tagService.AddRelatedTagsToTag(relatedTags, 0, tagEditModel.TagId); } } return(RedirectToAction("ManageTags")); }